1er affichage des unités : indemnité km vélo
parent
f234ebc9ac
commit
76b60afed7
|
@ -35,7 +35,7 @@ export default ({ nodeValue, unit }) => {
|
|||
{(formats[valueType !== 'number' ? valueType : unitText] ||
|
||||
numberFormatter('decimal'))(nodeValue)}
|
||||
|
||||
{unit && unitText}
|
||||
{unit && unitText !== '€' && unitText}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ export default compose(
|
|||
namespaceRules = findRuleByNamespace(flatRules, dottedName)
|
||||
|
||||
let displayedRule = analysedExample || analysedRule
|
||||
console.log(displayedRule)
|
||||
console.log('dr', displayedRule)
|
||||
return (
|
||||
<>
|
||||
{this.state.viewSource ? (
|
||||
|
|
|
@ -74,7 +74,6 @@ export default (cache, situationGate, parsedRules, node) => {
|
|||
...node,
|
||||
...evaluatedAttributes,
|
||||
...{ formule: evaluatedFormula },
|
||||
unit: evaluatedFormula?.explanation?.unit,
|
||||
nodeValue,
|
||||
isApplicable,
|
||||
missingVariables,
|
||||
|
|
|
@ -745,7 +745,8 @@ export let mecanismMin = (recurse, k, v) => {
|
|||
explanation,
|
||||
type: 'numeric',
|
||||
category: 'mecanism',
|
||||
name: 'le minimum de'
|
||||
name: 'le minimum de',
|
||||
unit: explanation[0].unit
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -51,6 +51,7 @@ import {
|
|||
parseReference,
|
||||
parseReferenceTransforms
|
||||
} from './parseReference'
|
||||
import { inferUnit } from 'Engine/units'
|
||||
|
||||
export let parse = (rules, rule, parsedRules) => rawNode => {
|
||||
let onNodeType = cond([
|
||||
|
@ -201,6 +202,12 @@ let mecanismOperation = (k, operatorFunction, symbol) => (recurse, k, v) => {
|
|||
|
||||
let explanation = v.explanation.map(recurse)
|
||||
|
||||
let unit = inferUnit(
|
||||
k,
|
||||
explanation[0].unit || undefined,
|
||||
explanation[1].unit || undefined
|
||||
)
|
||||
|
||||
let jsx = (nodeValue, explanation) => (
|
||||
<Node
|
||||
classes={'inlineExpression ' + k}
|
||||
|
@ -223,6 +230,7 @@ let mecanismOperation = (k, operatorFunction, symbol) => (recurse, k, v) => {
|
|||
jsx,
|
||||
operator: symbol || k,
|
||||
// is this useful ? text: rawNode,
|
||||
explanation
|
||||
explanation,
|
||||
unit
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// Reference to a variable
|
||||
import React from 'react'
|
||||
import { Trans } from 'react-i18next'
|
||||
import { evaluateNode, makeJsx, rewriteNode } from './evaluation'
|
||||
|
@ -18,8 +19,8 @@ export let parseReference = (rules, rule, parsedRules, filter) => ({
|
|||
|
||||
let parsedRule =
|
||||
parsedRules[dottedName] ||
|
||||
(console.log('uncached : from `', rule.dottedName, '` to `', dottedName) ||
|
||||
parseRule(rules, findRuleByDottedName(rules, dottedName), parsedRules))
|
||||
parseRule(rules, findRuleByDottedName(rules, dottedName), parsedRules)
|
||||
|
||||
let evaluate = (cache, situation, parsedRules, node) => {
|
||||
let dottedName = node.dottedName,
|
||||
// On va vérifier dans le cache courant, dict, si la variable n'a pas été déjà évaluée
|
||||
|
@ -98,7 +99,8 @@ export let parseReference = (rules, rule, parsedRules, filter) => ({
|
|||
name: partialReference,
|
||||
category: 'variable',
|
||||
fragments,
|
||||
dottedName
|
||||
dottedName,
|
||||
unit: parsedRule.unit
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -8,6 +8,8 @@ import { evaluateNode, makeJsx, rewriteNode } from './evaluation'
|
|||
import { parse } from 'Engine/parse'
|
||||
|
||||
export default (rules, rule, parsedRules) => {
|
||||
if (rule.dottedName.includes('distance journalière'))
|
||||
console.log('trr', rule, parsedRules)
|
||||
if (parsedRules[rule.dottedName]) return parsedRules[rule.dottedName]
|
||||
|
||||
parsedRules[rule.dottedName] = 'being parsed'
|
||||
|
@ -116,7 +118,8 @@ export default (rules, rule, parsedRules) => {
|
|||
// Pas de propriété explanation et jsx ici car on est parti du (mauvais) principe que 'non applicable si' et 'formule' sont particuliers, alors qu'ils pourraient être rangé avec les autres mécanismes
|
||||
...parsedRoot,
|
||||
evaluate,
|
||||
parsed: true
|
||||
parsed: true,
|
||||
unit: rule.unit || parsedRoot.formule?.explanation?.unit
|
||||
}
|
||||
return parsedRules[rule.dottedName]
|
||||
}
|
||||
|
|
|
@ -82,7 +82,6 @@ export let analyseMany = (parsedRules, targetNames) => situationGate => {
|
|||
// TODO: we should really make use of namespaces at this level, in particular
|
||||
// setRule in Rule.js needs to get smarter and pass dottedName
|
||||
let cache = { parseLevel: 0 }
|
||||
console.log('orang', parsedRules)
|
||||
|
||||
let parsedTargets = targetNames.map(t => {
|
||||
let parsedTarget = findRule(parsedRules, t)
|
||||
|
|
|
@ -4,6 +4,17 @@
|
|||
- mois
|
||||
- année
|
||||
|
||||
- nom: contrat salarié
|
||||
icônes: 📄
|
||||
question: Activité salariée ?
|
||||
par défaut: oui
|
||||
description: |
|
||||
Le contrat qui lie une entreprise (via son établissement) à un individu, qui est alors son salarié.
|
||||
|
||||
Le contrat n'est en fait pas nécessaire dans le droit français, il est possible d'employer quelqu'un sans contrat par exemple dans les cas suivants:
|
||||
- Particuliers employeurs : Plus de 8 heures par semaine ou de plus de 4 semaines consécutives dans l'année.
|
||||
- CDI : La signature d’un contrat de travail n’est pas obligatoire dans certains cas. C’est le cas du Contrat de travail à Durée Indéterminée, considéré comme la forme normale et générale de la relation de travail entre un salarié et un employeur (Art. L1221-2 du Code du travail).
|
||||
|
||||
- espace: contrat salarié . indemnité kilométrique vélo
|
||||
nom: yoyo
|
||||
formule: distance annuelle * indemnité kilométrique
|
||||
|
@ -22,7 +33,7 @@
|
|||
formule:
|
||||
le minimum de:
|
||||
- distance annuelle * indemnité kilométrique
|
||||
- 200
|
||||
- plafond d'exonération
|
||||
références:
|
||||
fiche URSSAF: https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-elements-a-prendre-en-compte/les-frais-professionnels/les-frais-de-transport/trajet-domicilelieu-de-travail/prise-en-charge-facultative-des/indemnites-kilometriques-velo.html
|
||||
fiche service-public: https://www.service-public.fr/professionnels-entreprises/vosdroits/F33808
|
||||
|
@ -32,6 +43,12 @@
|
|||
active: oui
|
||||
valeur attendue: 200
|
||||
|
||||
|
||||
- espace: contrat salarié . indemnité kilométrique vélo
|
||||
nom: plafond d'exonération
|
||||
unité: €
|
||||
formule: 200
|
||||
|
||||
- espace: contrat salarié . indemnité kilométrique vélo
|
||||
nom: indemnité kilométrique
|
||||
unité: €/km
|
||||
|
@ -675,17 +692,6 @@
|
|||
compensation pour congés non pris: 39.6
|
||||
valeur attendue: 290
|
||||
|
||||
- nom: contrat salarié
|
||||
icônes: 📄
|
||||
question: Activité salariée ?
|
||||
par défaut: oui
|
||||
description: |
|
||||
Le contrat qui lie une entreprise (via son établissement) à un individu, qui est alors son salarié.
|
||||
|
||||
Le contrat n'est en fait pas nécessaire dans le droit français, il est possible d'employer quelqu'un sans contrat par exemple dans les cas suivants:
|
||||
- Particuliers employeurs : Plus de 8 heures par semaine ou de plus de 4 semaines consécutives dans l'année.
|
||||
- CDI : La signature d’un contrat de travail n’est pas obligatoire dans certains cas. C’est le cas du Contrat de travail à Durée Indéterminée, considéré comme la forme normale et générale de la relation de travail entre un salarié et un employeur (Art. L1221-2 du Code du travail).
|
||||
|
||||
- espace: contrat salarié
|
||||
nom: assimilé salarié
|
||||
description: |
|
||||
|
|
Loading…
Reference in New Issue