Commit Graph

607 Commits (413b6197ef360e35e5303e1bc436a48b4e54fcf0)

Author SHA1 Message Date
Mael 413b6197ef 🐛 On arrête le parsing récursif quand formule d'inversion 2019-07-23 17:03:00 +02:00
Mael 6606bb4f34 Unités des barèmes et composantes 2019-07-23 17:03:00 +02:00
Mael 1adce3e514 ⚙️ On abandonne NegatedVariable
C'est illisible dans l'explication, je n'arrive pas à faire mieux que '≠
oui'
2019-07-23 17:03:00 +02:00
Mael 342605e86b Unités : pourcentage et multiplication 2019-07-23 17:03:00 +02:00
Mael 1ca341a5b5 Implémentation plus générique des unités 2019-07-23 17:03:00 +02:00
Mael 956a8662fe 🔥 Un seul numberFormatter 2019-07-23 17:03:00 +02:00
Mael d2a0904c99 🎨 Déplacement et simplification des résultats des mécanismes 2019-07-23 17:03:00 +02:00
Mael 74310bd06d 🎨 Changement de style des valeurs dans la /doc
L'idée est de les extraire visuellement du reste, et de ne plus utiliser
les parenthèses qui ne sont pas faites pour convoyer ce sens
2019-07-23 17:03:00 +02:00
Maxime Quandalle 3ea46f5d54 Suppression des sous-questions
Fonctionnalité inutilisée
2019-07-16 17:21:54 +02:00
Maxime Quandalle db90552f6a Répare les liens interne dans la documentation
Les liens dans le markdown ne prenaient pas en compte le `basename`
configuré via react-router/history.

Utilisation de `react-markdown` au lieu de `marked` qui s'inter-opère
mieux avec notre UI.
2019-07-16 17:21:54 +02:00
Mael e1c6483481 🐛 Branches de situation multiples dans getRuleFromAnalysis 2019-07-12 14:33:28 +02:00
Mael c21b149fe2 Meilleur affichage des valeurs par défaut 2019-07-12 10:33:02 +02:00
Mael aa0bbf2604 🐛 Affichage des unités dans l'interface 2019-07-12 10:33:02 +02:00
Mael 17b5a4d128 🐛 Problème de visualisation de l'inersion 2019-07-12 10:33:02 +02:00
Mael 02c1cd3a6c 🐛 Corrections de bugs 2019-07-12 10:33:02 +02:00
Mael 7087b309fe Renommage de fichier 2019-07-12 10:33:02 +02:00
Mael 4785155f25 Correction des tests 2019-07-12 10:33:02 +02:00
Mael d95c305c31 Aurevoir valueFormats, validators, .format, valueTypes 2019-07-12 10:33:02 +02:00
Mael 2834fbd053 Réparation et amélioration d'AnswerList
On affiche les prochaines questions. Super intéressant pour pouvoir
sauter directement à une question précise sans se taper toutes les
questions une par une.
2019-07-12 10:33:02 +02:00
Mael ab8c4b9b2c Déplacement de getRuleFromAnalysis dans le moteur 2019-07-12 10:33:02 +02:00
Mael 99993af761 Finalisation de la refacto valeurs 2019-07-12 10:33:02 +02:00
Mael ed4d4a0d7a Mutualisation de <Value>
Remplacement de Montant par Value
Rétablissement des explications simu salarié
Possibilité de définir des objegtifs secondaires qui sont calculés mais
pas affichés par targetSelectuon
2019-07-12 10:33:02 +02:00
Mael 76b60afed7 1er affichage des unités : indemnité km vélo 2019-07-12 10:33:02 +02:00
Mael f234ebc9ac Résolution de la récursion du parse 2019-07-12 10:33:02 +02:00
Mael 9b4a3b9e57 ⚙️ parsedRules passe d'une liste à un object
Comme pendant l'évaluation et son objet cache, parsedRules est construit
au fur et à mesure du parsing sous la forme [dottedName]: parsedRule

Cela nous permet pendant le parsing de faire l'annotation de type et de
faire moins de boulot lors de l'évaluation

