Skip to content
This repository has been archived by the owner on Oct 6, 2020. It is now read-only.

Commit

Permalink
fix: Limitation des saisies
Browse files Browse the repository at this point in the history
La saisie est limitée aux années en dessous de 8000
  • Loading branch information
gtoubiana committed Nov 4, 2016
1 parent e7abd9e commit 58608d5
Show file tree
Hide file tree
Showing 15 changed files with 66 additions and 24 deletions.
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@
"jquery": "^3.1.0",
"bootstrap": ">=3.3.7 <4",
"respond": "^1.4.2",
"html5shiv": "^3.7.3",
"html5shiv": "^3.7.3"
}
}
Binary file modified dist/acte-0.0.17-dist.zip
Binary file not shown.
2 changes: 1 addition & 1 deletion dist/acte.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/acte.min.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ <h2 class="violet">Convertir une date</h2>
</div>
<div class="checkbox">
<label>
<input id="debrider" type="checkbox" value="" placeholder="Débrider"> Débrider la conversion&nbsp;<span data-toggle="popover" data-trigger="hover" data-html="true" title="Pourquoi débrider ?" data-content="Le calendrier grégorien est entré en vigueur après le 15/10/1582.<br>Le calendrier républicain a été utilisé à partir du 22/09/1792 jusqu'en 1805 (et pendant la Commune de Paris de mars à mai 1871).<br>Débrider permet d'obtenir des correspondances en dehors de ces bornes." class="glyphicon glyphicon-question-sign interrogation" aria-hidden="true"></span>
<input id="debrider" type="checkbox" value="" placeholder="Débrider"> Débrider la conversion&nbsp;<span data-toggle="popover" data-trigger="hover" data-html="true" title="Pourquoi débrider ?" data-content="Le calendrier grégorien est entré en vigueur après le 15/10/1582.<br>Le calendrier républicain a été utilisé à partir du 22/09/1792 jusqu'en 1805 (et pendant la Commune de Paris de mars à mai 1871).<br>Débrider permet d'obtenir des correspondances raisonnables en dehors de ces bornes." class="glyphicon glyphicon-question-sign interrogation" aria-hidden="true"></span>
</label>
</div>
</div>
Expand Down
25 changes: 13 additions & 12 deletions src/.todo
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
Todo Démo:
☐ Corriger les résultats gregorien/julien autour de 1582. cf issues. cf tabGregorien
✔ voir semaineJulien() et formatageDeJour() que j'ai déjà modifié @done(2016-11-02 17:03) @project(Todo Démo)
✔ bridé = Jeudi 4 oct jul -> rien greg @done(2016-11-02 17:03) @project(Todo Démo)
✔ bridé = Ven 5 oct jul -> ven 15 oct greg @done(2016-11-02 17:03) @project(Todo Démo)
✔ bridé = dim 14 oct jul -> dim 24 oct greg @done(2016-11-02 17:03) @project(Todo Démo)
✔ bridé = ven 15 oct greg -> ven 5 oct jul @done(2016-11-02 17:03) @project(Todo Démo)
✔ débridé = ven 15 oct greg -> ven 5 oct jul ==> comportement actuel. @done(2016-11-02 17:03) @project(Todo Démo)
☐ Ajouter les tests nécessaires
☐ passer la valeur 8000 de formatageJour en constante (anneeMaximale.js par exemple)
☐ parallax.js ou autre via bower ?
☐ Puis-je utiliser des constantes pour le passage du calendrier julien à gregorien ? voir tabGregorien ligne 42
☐ Minifier/concaténer les css et js (+babel)
☐ linters et prettifiers pour css et html
☐ Supprimer les css inutiles avec gulp
☐ Le code plante avec 24 brumaire an 100000 ou an MMMMMMMMMMM
☐ Ajouter un surligneur syntaxique pour le code dans la damo (highlight-js ?)
☐ Ajouter un surligneur syntaxique pour le code dans la demo (highlight-js ?)
☐ Ajouter un autosuggest (cf issues)
☐ parallax.js via bower ?
☐ Meilleur gestion des erreurs ?
☐ Traduire disqus ?
☐ Utiliser gulp pour renvoyer tout sur les gh-pages
☐ Compatibilité ie8 ?
☐ Nettoyer le projet de ce genre de fichiers inutiles (aka ce fichier .todo)
___________________
Archive:
✔ Le code plante avec 24 brumaire an 100000 ou an MMMMMMMMMMM (même malgré la borne de 8000) @done(2016-11-04 16:43) @project(Todo Démo)
✔ passer la valeur 8000 de formatageJour.js en constante (anneeMax.js par exemple) @done(2016-11-03 09:46) @project(Todo Démo)
✔ Corriger les résultats gregorien/julien autour de 1582. cf issues. cf tabGregorien @done(2016-11-02 17:16) @project(Todo Démo)
✔ voir semaineJulien() et formatageDeJour() que j'ai déjà modifié @done(2016-11-02 17:03) @project(Todo Démo)
✔ bridé = Jeudi 4 oct jul -> rien greg @done(2016-11-02 17:03) @project(Todo Démo)
✔ bridé = Ven 5 oct jul -> ven 15 oct greg @done(2016-11-02 17:03) @project(Todo Démo)
✔ bridé = dim 14 oct jul -> dim 24 oct greg @done(2016-11-02 17:03) @project(Todo Démo)
✔ bridé = ven 15 oct greg -> ven 5 oct jul @done(2016-11-02 17:03) @project(Todo Démo)
✔ débridé = ven 15 oct greg -> ven 5 oct jul ==> comportement actuel. @done(2016-11-02 17:03) @project(Todo Démo)
✔ Ajouter les tests nécessaires @done(2016-11-02 17:16) @project(Todo Démo)
✔ Le code permet de saisir 31 novembre 2016, 31 sept, etc... cf tabGregorien @done(2016-10-27 15:02) @project(Todo Démo)
✔ Créer un template handebars pour le téléchargement sur index.html @done(2016-10-27 14:27) @project(Todo Démo)
✔ Supprimer les résultats de republicain au delà de 10000 comme pour les 2 autres. (voir formatageDeJour.js) @done(2016-10-27 14:10) @project(Todo Démo)
Expand Down
12 changes: 12 additions & 0 deletions src/js/private/constants/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Table des matières

