diff --git a/DOCUMENTATION.md b/DOCUMENTATION.md index 57d889b..51d485b 100644 --- a/DOCUMENTATION.md +++ b/DOCUMENTATION.md @@ -4,39 +4,40 @@ - [Constructor][1] - [Parameters][2] - - [each][3] - - [Parameters][4] - - [addClass][5] - - [Parameters][6] - - [removeClass][7] - - [Parameters][8] - - [replaceClass][9] - - [Parameters][10] - - [setAttr][11] - - [Parameters][12] - - [delAttr][13] - - [Parameters][14] - - [setHidden][15] - - [setReadOnly][16] - - [setDisabled][17] - - [delHidden][18] - - [delReadOnly][19] - - [delDisabled][20] - - [toggleHidden][21] - - [toggleReadOnly][22] - - [toggleDisabled][23] - - [on][24] - - [Parameters][25] - - [onClick][26] - - [Parameters][27] - - [found][28] - - [first][29] - - [last][30] -- [gsd][31] - - [Parameters][32] - - [version][33] -- [gsd][34] - - [version][35] + - [Examples][3] + - [each][4] + - [Parameters][5] + - [addClass][6] + - [Parameters][7] + - [removeClass][8] + - [Parameters][9] + - [replaceClass][10] + - [Parameters][11] + - [setAttr][12] + - [Parameters][13] + - [delAttr][14] + - [Parameters][15] + - [setHidden][16] + - [setReadOnly][17] + - [setDisabled][18] + - [delHidden][19] + - [delReadOnly][20] + - [delDisabled][21] + - [toggleHidden][22] + - [toggleReadOnly][23] + - [toggleDisabled][24] + - [on][25] + - [Parameters][26] + - [onClick][27] + - [Parameters][28] + - [found][29] + - [first][30] + - [last][31] +- [gsd][32] + - [Parameters][33] + - [version][34] +- [gsd][35] + - [version][36] ## Constructor @@ -44,8 +45,14 @@ Création du constructeur ### Parameters -- `selector` **[String][36]** Sélecteur utilisé -- `scope` **[HTMLElement][37]** Racine de la recherche +- `selector` **[String][37]** Sélecteur utilisé +- `scope` **[HTMLElement][38]** Racine de la recherche + +### Examples + +```javascript +let element = $_("a.link", "div#main"); +``` ### each @@ -53,7 +60,7 @@ Application d'une fonction sur chacun des éléments #### Parameters -- `callback` **[Function][38]** La fonction de rappel +- `callback` **[Function][39]** La fonction de rappel ### addClass @@ -61,7 +68,7 @@ Ajout d'une classe aux éléments sélectionnés #### Parameters -- `className` **[String][36]** Le nom de la classe à ajouter +- `className` **[String][37]** Le nom de la classe à ajouter Returns **this** Chainage @@ -71,7 +78,7 @@ Ajout d'une classe aux éléments sélectionnés #### Parameters -- `className` **[String][36]** Le nom de la classe à ajouter +- `className` **[String][37]** Le nom de la classe à ajouter Returns **this** Chainage @@ -81,8 +88,8 @@ Remplace une classe par une autre dans les éléments sélectionnés #### Parameters -- `oldClass` **[String][36]** Nom de la classe à remplacer -- `newClass` **[String][36]** Nom de la classe de remplacement +- `oldClass` **[String][37]** Nom de la classe à remplacer +- `newClass` **[String][37]** Nom de la classe de remplacement Returns **this** Chainage @@ -92,8 +99,8 @@ Définit un attribut et sa valeur #### Parameters -- `attr` **[String][36]** Nom de l'attribut -- `value` **[String][36]** Valeur de l'attribut +- `attr` **[String][37]** Nom de l'attribut +- `value` **[String][37]** Valeur de l'attribut Returns **this** Chainage @@ -103,7 +110,7 @@ Supprime un attribut dans les éléments sélectionnés #### Parameters -- `attr` **[String][36]** Nom de l'attribut à supprimer +- `attr` **[String][37]** Nom de l'attribut à supprimer Returns **this** Chainage @@ -167,9 +174,9 @@ Ajout d'un gestionnaire d'événement aux éléments sélectionnés #### Parameters -- `type` **[String][36]** Nom de l'événement -- `callback` **[Function][38]** Gestionnaire de l'événement -- `useCapture` **[Boolean][39]** Propagation de l'événement +- `type` **[String][37]** Nom de l'événement +- `callback` **[Function][39]** Gestionnaire de l'événement +- `useCapture` **[Boolean][40]** Propagation de l'événement ### onClick @@ -177,26 +184,26 @@ Ajout d'un gestionnaire d'événement 'click' pour les éléments sélectionnés #### Parameters -- `callback` **[Function][38]** Gestionnaire de l'événement -- `useCapture` **[Boolean][39]** Propagation de l'événement +- `callback` **[Function][39]** Gestionnaire de l'événement +- `useCapture` **[Boolean][40]** Propagation de l'événement ### found Retourne si un élément a été trouvé -Returns **[Boolean][39]** l'élément du DOM trouvé +Returns **[Boolean][40]** l'élément du DOM trouvé ### first Retourne le premier élément trouvé -Returns **[HTMLElement][37]** l'élément du DOM trouvé +Returns **[HTMLElement][38]** l'élément du DOM trouvé ### last Retourne le dernier élément trouvé -Returns **[HTMLElement][37]** L'élément du DOM trouvé +Returns **[HTMLElement][38]** L'élément du DOM trouvé ## gsd @@ -204,9 +211,9 @@ Instantiation d'un nouveau constructeur ### Parameters -- `selector` **[String][36]** Sélecteur utilisé +- `selector` **[String][37]** Sélecteur utilisé - `root` -- `scope` **[HTMLElement][37]** Racine de la recherche +- `scope` **[HTMLElement][38]** Racine de la recherche ### version @@ -224,76 +231,78 @@ Version de la librairie [2]: #parameters -[3]: #each +[3]: #examples -[4]: #parameters-1 +[4]: #each -[5]: #addclass +[5]: #parameters-1 -[6]: #parameters-2 +[6]: #addclass -[7]: #removeclass +[7]: #parameters-2 -[8]: #parameters-3 +[8]: #removeclass -[9]: #replaceclass +[9]: #parameters-3 -[10]: #parameters-4 +[10]: #replaceclass -[11]: #setattr +[11]: #parameters-4 -[12]: #parameters-5 +[12]: #setattr -[13]: #delattr +[13]: #parameters-5 -[14]: #parameters-6 +[14]: #delattr -[15]: #sethidden +[15]: #parameters-6 -[16]: #setreadonly +[16]: #sethidden -[17]: #setdisabled +[17]: #setreadonly -[18]: #delhidden +[18]: #setdisabled -[19]: #delreadonly +[19]: #delhidden -[20]: #deldisabled +[20]: #delreadonly -[21]: #togglehidden +[21]: #deldisabled -[22]: #togglereadonly +[22]: #togglehidden -[23]: #toggledisabled +[23]: #togglereadonly -[24]: #on +[24]: #toggledisabled -[25]: #parameters-7 +[25]: #on -[26]: #onclick +[26]: #parameters-7 -[27]: #parameters-8 +[27]: #onclick -[28]: #found +[28]: #parameters-8 -[29]: #first +[29]: #found -[30]: #last +[30]: #first -[31]: #gsd +[31]: #last -[32]: #parameters-9 +[32]: #gsd -[33]: #version +[33]: #parameters-9 -[34]: #gsd-1 +[34]: #version -[35]: #version-1 +[35]: #gsd-1 -[36]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String +[36]: #version-1 -[37]: https://developer.mozilla.org/docs/Web/HTML/Element +[37]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String -[38]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function +[38]: https://developer.mozilla.org/docs/Web/HTML/Element -[39]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean +[39]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function + +[40]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean diff --git a/src/gsdom.js b/src/gsdom.js index d2e9746..9500d32 100644 --- a/src/gsdom.js +++ b/src/gsdom.js @@ -2,10 +2,14 @@ window.$_ = (() => { 'use strict'; /** * Création du constructeur + * + * @example + * let element = $_("a.link", "div#main"); + * * @param {String} selector Sélecteur utilisé * @param {HTMLElement} scope Racine de la recherche */ - let Constructor = function(selector, scope) { + let Constructor = function (selector, scope) { if (!selector) { return; } @@ -22,7 +26,7 @@ window.$_ = (() => { * Application d'une fonction sur chacun des éléments * @param {Function} callback La fonction de rappel */ - Constructor.prototype.each = function(callback) { + Constructor.prototype.each = function (callback) { if (!callback || typeof callback !== 'function') { return; } @@ -36,7 +40,7 @@ window.$_ = (() => { * @param {String} className Le nom de la classe à ajouter * @returns {this} Chainage */ - Constructor.prototype.addClass = function(className) { + Constructor.prototype.addClass = function (className) { this.each(item => { item.classList.add(className); }); @@ -47,7 +51,7 @@ window.$_ = (() => { * @param {String} className Le nom de la classe à ajouter * @returns {this} Chainage */ - Constructor.prototype.removeClass = function(className) { + Constructor.prototype.removeClass = function (className) { this.each(item => { item.classList.remove(className); }); @@ -59,7 +63,7 @@ window.$_ = (() => { * @param {String} newClass Nom de la classe de remplacement * @returns {this} Chainage */ - Constructor.prototype.replaceClass = function(oldClass, newClass) { + Constructor.prototype.replaceClass = function (oldClass, newClass) { this.each(item => { item.classList.replace(oldClass, newClass); }); @@ -71,7 +75,7 @@ window.$_ = (() => { * @param {String} value Valeur de l'attribut * @returns {this} Chainage */ - Constructor.prototype.setAttr = function(attr, value) { + Constructor.prototype.setAttr = function (attr, value) { this.each(item => { item.setAttribute(attr, value); }); @@ -82,7 +86,7 @@ window.$_ = (() => { * @param {String} attr Nom de l'attribut à supprimer * @returns {this} Chainage */ - Constructor.prototype.delAttr = function(attr) { + Constructor.prototype.delAttr = function (attr) { this.each(item => { item.removeAttribute(attr); }); @@ -92,7 +96,7 @@ window.$_ = (() => { * Ajoute l'attribut hidden aux éléments sélectionnés * @returns {this} Chainage */ - Constructor.prototype.setHidden = function() { + Constructor.prototype.setHidden = function () { this.setAttr('hidden', ''); return this; }; @@ -100,7 +104,7 @@ window.$_ = (() => { * Ajoute l'attribut readonly aux éléments sélectionnés * @returns {this} Chainage */ - Constructor.prototype.setReadOnly = function() { + Constructor.prototype.setReadOnly = function () { this.setAttr('readonly', ''); return this; }; @@ -108,7 +112,7 @@ window.$_ = (() => { * Ajoute l'attribut disabled aux éléments sélectionnés * @returns {this} Chainage */ - Constructor.prototype.setDisabled = function() { + Constructor.prototype.setDisabled = function () { this.setAttr('disabled', ''); return this; }; @@ -116,7 +120,7 @@ window.$_ = (() => { * Supprime l'attribut hidden aux éléments sélectionnés * @returns {this} Chainage */ - Constructor.prototype.delHidden = function() { + Constructor.prototype.delHidden = function () { this.delAttr('hidden'); return this; }; @@ -124,7 +128,7 @@ window.$_ = (() => { * Supprime l'attribut readonly aux éléments sélectionnés * @returns {this} Chainage */ - Constructor.prototype.delReadOnly = function() { + Constructor.prototype.delReadOnly = function () { this.delAttr('readonly'); return this; }; @@ -132,7 +136,7 @@ window.$_ = (() => { * Supprime l'attribut disabled aux éléments sélectionnés * @returns {this} Chainage */ - Constructor.prototype.delDisabled = function() { + Constructor.prototype.delDisabled = function () { this.delAttr('disabled'); return this; }; @@ -140,7 +144,7 @@ window.$_ = (() => { * switche l'attribut hidden des éléments sélectionnés * @returns {this} Chainage */ - Constructor.prototype.toggleHidden = function() { + Constructor.prototype.toggleHidden = function () { this.each(item => { if (item.hasAttribute('hidden')) { item.removeAttribute('hidden'); @@ -154,7 +158,7 @@ window.$_ = (() => { * switche l'attribut readonly des éléments sélectionnés * @returns {this} Chainage */ - Constructor.prototype.toggleReadOnly = function() { + Constructor.prototype.toggleReadOnly = function () { this.each(item => { if (item.hasAttribute('readonly')) { item.removeAttribute('readonly'); @@ -168,7 +172,7 @@ window.$_ = (() => { * switche l'attribut disabled des éléments sélectionnés * @returns {this} Chainage */ - Constructor.prototype.toggleDisabled = function() { + Constructor.prototype.toggleDisabled = function () { this.each(item => { if (item.hasAttribute('disabled')) { item.removeAttribute('disabled'); @@ -184,7 +188,7 @@ window.$_ = (() => { * @param {Function} callback Gestionnaire de l'événement * @param {Boolean} useCapture Propagation de l'événement */ - Constructor.prototype.on = function(type, callback, useCapture) { + Constructor.prototype.on = function (type, callback, useCapture) { this.each(item => { item.removeEventListener(type, callback, useCapture || false); item.addEventListener(type, (evt, el) => { @@ -198,7 +202,7 @@ window.$_ = (() => { * @param {Function} callback Gestionnaire de l'événement * @param {Boolean} useCapture Propagation de l'événement */ - Constructor.prototype.onClick = function(callback, useCapture) { + Constructor.prototype.onClick = function (callback, useCapture) { this.on('click', callback, useCapture || false); return this; }; @@ -206,21 +210,21 @@ window.$_ = (() => { * Retourne si un élément a été trouvé * @returns {Boolean} l'élément du DOM trouvé */ - Constructor.prototype.found = function() { + Constructor.prototype.found = function () { return this.elems.length > 0; }; /** * Retourne le premier élément trouvé * @returns {HTMLElement} l'élément du DOM trouvé */ - Constructor.prototype.first = function() { + Constructor.prototype.first = function () { return this.found() ? this.elems[0] : false; }; /** * Retourne le dernier élément trouvé * @returns {HTMLElement} L'élément du DOM trouvé */ - Constructor.prototype.last = function() { + Constructor.prototype.last = function () { return this.found() ? this.elems[this.elems.length - 1] : false; }; /**