Problème :
- (presque fixé) dans l'inversion on produisait des références de variables pour le JSX
=> boucle infinie
- dans chiffre d'affaire, notre implé un peu bizarre fait une référence
de variables a priori circulaire, mais gérée par les variations. Or
pendant le parsing on parcourt évidemment toutes les branches sans les
évaluer. Sachant qu'on implémente ce cache parsedRules surtout pour les
unités, peut on garder la formule ainsi et simplement stocker 'chiffre
d'affaires': 'currently being parsed' pour éviter la boucle infinie ?
2019-07-12 10:33:02 +02:00
Mael 00e920d00f ⚙️ Renommage de treat en parse; reorg
Ce commit n'est pas complet, mais l'idée est lisible
2019-07-12 10:33:02 +02:00
Mael f75f70314a 📝 Implémentation des unités via une nouvelle passe 2019-07-12 10:33:02 +02:00
Mael 6154419250 Changement de programme : tentative d'implé de l'unité dans l'eval
Car quand on parse et qu'on tombe sur une variable, on ne rentre pas
dans cette variable. Elle sera traitée par la suite dans le parseAll.
Ainsi on ne peut pas connaître son unité si elle a une formule

A = B * C
B = D / E

C unité km
D unité €
E unité km

Quand on tombe sur B dans A, B n'est pas encore parsée, et donc on ne
peut pas savoir que B est en € / km.

Il faudrait parser B, ce qui serait trop couteux. On pourrait
implémenter un cache au parsing, implémenter les unités comme des fonctions, ou encore gérer les unités lors de l'éval (ce qui est bête, car on n'a pas besoin des valeurs pour inférer les unités)
2019-07-12 10:33:02 +02:00
Mael a7c6cb25fa Première unité affichée sur la page règle 2019-07-12 10:33:02 +02:00
Mael a75b22d083 Début de l'implémentation des unités 2019-07-12 10:33:02 +02:00
Mael bd13767f1c On évite d'injecter dans la règle enrichie la règle brute
L'objet en mémoire en sera d'autant plus léger, et le contenu des règles
utilisées dans l'application sera moins imprévisible
2019-07-12 10:33:02 +02:00
Mael 761fa8eb14 Réforme de la gestion des valeurs
Première version qui fonctionne...
... sans le composant PaySlip
2019-07-12 10:33:02 +02:00
Johan Girod 8f28fda18a
Merge remote-tracking branch 'origin/master' into économie-collaborative 2019-07-04 15:50:25 +02:00
Johan Girod 85c3651f0c
⚙️ répare un bug dans le moteur pour les dépendance parentes
On ne les prenait pas en compte lorsque l'on utilisait treatVariable
D'où le gros besoin de fusionner une bonne fois pour toute treatVariable et treatRuleRoot
2019-07-01 19:27:45 +02:00
Marc Pasteur ec0d5304d8 Bout de code inutile dans la grammaire 2019-06-17 14:41:49 +02:00
Johan Girod 2b49965940
Merge pull request #530 from betagouv/comparaison-régime-v2
Comparaison régime améliorée
2019-06-12 17:57:33 +02:00
Johan Girod 70205d5ab8
👽 traductions 2019-06-12 13:56:51 +02:00
Mael c2c7eae67a Finitions pour la grammaire v2 2019-06-04 17:52:09 +02:00
Mael bf6455c33c 📝 ⚙️ Documentation de la grammaire 2019-06-04 16:38:10 +02:00
Mael 2e085dd71c Externalisation des fonctions de retraitement de la grammaire 2019-06-04 16:38:10 +02:00
Mael dc08b0fd0f 🐛 Fin de la réfacto 2019-06-04 16:38:10 +02:00
Mael bea8df51bc ⚙️ On rejette des interprétations ambigües de la grammaire 2019-06-04 16:38:10 +02:00
Mael c0b1d6629f ⚙️ Pas d'espace intérieur aux parenthèses; filtres en crochets 2019-06-04 16:38:10 +02:00
Mael 80d3cfd17e Les objets produits par la grammaire sont traités par treatObject
Récursivement
2019-06-04 16:38:09 +02:00
Mael 3b978d061a Réécriture de la grammaire
Elle renvoit un objet qui est une vision prefixe du contenu parsé
2019-06-04 16:38:09 +02:00
Mael 363d2795e8 Code plus prévisible 2019-06-04 16:38:09 +02:00
Mael a7d88e8514 Tentative de déplacement de treatString dans grammar.ne 2019-06-04 16:38:09 +02:00
Mael ced2a37490 ⚙️ Grammaire d'expressions plus complexe
Elle permet des opérations chainées.
On peut maintenant faire formule: 3 + 5 + 6
Ou 3 * (ma variable + 4)
2019-06-04 16:38:09 +02:00
Johan Girod ae05597c7e
Ajout du nombre de trimestre pour la retraite validés 2019-06-03 14:27:23 +02:00
Maxime Quandalle 62d9369ada ⚙️ 🔨 Gestion du plafond frais pro
La déduction forfaitaire de 10% pour les frais professionnels est plafonnée.

https://www.service-public.fr/particuliers/vosdroits/F1989
2019-06-03 12:03:35 +02:00