Members
getNewId
Retourne un id qui n'existe pas encore dans le dom (mais ne le créé pas)
- Source:
Methods
addCss(file)
Ajoute une css dans le
de la pageDéclaré par init (dès son chargement)
Parameters:
Name | Type | Description |
---|---|---|
file |
string | Chemin du fichier css (mis dans href tel quel) |
- Source:
addElement(parent, tag, attrsopt, contentopt) → {HTMLElement}
Ajoute un élément html de type tag à parent
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
parent |
HTMLElement | ||
tag |
string | ||
attrs |
Object |
<optional> |
Les attributs |
content |
string |
<optional> |
- Source:
Returns:
L'élément ajouté
- Type
- HTMLElement
addElementAfter(element, tag, attrsopt, contentopt) → {HTMLElement}
Ajoute un élément html juste après element
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
element |
HTMLElement | ||
tag |
string | ||
attrs |
Object |
<optional> |
Les attributs |
content |
string |
<optional> |
- Source:
Returns:
L'élément ajouté
- Type
- HTMLElement
addElementBefore(element, tag, attrsopt, contentopt) → {HTMLElement}
Ajoute un élément html juste avant element
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
element |
HTMLElement | ||
tag |
string | ||
attrs |
Object |
<optional> |
Les attributs |
content |
string |
<optional> |
- Source:
Returns:
L'élément ajouté
- Type
- HTMLElement
addElementFirstChild(parent, tag, attrsopt, contentopt) → {HTMLElement}
Ajoute un élément html comme premier enfant de parent
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
parent |
HTMLElement | ||
tag |
string | ||
attrs |
Object |
<optional> |
Les attributs |
content |
string |
<optional> |
- Source:
Returns:
L'élément ajouté
- Type
- HTMLElement
addElementFirstSibling(elementRef, tag, attrsopt, contentopt) → {HTMLElement}
Ajoute un élément html comme frère aîné de elementRef
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
elementRef |
HTMLElement | ||
tag |
string | ||
attrs |
Object |
<optional> |
Les attributs |
content |
string |
<optional> |
- Source:
Returns:
L'élément ajouté
- Type
- HTMLElement
addJs(file)
Ajoute un js à la fin du body et appelle la callback quand il est chargé
Parameters:
Name | Type | Description |
---|---|---|
file |
string | Chemin du fichier jss (mis dans src tel quel) |
- Source:
addSlash(url) → {string}
Retourne l'url (absolue ou relative) avec slash de fin
Parameters:
Name | Type | Description |
---|---|---|
url |
string |
- Source:
Returns:
- Type
- string
addText(elt, text)
Ajoute du texte dans un élément
Déclaré par init (dès son chargement)
Parameters:
Name | Type | Description |
---|---|---|
elt |
HTMLElement | |
text |
string |
- Source:
complete(url, params) → {string}
Ajoute des arguments à une url (avec encodeURIComponent)
Parameters:
Name | Type | Description |
---|---|---|
url |
string | |
params |
object | liste key:value |
- Source:
Returns:
l'url complète
- Type
- string
countSlash(str) → {number}
Retourne le nb de slash dans la string
Parameters:
Name | Type | Description |
---|---|---|
str |
sting |
Throws:
-
Si str n'était pas une string
- Type
- TypeError
Returns:
le nombre de slashes dans str
- Type
- number
empty(element)
Vide un élément html de tous ses enfants
Déclaré par init (dès son chargement)
Parameters:
Name | Type | Description |
---|---|---|
element |
HTMLElement |
- Source:
escapeForHtml(str, allopt) → {void|string|*}
Échappe les caractères spéciaux en les remplaçant par leur équivalent html
Merci à jbo5112 https://stackoverflow.com/a/4835406
cf https://jsperf.com/escape-html-special-chars/11
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
str |
string | ||
all |
boolean |
<optional> |
passer true pour remplacer les 5 caractères "&<>' (sinon ça ne remplace que <), attention dans ce cas ce n'est plus invariant (il ne faut pas rappeler la fct sur une chaîne qui y serait déjà passée) |
Returns:
- Type
- void | string | *
formatDate(format, dateopt) → {string}
Formate une date, en retournant format avec les %x interprétés (si x est connu, laissé tel quel sinon).
Attention, pas la même syntaxe que an-format-date (©arNuméral).
Formats gérés comme la commande unix date
- %% symbole %
- %F YYYY-mm-dd
- %T HH:MM:SS
- %d jour du mois (01 à 31)
- %m n° du mois (01 à 12)
- %Y année sur 4 chiffres
- %y année sur 2 chiffres
- %H heure (00 à 23)/
- %M minutes (00 à 59)
- %S secondes (00 à 59)
- %s timestamp (secondes depuis 01/01/1970/)
Formats ajoutés (o était la seule lettre dispo) - %o millisecondes (000 à 999)
- %O heure avec ms (idem %T.%o ou %H:%M:%S.%o)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
format |
string | ||
date |
Date |
<optional> |
La date à formater (now si non fourni) |
Returns:
- Type
- string
getDomain(url, withoutPortopt) → {Array|Object|*}
Retourne le domaine de l'url absolue passée en argument
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
url |
string | |||
withoutPort |
boolean |
<optional> |
false |
- Source:
Returns:
- Type
- Array | Object | *
getElement(tag, attrsopt, txtContentopt)
Retourne un élément html de type tag (non inséré dans le dom)
Déclaré par init (dès son chargement)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
tag |
string | ||
attrs |
Object |
<optional> |
Les attributs |
txtContent |
string |
<optional> |
- Source:
getParameter(name, noPlusTransformopt) → {*}
Récupère un paramètre de l'url courante
Inspiré de http://stackoverflow.com/a/11582513
Attention, les + sont transformés en espace (RFC 1738), les %20 aussi (RFC 3986),
pour récupérer des + faut qu'ils soient correctement encodés en %2B
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
name |
string | Le nom du paramètre |
|
noPlusTransform |
boolean |
<optional> |
Passer true pour conserver les '+' dans le retour, |
- Source:
Returns:
Sa valeur (ou null s'il n'existait pas)
- Type
- *
getSize() → {Object}
Retourne la taille de la fenêtre
- Source:
Returns:
- Type
- Object
getToken() → {string}
Renvoie un token aléatoire de 22 caractères
Pas aussi random ni unique que l'usage de crypto ou d'un module uuid
mais suffisant dans pas mal de cas (utiliser an-uuid sinon)
Returns:
- Type
- string
hasProp(object, prop) → {boolean}
Retourne true si object est un objet avec la propriété prop
Parameters:
Name | Type | Description |
---|---|---|
object |
||
prop |
Returns:
- Type
- boolean
integerify(tab, deepopt, mustThrowopt) → {Array}
Renvoie une copie de tab où toutes les chaînes représentant des entiers
sont des numbers (récursivement), les autres laissées intactes
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
tab |
Array | Le tableau à analyser |
||
deep |
Boolean |
<optional> |
true | Passer false pour ne pas faire de récursion |
mustThrow |
Boolean |
<optional> |
true | Passer false pour renvoyer un tableau vide si tab n'est pas un array |
- Source:
Returns:
- Type
- Array
integerifyStrict(tab, deepopt, mustThrowopt) → {Array}
Renvoie un tableau filtré ne contenant que des valeurs entières (récursivement),
les falsy qui ne sont pas des strings sont éliminés
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
tab |
Array | Le tableau à analyser |
||
deep |
Boolean |
<optional> |
true | Passer false pour ne pas faire de récursion |
mustThrow |
Boolean |
<optional> |
true | Passer false pour renvoyer un tableau vide si tab n'est pas un array |
- Source:
Returns:
- Type
- Array
isArray(arg) → {boolean}
Parameters:
Name | Type | Description |
---|---|---|
arg |
* |
Returns:
- Type
- boolean
isArrayEmpty(value) → {boolean}
true si value est un array vide (mais false s'il contient un élément false|undefined)
Parameters:
Name | Type | Description |
---|---|---|
value |
Returns:
- Type
- boolean
isArrayNotEmpty(value) → {boolean}
true si value est un array non vide (même s'il contient un seul élément false|undefined|null|'')
Parameters:
Name | Type | Description |
---|---|---|
value |
Returns:
- Type
- boolean
isDate(arg) → {boolean}
Parameters:
Name | Type | Description |
---|---|---|
arg |
Returns:
- Type
- boolean
isError(value) → {boolean}
Thanks to bugsnag-js
Parameters:
Name | Type | Description |
---|---|---|
value |
* |
Returns:
- Type
- boolean
isFunction(arg) → {boolean}
Retourne true si l'argument est une fonction
cf https://github.com/lodash/lodash/blob/4.11.2/lodash.js#L10826
cette implémentation plus simple sur typeof bug dans phandomJs 1.9 qui retourne function pour typeof NodeList
Parameters:
Name | Type | Description |
---|---|---|
arg |
* |
Returns:
- Type
- boolean
isInArray(ar, elt) → {boolean}
Indique si un array contient un élément
Parameters:
Name | Type | Description |
---|---|---|
ar |
Array | Le tableau dans lequel chercher |
elt |
* | L'élément à chercher (type natif, marche pas si c'est un objet littéral) |
Throws:
-
si on lui passe pas un Array en 1er argument
- Type
- Error
Returns:
- Type
- boolean
isInt(arg, isStringAllowedopt) → {boolean}
Retourne true si c'est un entier (utiliser Number.isInteger si c'est dispo)
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
arg |
||||
isStringAllowed |
boolean |
<optional> |
false | Passer true pour accepter les strings comme "42" |
Returns:
- Type
- boolean
isIntPos(arg, strictopt, isStringAllowedopt) → {boolean}
Retourne true pour un entier (number) positif
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
arg |
||||
strict |
boolean |
<optional> |
false | passer true pour que 0 renvoie false |
isStringAllowed |
boolean |
<optional> |
false | Passer true pour accepter les strings comme "42" |
Returns:
- Type
- boolean
isObject(arg) → {boolean}
Retourne true sur un objet (donc aussi une fonction, mais pas null)
Piqué à lodash (https://github.com/lodash/lodash/blob/4.11.2/lodash.js#L10921)
Parameters:
Name | Type | Description |
---|---|---|
arg |
* |
Returns:
- Type
- boolean
isObjectPlain(arg) → {boolean}
Retourne true pour les objets qui n'ont pas d'autre constructeur qu'object (ni null, ni fonction ni regexp ni date ni array…)
Parameters:
Name | Type | Description |
---|---|---|
arg |
* |
Returns:
- Type
- boolean
isRegExp(arg) → {boolean}
Retourne true pour les RegExp
Parameters:
Name | Type | Description |
---|---|---|
arg |
Returns:
- Type
- boolean
isString(arg) → {boolean}
Retourne true si l'argument est une string
Parameters:
Name | Type | Description |
---|---|---|
arg |
* |
Returns:
- Type
- boolean
isUndefined(arg) → {boolean}
Parameters:
Name | Type | Description |
---|---|---|
arg |
Returns:
- Type
- boolean
isUrlAbsolute(arg) → {boolean}
Retourne true si l'argument est une url absolue
Parameters:
Name | Type | Description |
---|---|---|
arg |
* |
Returns:
- Type
- boolean
pad(value, charopt, {number)) → {string}
Complete la valeur avec des caractères initiaux pour atteindre la longueur voulue
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number | string | |||
char |
string |
<optional> |
0| | Le caractère à ajouter au début (par défaut 0 si value est un nombre, espace sinon) |
{number) |
[nb=2] Nb de caractères finaux voulus |
Returns:
padded value
- Type
- string
parse(jsonString) → {Object}
Idem JSON.parse mais renvoie undefined en cas de plantage
Parameters:
Name | Type | Description |
---|---|---|
jsonString |
La string à parser |
Returns:
- Type
- Object
setStyles(elt, styles)
Affecte des styles à un élément html (on peut pas affecter elt.style directement car read only, faut faire du elt.style.foo = bar)
sans planter en cas de pb (on le signale juste en console)
Déclaré par init (dès son chargement)
Parameters:
Name | Type | Description |
---|---|---|
elt |
HTMLElement | |
styles |
string | object |
- Source:
splitAndTrim(str, delimopt) → {*}
split une chaine et fait un trim sur chaque élément
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
str |
||||
delim |
string | RegExp |
<optional> |
/[,;\s]+/ | Délimiteur, par défaut virgule, point virgule ou n'importe quel espace (incluant tab, \n & co) |
Returns:
- Type
- *
stringify(obj, indentopt) → {string}
Idem JSON.stringify mais sans planter, en cas de ref circulaire sur une propriété on renvoie quand même les autres
(avec le message d'erreur de JSON.stringify sur la propriété à pb)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
obj |
|||
indent |
number |
<optional> |
Le nb d'espaces d'indentation |
Returns:
- Type
- string
stringify(tab, deepopt, mustThrowopt) → {Array}
Retourne une copie du tableau où tous les éléments sont passés à String(), récursivement
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
tab |
Array | Le tableau à analyser |
||
deep |
Boolean |
<optional> |
true | Passer false pour ne pas faire de récursion |
mustThrow |
Boolean |
<optional> |
true | Passer false pour renvoyer un tableau vide si tab n'est pas un array |
- Source:
Returns:
- Type
- Array
toAscii(string) → {string}
Retire les accents d'une chaîne
Parameters:
Name | Type | Description |
---|---|---|
string |
string |
Returns:
la même désaccentuée
- Type
- string
toInt(arg) → {number}
Quasi alias de Math.round, cast en entier mais retourne NaN pour tout ce qui
ne ressemble pas à un nombre (chaine vide, boolean, null) là ou round retourne 0 (ou 1 pour true)
Parameters:
Name | Type | Description |
---|---|---|
arg |
Returns:
- Type
- number
trimSlash(url) → {string}
Retourne l'url sans slash de fin
Parameters:
Name | Type | Description |
---|---|---|
url |
string |
- Source:
Returns:
- Type
- string