UNPKG

focus-components-v3

Version:

Focus web components to build applications (based on Material Design)

86 lines (77 loc) 3.74 kB
const {Select: SelectInput} = FocusComponents.components.input; const valuesExample = [ {code: 'A', label: 'aaaa'}, {code: 'B', label: 'bbbbb'}, {code: 'C', label: 'ccccc'}, {code: 'D', label: 'DDDD'} ]; const valuesCustomExample = [ {id: 'custom', name: 'aaaaCustom'}, {id: 'BCustom', name: 'bbbbbCustom'}, {id: 'CCustom', name: 'cccccCustom'} ]; const valuesInt = [ {code: 1, label: 'aInt'}, {code: 2, label: 'bInt'}, {code: 3, label: 'cInt'} ]; function _capitalize(string) { return string && (string.charAt(0).toUpperCase() + string.slice(1)); } const SelectSample = React.createClass({ onChangeSelect(name){ return (value)=>{ console.log('change', name, value); this.setState({[name]: value, [`error${_capitalize(name)}`]: null}); }; }, getInitialState(){ return { valueHasUndefined: 'B', valueNonRequis: 'B', valueRequis: 'B', valueWithoutValue: null, valueCodeRedefined: null, valueIntValues: 1, valueListDesactive: 1, valueError: '1111', errorValueError: 'Erreur sur le champ select' }; }, /** * Render the component. * @return {object} React node */ render() { const {valueHasUndefined, valueNonRequis, valueRequis, valueWithoutValue, valueCodeRedefined, valueIntValues, valueListDesactive, valueError,errorValueError} = this.state; return ( <div> <h3>Liste simple avec valeur préselectionnée</h3> <p> <span>hasUndefined forcé</span> <SelectInput hasUndefined={false} name='valueHasUndefined' onChange={this.onChangeSelect('valueHasUndefined')} values={valuesExample} value={valueHasUndefined}/> </p> <p> <span>Non requis</span> <SelectInput isRequired={false} name='valueNonRequis' onChange={this.onChangeSelect('valueNonRequis')} value={valueNonRequis} values={valuesExample}/> </p> <p> <span>Requis</span> <SelectInput name='valueRequis' onChange={this.onChangeSelect('valueRequis')} isRequired={true} value={valueRequis} values={valuesExample}/> </p> <h3>Liste simple sans valeur préselectionnée</h3> <SelectInput name='valueWithoutValue' onChange={this.onChangeSelect('valueWithoutValue')} value={valueWithoutValue} values={valuesExample} /> <h3>Liste simple avec redéfinition des code /value</h3> <SelectInput name='valueCodeRedefined' labelKey='name' onChange={this.onChangeSelect('valueCodeRedefined')} valueKey='id' value={valueCodeRedefined} values={valuesCustomExample} /> <h3>Select avec une erreur</h3> <h3>Liste simple avec redéfinition des code /value</h3> <SelectInput error={errorValueError} name='valueError' onChange={this.onChangeSelect('valueError')} value={valueError} values={valuesExample} /> <h3>Liste simple avec valeurs entières</h3> <SelectInput name='valueIntValues' onChange={this.onChangeSelect('valueIntValues')} value={valueIntValues} values={valuesInt} /> <h3>Liste désactivée</h3> <SelectInput disabled={true} name='valueListDesactive' onChange={this.onChangeSelect('valueListDesactive')} value={valueListDesactive} values={valuesInt} /> </div> ); } }); module.exports = SelectSample;