Commit Graph

40 Commits (b2cee93d58433a191d943f9767c1ab76e562ba21)

Author SHA1 Message Date
Maxime Quandalle d7f140334e 🐎 Accélère l'inversion
La fonction `uniroot` prend 2 paramètres d'amorçage "min" et "max" qui
nous définissions jusqu'alors comme des minimums et maximum absolus
-10^8 et +10^8. Vu que nous sommes obligés de calculer au moins une
première valeur à l'extérieur de `uniroot` notamment pour calculer les
variables manquantes, ce commit permet de ré-utiliser ce calcul dans
l'amorçage d' `uniroot`.

Les gains de performances sont détaillés dans la PR associée.

Par ailleurs supprime l'option "valeurs négatives possibles" rendue
obsolète.

Il y a des légers décalages d'1€ sur une dizaine de snapshots qui liés à
des arrondis à l'euro. On calcule en effet les inversions à 10 centimes
près et on peut donc tomber sur une valeur de xx,54€ là où la vraie
valeur est xx,48€ ce qui donne 1€ de différence avec l'arrondi alors que
la différence initialement calculée est inférieure à 10 centimes.

Par curiosité j'ai rejoué les tests de non-régressions en changeant les
paramètres d'`uniroot` pour avoir une précision au centime près (en
augmentant le nombre max d'itération à 50) et il se trouve que sur la
dizaine de tests différents entre ce commit et la version d'avant une
moitié des arrondis à l'euro étaient faux avant et corrects maintenant
et inversement pour l'autre moitié.
2020-11-23 15:55:17 +01:00
Maxime Quandalle f19b77a3fb 👽 Prose et traductions 2020-11-20 17:21:45 +01:00
Maxime Quandalle cc602e1a48 ⬆ MAJ TypeScript vers 4.1
Plein de nouveautés et notamment la possibilité de "programmer" les
types chaînes littérales qui nous sera utile par exemple pour vérifier
statiquement la validité d'une *expression* publicode dans
`engine.evaluate`.
https://devblogs.microsoft.com/typescript/announcing-typescript-4-1/

⬆ MAJ ESLint-typescript pour la compatibilité
2020-11-20 12:08:21 +01:00
Maxime Quandalle c6bd92d5f9 🐛 Supprime l'obligation de déclarer les parents dans le Publicode Studio
Et lien local local vers le publicode Studio quand on est en développement local
2020-11-12 10:24:35 +01:00
Maxime Quandalle b105933234 🐛 Ajoute les dépendances lors de l'import dans le Studio
Fixes #1157
2020-11-12 10:24:35 +01:00
Johan Girod fcb44fc317 transforme applicable si et non applicable si en mécanisme chainée
Par la même occasion, uniformise l'écriture des mécanismes chainées
2020-11-04 11:59:03 +01:00
Johan Girod 51e69b7220 🐛 corrige #1176 2020-11-03 10:44:44 +01:00
Johan Girod a681df71b5 🔨 prends en compte les retours CARMF 2020-10-26 11:55:40 +01:00
Maxime Quandalle 1ce36b4305 🤩 Affichage des références sur les réponses aux questions 2020-10-21 16:54:37 +02:00
Johan Girod 0e6c81278c 🖋️ maj le texte des règles sur l'impôt 2020-10-12 17:15:21 +02:00
Johan Girod 6502039b0b 🎨 petites amélioration style modale 2020-10-12 17:15:21 +02:00
Johan Girod 941f6fcdeb 🐛 Désactive la logique de règles sans page de documentation, qui souffre de limites actuelles
- On veut pouvoir afficher un lien vers la règle définissant la [ref] lorsqu'on est dans une formule avec une référence virtuelle
- Si on fait référence dans une règle à une notification sans formule (juste applicable) la règle crash

En attendant une réecriture de l'inlining qui permette d'ajouter le contexte à la référence appelée (référence ou définition),
je préfère désactiver cette logique
2020-10-12 17:15:21 +02:00
Johan Girod 5876519d75 🐛 rétabli l'affichage des règles reliées dans la documentation 2020-10-12 17:15:20 +02:00
Johan Girod f74bbc8a31 Ajoute un bouton pour cacher la règle publicodes dans la documentation 2020-10-12 17:15:20 +02:00
Johan Girod 8f5bea211e 🐛 répare la notif et le calcul de la réduction retraite complémentaire CARCDSF 2020-10-12 17:15:20 +02:00
Maxime Quandalle 973f12ab46 ⚙️ Évalue la situation dans l'ordre topologique
Nous utilisions jusqu'à présent le code suivant pour évaluer la situation:

> mapObjIndexed(value => evaluateExpression(value), situation)

c'est à dire une évaluation ligne par ligne. Or si certaines valeurs de
la situation contiennent des références, il faut les évaluer dans le bon
ordre.