* [anneeMax](#anneeMax) : <code>Nombre</code> ℗
* [anneeTropique](#anneeTropique) : <code>Nombre</code> ℗
* [argNutCoeff](#argNutCoeff) : <code>Tableau</code> ℗
* [argNutMult](#argNutMult) : <code>Tableau</code> ℗
Expand All @@ -28,6 +29,17 @@
* [unitesEnLettres](#unitesEnLettres) : <code>Tableau</code> ℗

* * *
<a name="anneeMax"></a>

## anneeMax : <code>Nombre</code> ℗
Année maximale acceptée pour les calculs grégoriens, juliens
ou républicains.

**Type** : Constante
**Accès** : privé
**Voir** : [Projet sur GitHub](https://github.com/gtoubiana/acte)
**Depuis** : 0.0.17
**Auteur** : Gilles Toubiana
<a name="anneeTropique"></a>

## anneeTropique : <code>Nombre</code> ℗
Expand Down
10 changes: 10 additions & 0 deletions src/js/private/constants/anneeMax.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/**
* Année maximale acceptée pour les calculs grégoriens, juliens
* ou républicains.
* @access private
* @author Gilles Toubiana
* @since 0.0.17
* @see {@link https://github.com/gtoubiana/acte|Projet sur GitHub}
* @constant {Number}
*/
const anneeMax = 8000;
4 changes: 2 additions & 2 deletions src/js/private/functions/formatageDeJour.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ const formatageDeJour = (format, erreur, rappel, df, dt, dd, dobj, pro) => {
const tvg = dt;
let resultat;

// Correspondances uniquement entre les années -8000 et 8000
if (Math.abs(tvg[dd]) < 8000) {
// Correspondances uniquement si inférieur à anneeMax
if (Math.abs(tvg[dd]) < anneeMax) {
resultat = frmt.replace(/%[ADJMNSabcflmoprvz123]+/g,

// jscs:disable
Expand Down
2 changes: 1 addition & 1 deletion src/js/private/functions/tabRepublicain.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ const tabRepublicain = (saisie, limites) => {
saisieRepublicain = saisieValide(saisieRepublicain, regexpRepublicain);

// Lorsque la date est valide [rjmc,rmc,rac]
if (saisieRepublicain[2] && saisieRepublicain[0] < 31 &&
if (saisieRepublicain[2] < anneeMax && saisieRepublicain[0] < 31 &&
absInt(saisieRepublicain[0]) !== 0 && saisieRepublicain[1] < 14 &&
absInt(saisieRepublicain[1]) !== 0) {
tab[4] = republicainVersJj(parseInt(saisieRepublicain[2], 10),
Expand Down
2 changes: 1 addition & 1 deletion src/tmpl/index.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
</div>
<div class="checkbox">
<label>
<input id="debrider" type="checkbox" value="" placeholder="Débrider"> Débrider la conversion&nbsp;<span data-toggle="popover" data-trigger="hover" data-html="true" title="Pourquoi débrider ?" data-content="Le calendrier grégorien est entré en vigueur après le 15/10/1582.<br>Le calendrier républicain a été utilisé à partir du 22/09/1792 jusqu'en 1805 (et pendant la Commune de Paris de mars à mai 1871).<br>Débrider permet d'obtenir des correspondances en dehors de ces bornes." class="glyphicon glyphicon-question-sign interrogation" aria-hidden="true"></span>
<input id="debrider" type="checkbox" value="" placeholder="Débrider"> Débrider la conversion&nbsp;<span data-toggle="popover" data-trigger="hover" data-html="true" title="Pourquoi débrider ?" data-content="Le calendrier grégorien est entré en vigueur après le 15/10/1582.<br>Le calendrier républicain a été utilisé à partir du 22/09/1792 jusqu'en 1805 (et pendant la Commune de Paris de mars à mai 1871).<br>Débrider permet d'obtenir des correspondances raisonnables en dehors de ces bornes." class="glyphicon glyphicon-question-sign interrogation" aria-hidden="true"></span>
</label>
</div>
</div>
Expand Down
2 changes: 2 additions & 0 deletions test/jasmine/acteSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -516,6 +516,7 @@ describe('new acte.Jour().republicain()', function () {
expect(new acte.Jour('an 9').republicain()).toEqual('1er vendémiaire an IX');
expect(new acte.Jour('an X').republicain()).toEqual('1er vendémiaire an X');
expect(new acte.Jour('brumaire an X', false).republicain()).toEqual('1er brumaire an X');
expect(new acte.Jour('1er brumaire an 7999', false).republicain()).toEqual('1er brumaire an MMMMMMMCMXCIX');
});

// Balises
Expand Down Expand Up @@ -603,6 +604,7 @@ describe('new acte.Jour().republicain()', function () {
expect(new acte.Jour('brumaire an 11000').republicain()).toEqual('Pas de correspondances.');
expect(new acte.Jour('brumaire an 11000', false).republicain()).toEqual('Pas de correspondances.');
expect(new acte.Jour('brumaire an -11000', false).republicain()).toEqual('Pas de correspondances.');
expect(new acte.Jour('1er brumaire an 8000', false).republicain()).toEqual('Pas de correspondances.');
});
it('new acte.Jour().republicain(0, \'erreur\') = Message d\'erreur.', function () {
expect(new acte.Jour('').republicain('', 'Message d\'erreur.')).toEqual('Message d\'erreur.');
Expand Down
19 changes: 15 additions & 4 deletions test/jasmine/lib/acte.js
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,17 @@ if (!Array.prototype.reduce) {
[2451900.05952, 365242.74049, -0.06223, -0.00823, 0.00032]
];

/**
* Année maximale acceptée pour les calculs grégoriens, juliens
* ou républicains.
* @access private
* @author Gilles Toubiana
* @since 0.0.17
* @see {@link https://github.com/gtoubiana/acte|Projet sur GitHub}
* @constant {Number}
*/
var anneeMax = 8000;

/**
* Nombre de jours, sur Terre, pour que le Soleil retourne à la même
* position
Expand Down Expand Up @@ -1911,8 +1922,8 @@ if (!Array.prototype.reduce) {
var tvg = dt;
var resultat = void 0;

// Correspondances uniquement entre les années -8000 et 8000
if (Math.abs(tvg[dd]) < 8000) {
// Correspondances uniquement si inférieur à anneeMax
if (Math.abs(tvg[dd]) < anneeMax) {
resultat = frmt.replace(/%[ADJMNSabcflmoprvz123]+/g,

// jscs:disable
Expand Down Expand Up @@ -2457,8 +2468,8 @@ if (!Array.prototype.reduce) {
regexpRepublicain);

// Lorsque la date est valide [rjmc,rmc,rac]
if (saisieRepublicain[2] && saisieRepublicain[0] < 31 && absInt(
saisieRepublicain[0]) !== 0 && saisieRepublicain[1] < 14 &&
if (saisieRepublicain[2] < anneeMax && saisieRepublicain[0] < 31 &&
absInt(saisieRepublicain[0]) !== 0 && saisieRepublicain[1] < 14 &&
absInt(saisieRepublicain[1]) !== 0) {
tab[4] = republicainVersJj(parseInt(saisieRepublicain[2], 10),
parseInt(saisieRepublicain[1], 10), rjmcVersRdc(
Expand Down
2 changes: 2 additions & 0 deletions test/jasmine/lib/acteSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -515,6 +515,7 @@ describe('new acte.Jour().republicain()', function () {
expect(new acte.Jour('an 9').republicain()).toEqual('1er vendémiaire an IX');
expect(new acte.Jour('an X').republicain()).toEqual('1er vendémiaire an X');
expect(new acte.Jour('brumaire an X', false).republicain()).toEqual('1er brumaire an X');
expect(new acte.Jour('1er brumaire an 7999', false).republicain()).toEqual('1er brumaire an MMMMMMMCMXCIX');
});

// Balises
Expand Down Expand Up @@ -602,6 +603,7 @@ describe('new acte.Jour().republicain()', function () {
expect(new acte.Jour('brumaire an 11000').republicain()).toEqual('Pas de correspondances.');
expect(new acte.Jour('brumaire an 11000', false).republicain()).toEqual('Pas de correspondances.');
expect(new acte.Jour('brumaire an -11000', false).republicain()).toEqual('Pas de correspondances.');
expect(new acte.Jour('1er brumaire an 8000', false).republicain()).toEqual('Pas de correspondances.');
});
it('new acte.Jour().republicain(0, \'erreur\') = Message d\'erreur.', function () {
expect(new acte.Jour('').republicain('', 'Message d\'erreur.')).toEqual('Message d\'erreur.');
Expand Down
4 changes: 4 additions & 0 deletions test/spec-JourRepublicain.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ describe('new acte.Jour().republicain()', () => {
.toEqual('1er vendémiaire an X');
expect(new acte.Jour('brumaire an X', false).republicain())
.toEqual('1er brumaire an X');
expect(new acte.Jour('1er brumaire an 7999', false).republicain())
.toEqual('1er brumaire an MMMMMMMCMXCIX');
});

// Balises
Expand Down Expand Up @@ -187,6 +189,8 @@ describe('new acte.Jour().republicain()', () => {
.toEqual('Pas de correspondances.');
expect(new acte.Jour('brumaire an -11000', false).republicain())
.toEqual('Pas de correspondances.');
expect(new acte.Jour('1er brumaire an 8000', false).republicain())
.toEqual('Pas de correspondances.');
});
it(
'new acte.Jour().republicain(0, \'erreur\') = Message d\'erreur.',
Expand Down

0 comments on commit 58608d5

Please sign in to comment.