Global

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 page

Dé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
Source:
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)

Source:
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)

Source:
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,
sinon ils seront transformés en espace (un + devrait être encodé %2B)

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)

Source:
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
Source:
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
(sinon throw une Error si c'est le cas)

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
(sinon throw une Error si c'est le cas)

Source:
Returns:
Type
Array

isArray(arg) → {boolean}

Parameters:
Name Type Description
arg *
Source:
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
Source:
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
Source:
Returns:
Type
boolean

isDate(arg) → {boolean}

Parameters:
Name Type Description
arg
Source:
Returns:
Type
boolean

isError(value) → {boolean}

Thanks to bugsnag-js

Parameters:
Name Type Description
value *
Source:
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 *
Source:
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)

Source:
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"

Source:
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"

Source:
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 *
Source:
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 *
Source:
Returns:
Type
boolean

isRegExp(arg) → {boolean}

Retourne true pour les RegExp

Parameters:
Name Type Description
arg
Source:
Returns:
Type
boolean

isString(arg) → {boolean}

Retourne true si l'argument est une string

Parameters:
Name Type Description
arg *
Source:
Returns:
Type
boolean

isUndefined(arg) → {boolean}

Parameters:
Name Type Description
arg
Source:
Returns:
Type
boolean

isUrlAbsolute(arg) → {boolean}

Retourne true si l'argument est une url absolue

Parameters:
Name Type Description
arg *
Source:
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

Source:
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

Source:
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)

Source:
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

Source:
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
(sinon throw une Error si c'est le cas)

Source:
Returns:
Type
Array

toAscii(string) → {string}

Retire les accents d'une chaîne

Parameters:
Name Type Description
string string
Source:
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
Source:
Returns:
Type
number

trimSlash(url) → {string}

Retourne l'url sans slash de fin

Parameters:
Name Type Description
url string
Source:
Returns:
Type
string