Avec cette modification, seul le parsage est fait lorsqu'on appelle
`setSituation` et l'évaluation est faite ultérieurement lorsque c'est
nécessaire avec la même logique que pour les règles.

L'implémentation a pour effet de bord de ne plus supprimer l'utilisation
de true / false dans la situation qui doivent être remplacés par "oui"
et "non".
2020-10-11 16:51:19 +02:00
Johan Girod 9f1fb9f482 🐛 Désactive le remplacement pour la documentation 2020-09-30 18:09:16 +02:00
Maxime Quandalle 4748d33a71 🐛 Corrige l'affichage de certaines pages de doc
Fixes #1132
2020-09-29 12:01:41 +01:00
Maxime Quandalle aa0e42de78 🔥 Supprime la décote et la franchise
Le mécanisme "allègement" proposaient ces deux paramètres ajoutant
beaucoup de complexité pour une seule utilisation dans la base de règle
qui peut être remplacée par une formule littérale.

Closes #1119
2020-09-29 11:16:01 +01:00
Maxime Quandalle 13f051c22e 📚 Ne pas afficher certaines pages de documentation
Fixes #1129
2020-09-22 19:21:58 +01:00
Maxime Quandalle 633275e090 🐛 Corrige l'affichage des références dans la documentation 2020-09-15 16:27:24 +02:00
Maxime Quandalle 862b1dacb9 ⚙️ Convertit le ficher parseReference en Typescript 2020-09-15 11:58:18 +02:00
Johan Girod 26c15baa2b 🐛 répare le comportement de l'autocomplète de commune au click 2020-08-28 17:57:12 +02:00
Johan Girod 8b0f6a4a7e 🤩 Les popups modales s'ouvrent sans géner l'utilisateur désormais
- Les modales sur mobile s'ouvrent en bas pour être facilement fermée
- Les modales sur iframe s'ouvrent au même endroit que sur le site normal (plus de bug de scroll / déplacement intempestif
2020-08-28 17:57:12 +02:00
Johan Girod b907d81e86 🔨 🐛 ajout une règle de non cumul des dispositifs de réduction de cotisations 2020-07-03 19:22:40 +02:00
Maxime Quandalle 6bb8973809 🎨 Affiche différemment les règles non applicables dans une somme 2020-06-08 11:37:23 +02:00
Maxime Quandalle 38c2051232 ⚙️ Sépare les mécanismes dans des fichiers distincts
Refacto qui avait été commencée sans aller au bout.
Sort aussi quelques fonctions `evaluate` des fonctions de parsage
lorsque qu'elle n'utilisent pas les paramètres de `parse`.
2020-06-04 13:57:49 +02:00
Maxime Quandalle 7a2e7cff4d 🔥 Supprime la variable de contexte useDefaultValue 2020-06-04 12:36:58 +02:00
Johan Girod d3fb23b2bb 🐎 charge la coloration syntaxique uniquement si besoin
- enlève la librairie react-syntax-highlighting des dépendances de publicodes
- affiche un fallback avec le code source non coloré pendant le chargement de la librairie
2020-06-03 18:11:33 +02:00
Johan Girod 16d5696378 🎨 améliore la gestion du `line-height` dans l'application 2020-05-28 12:24:49 +02:00
Johan Girod 3e978a6986 rajoute le bouton 'voir source' sur la documentation publicode 2020-05-27 11:45:01 +02:00
Johan Girod 60cae1f5ce 🐛 corrige une erreur dans l'affichage d'unité avec pourcentage 2020-05-26 17:33:26 +02:00
Johan Girod 2351726034 corrige les tests 2020-05-26 16:15:12 +02:00
Johan Girod e4bcb40aa2 ⬆️ bump publicodes to beta.3 2020-05-26 15:01:57 +02:00
Johan Girod 612ea77cfc Ajoute les explications des mécanismes sur la documentation publicodes 2020-05-26 13:20:54 +02:00
Johan Girod 1e43f3d758 🔥 change l'api de formatValue pour une version plus cohérente 2020-05-25 17:06:15 +02:00
Johan Girod c6459f6d3c 🎨 precharge les images du moteur en blob
Ce, afin de ne pas à avoir à gérer les fichiers importés. Ceci étant dit, c'est une solution temporaire. Dans le futur, il faudrait plutôt se baser sur les balise og des sources
2020-05-19 19:31:04 +02:00
Johan Girod aa2525d7df 🎨 Améliore le style des règles
Et abandonne l'import de feuille de style dans le moteur pour lui préférer les styled-components
2020-05-19 16:43:18 +02:00
Johan Girod aad6eee12f Investigue la publication du paquet npm publicode 2020-05-18 16:44:12 +02:00
Johan Girod d91283cde2 🔥 Sépare le moteur dans un packet isolé 2020-05-14 15:25:22 +02:00