Recettes pour Acte.js
Exemples d'utilisation de la librairie Acte.js
by toubia95
HTML
<script src="https://rawgit.com/gtoubiana/acte/master/dist/acte.min.js"></script>
<h1>Exemples d'utilisation de Acte.js</h1>
<div id="display"></div>
Babel + JSX
const display = document.getElementById('display');
// fonctions à rendre publiques (tous les filtres ? tout ce qui peut être utilisé dans les callback functions...)
acte.prefixeZero = (n) => {
const result = n < 10 && n > 0 ? `0${n}` : n;
return result;
};
acte.arabeVersRomain = (arabe) => {
const lookup = {
M: 1000,
CM: 900,
D: 500,
CD: 400,
C: 100,
XC: 90,
L: 50,
XL: 40,
X: 10,
IX: 9,
V: 5,
IV: 4,
I: 1,
};
let tempArabe = Math.abs(arabe);
const sign = arabe < 0 ? '-' : '';
let romain = '';
let i;
for (i in lookup) {
/* istanbul ignore else */
if (lookup.hasOwnProperty(i)) {
while (tempArabe >= lookup[i]) {
romain += i;
tempArabe -= lookup[i];
}
}
}
return sign + romain;
};
acte.nombreOrdinal = (n, prem, exp) => {
const result = n === 1 || n === '1er' || n === '1re' ? `1${prem}` : n +
exp;
return result;
};
/* Exemple 1
* 3 avril 1605 => 03/04/05
*/
const titre1 = 'Exemple 1 : Année sur 2 chiffres';
const date1 = '3 avril 1605';
const resultat1 = new acte.Jour(date1).gregorien('%Jz/%Mz', 0, (res, obj) => {
return `${res}/${acte.prefixeZero(obj.A % 100)}`;
});
display.innerHTML += `<strong>${titre1}</strong><br>${date1} => ${resultat1}<br><br>`;
/* Exemple 2
* 8 décembre 2016 => XXIe siècle
*/
const titre2 = 'Exemple 2 : Siècle';
const date2 = '8 décembre 2016';
const resultat2 = new acte.Jour(date2).gregorien('', 0, (res, obj) => {
return `${acte.nombreOrdinal(acte.arabeVersRomain(parseInt(obj.A/100)+1),"er","e")}`;
});
display.innerHTML += `<strong>${titre2}</strong><br>${date2} => ${resultat2} siècle<br><br>`;
/* Exemple 3
* 28/7/1910 => Vingt-huit juillet de l'an mil neuf cent dix
*/
const titre3 = 'Exemple 3 : Mil plutôt que Mille';
const date3 = '28/7/1910';
const resultat3 = new acte.Jour(date3).gregorien('%Jl %Mlb de l\'an %Avb', 0, (res, obj) => {
return res.replace(/(M|m)(ille)(\s|-|$)/gm,...