1
0
Fork 0
mirror of https://github.com/betagouv/mon-entreprise synced 2025-02-09 22:45:01 +00:00
mon-entreprise/source/components/Aide.js
Johan Girod 1d69feafd6 💚 fix flow
Suppression des décorateurs.

Problème :
Les décorateurs que l'on utilisait correspondait à une ancienne
version de la proposal tc39, encore en stage 1 (voir 0). La
proposition a complètement évolué, pour ne plus du tout avoir
la même forme que précédement.

Au lieu de garder la version 'legacy', on choisit de se séparer
des décorateur, étant donné que le nouveau use case n'a plus rien
à voir, et que l'ancienne version peut être gérée de manière
quasi équivalente avec des fonctions et des compose
2018-11-15 11:06:35 +01:00

61 lines
1.5 KiB
JavaScript

import { EXPLAIN_VARIABLE } from 'Actions/actions'
import withColours from 'Components/utils/withColours'
import marked from 'Engine/marked'
import { findRuleByDottedName } from 'Engine/rules'
import { compose } from 'ramda'
import React, { Component } from 'react'
import { connect } from 'react-redux'
import { flatRulesSelector } from 'Selectors/analyseSelectors'
import './Aide.css'
import References from './rule/References'
export default compose(
connect(
state => ({
explained: state.explainedVariable,
flatRules: flatRulesSelector(state)
}),
dispatch => ({
stopExplaining: () => dispatch({ type: EXPLAIN_VARIABLE })
})
),
withColours
)(
class Aide extends Component {
renderExplanationMarkdown(explanation, term) {
return marked(`### ${term} \n\n${explanation}`)
}
render() {
let { flatRules, explained, stopExplaining, colours } = this.props
if (!explained) return <section id="helpWrapper" />
let rule = findRuleByDottedName(flatRules, explained),
text = rule.description,
refs = rule.références
return (
<div id="helpWrapper" className="active">
<section id="help">
<i
className="fa fa-times-circle"
onClick={stopExplaining}
style={{ color: colours.colour }}
/>
<p
dangerouslySetInnerHTML={{
__html: this.renderExplanationMarkdown(text, rule.title)
}}
/>
{refs && (
<div>
<p>Pour en savoir plus: </p>
<References refs={refs} />
</div>
)}
</section>
</div>
)
}
}
)