From ad0c23224dab79d3db510d4e470e31f1eb0623cb Mon Sep 17 00:00:00 2001 From: mama Date: Thu, 12 Oct 2017 21:21:46 +0200 Subject: [PATCH] =?UTF-8?q?:art:=20Tableaux=20de=20somme=20imrbiqu=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rémunération-travail/entités/ok/CDD.yaml | 8 ++++ source/components/rule/Rule.css | 25 +++++++++-- source/engine/mecanisms.js | 41 +++++++++++-------- 3 files changed, 55 insertions(+), 19 deletions(-) diff --git a/règles/rémunération-travail/entités/ok/CDD.yaml b/règles/rémunération-travail/entités/ok/CDD.yaml index 5f7cfad3d..9a643be28 100644 --- a/règles/rémunération-travail/entités/ok/CDD.yaml +++ b/règles/rémunération-travail/entités/ok/CDD.yaml @@ -79,6 +79,14 @@ somme: #TODO à l'avenir, exprimer une somme par requête de type : obligation applicable au CDD - indemnités salarié CDD - cotisations employeur CDD + exemples: + - nom: "yo" + situation: + indemnités salarié CDD: 100 + cotisations employeur CDD: 190 + prime fin de contrat: 60.4 + compensation congés payés: 39.6 + valeur attendue: 290 # Cette variable est le point de départ du simulateur "surcout CDD" :-D - espace: contrat salarié . CDD diff --git a/source/components/rule/Rule.css b/source/components/rule/Rule.css index 418e5542b..9b4bf113b 100644 --- a/source/components/rule/Rule.css +++ b/source/components/rule/Rule.css @@ -128,9 +128,10 @@ /* mécanisme somme */ .somme table { + width: 100%; border-collapse: collapse; } -.somme td.operator { +.somme td.blank { background: white; border: 1px solid white; border-right: 1px solid rgba(51, 51, 80, 0.15); @@ -138,8 +139,10 @@ .somme tr { border: 1px solid rgba(51, 51, 80, 0.15); } +.somme tr:hover { + background: rgba(51, 51, 80, 0.02) +} .somme tr:nth-child(2n) { - background: rgba(51, 51, 80, 0.05); } .somme tr .element { @@ -153,7 +156,9 @@ border: none; } .somme .operator { - padding: 0 .6em; + text-align: center; + width: 1em; + padding: 0 .4em; font-weight: 600; font-size: 120%; color: black; @@ -167,3 +172,17 @@ } #rule-rules .somme table .situationValue span { } + +.somme .nested { + padding: 0; + border: none; +} +.somme .nested tr:first-child { + border-top: none; +} +.somme .noNest { + border-bottom: none; +} +.somme > table { + border-bottom: 1px solid rgba(51, 51, 80, 0.15); +} diff --git a/source/engine/mecanisms.js b/source/engine/mecanisms.js index fab31c66d..c4b5de7df 100644 --- a/source/engine/mecanisms.js +++ b/source/engine/mecanisms.js @@ -315,28 +315,37 @@ export let mecanismSum = (recurse,k,v) => { let evaluate = evaluateArray(R.add,0) + let renderTable = explanation => + + {explanation.map((v, i) => { + let rowFormula = R.path(['explanation', 'formule', 'explanation'], v), + isSomme = rowFormula && rowFormula.name == 'somme' + + return [ + + + + , + ... isSomme ? [ + + ] : []] + })} + +
+
{i != 0 && '+'} + {makeJsx(v)} + + +
+ {renderTable(rowFormula.explanation)}
+ let jsx = (nodeValue, explanation) => ( - - - {explanation.map((v, i) => ( - - {i != 0 && '+'} - - {makeJsx(v)} - - - - - - ))} - - + renderTable(explanation) } /> )