On cache les suggestions quand la période est l'année

pull/386/head
Mael 2018-11-19 16:55:36 +00:00
parent 037d817900
commit 6859ec4b14
8 changed files with 22 additions and 10 deletions

View File

@ -29,7 +29,7 @@ function Controls({
<li
key={test}
className="control"
style={{ background: colours.lightenColour(45) }}>
style={{ background: colours.lighterColour }}>
{emoji(level == 'avertissement' ? '⚠️' : '')}
<div className="controlText">
{message && createMarkdownDiv(message)}

View File

@ -124,6 +124,7 @@ export default compose(
onFirstClick={value =>
this.props.setFormValue(target.dottedName, '' + value)
}
rulePeriod={target.période}
colouredBackground={true}
/>
)}

View File

@ -65,6 +65,7 @@ export default compose(
suggestions={this.props.suggestions}
onFirstClick={value => this.props.setFormValue('' + value)}
onSecondClick={() => this.props.submit('suggestion')}
rulePeriod={this.props.rulePeriod}
/>
{inputError && <span className="step-input-error">{error}</span>}
</span>

View File

@ -3,10 +3,15 @@ import { compose, toPairs } from 'ramda'
import React, { Component } from 'react'
import { withI18n } from 'react-i18next'
import './InputSuggestions.css'
import { connect } from 'react-redux'
import { formValueSelector } from 'redux-form'
export default compose(
withColours,
withI18n()
withI18n(),
connect(state => ({
period: formValueSelector('conversation')(state, 'période')
}))
)(
class InputSuggestions extends Component {
state = { suggestion: null }
@ -17,10 +22,14 @@ export default compose(
onFirstClick,
colouredBackground,
colours,
t
t,
rulePeriod,
period
} = this.props
if (!suggestions) return null
//TODO all suggestions are defined for a monthly simulation
if (rulePeriod === 'flexible' && period !== 'mois') return null
return (
<div className="inputSuggestions">
suggestions:

View File

@ -151,7 +151,8 @@ export let getInputComponent = rules => dottedName => {
{...{
...commonProps,
valueType: formValueTypes[rule.format],
suggestions: rule.suggestions
suggestions: rule.suggestions,
rulePeriod: rule.période
}}
/>
)

View File

@ -106,7 +106,7 @@ export let decodeRuleName = name =>
name.replace(/--/g, ' . ').replace(/-/g, ' ')
/* Les variables peuvent être exprimées dans la formule d'une règle relativement à son propre espace de nom, pour une plus grande lisibilité. Cette fonction résoud cette ambiguité.
*/
*/
export let disambiguateRuleReference = (
allRules,
{ ns, name },

View File

@ -2131,7 +2131,7 @@
alors: en alsace moselle
- sinon: en france
contrôles:
- si: forfait complémentaire santé [mois] < 15
- si: forfait complémentaire santé [mensuel] < 15
niveau: avertissement
message: Vérifiez bien qu'une complémentaire santé si peu chère couvre le panier de soin minimal défini dans la loi.

View File

@ -63,16 +63,16 @@ describe('rule checks', function() {
)
expect(rulesNeedingDefault).to.be.empty
})
it('rules with a period should have defaults with a period', function() {
it('rules with a period should not have a flexible period', function() {
let problems = rules.filter(
({ defaultValue, dottedName, période }) => période && defaultValue
({ defaultValue, période }) => période === 'flexible' && defaultValue
)
problems.map(({ dottedName }) =>
console.log(
'La valeur par défaut de ',
'La valeur règle ',
dottedName,
' devrait avoir une période'
" a une période flexible et une valeur par défaut. C'est un problème, car on ne sait pas pour quelle période ce défaut est défini. "
)
)
expect(problems).to.be.empty