🐛 les indicateurs d'objectifs sont de retours

Un bug mettait des 'undefined' partout dans les missingVariables
pull/2/head
mama 2017-05-10 09:45:30 +02:00
parent f4e00d0bd2
commit 7da720763e
2 changed files with 20 additions and 9 deletions

View File

@ -6,7 +6,7 @@ import R from 'ramda'
import './Results.css'
import {capitalise0} from '../utils'
import {computeRuleValue} from '../engine/traverse'
import {encodeRuleName} from '../engine/rules'
import {encodeRuleName, getObjectives} from '../engine/rules'
let fmt = new Intl.NumberFormat('fr-FR').format
let humanFigure = decimalDigits => value => fmt(value.toFixed(decimalDigits))
@ -20,12 +20,8 @@ let humanFigure = decimalDigits => value => fmt(value.toFixed(decimalDigits))
export default class Results extends Component {
render() {
let {analysedSituation, pointedOutObjectives, conversationStarted} = this.props,
// On travaille pour l'instant sur un objectif qui est une somme de plusieurs variables, et c'est ces variables que nous affichons comme résultats. D'où ce chemin :
formuleType = R.path(['formule', 'explanation', 'name'])(analysedSituation),
explanation =
formuleType == 'somme' ? R.pluck('explanation', R.path(['formule', 'explanation', 'explanation'])(analysedSituation))
: formuleType ? [analysedSituation]
: null
explanation = getObjectives(analysedSituation)
if (!explanation) return null

View File

@ -124,11 +124,26 @@ let collectNodeMissingVariables = (root, source=root, results=[]) => {
return results
}
// On peut travailler sur une somme, les objectifs sont alors les variables de cette somme.
// Ou sur une variable unique ayant une formule, elle est elle-même le seul objectif
export let getObjectives = analysedSituation => {
let formuleType = R.path(["formule", "explanation", "name"])(
analysedSituation
)
return formuleType == "somme"
? R.pluck(
"explanation",
R.path(["formule", "explanation", "explanation"])(analysedSituation)
)
: formuleType ? [analysedSituation] : null
}
export let collectMissingVariables = (groupMethod='groupByMissingVariable') => analysedSituation =>
R.pipe(
R.unless(R.is(Array), R.of),
R.chain( v => console.log('v', v) ||
getObjectives,
R.chain( v =>
R.pipe(
collectNodeMissingVariables,
R.flatten,