diff options
| author | Thomas Haddad | 2017-04-27 15:55:33 +0200 |
|---|---|---|
| committer | Thomas Haddad | 2017-04-27 15:56:06 +0200 |
| commit | 45bb5aa08bf914f22f8c2ea549a2217310072556 (patch) | |
| tree | 34dce262aeba67ed8b3cdfe0454bcb9af5cf6aea /app/assets/javascripts | |
| parent | b30e59f75a67a609764b0a8cd63c35ce55cfe584 (diff) | |
| download | chouette-core-45bb5aa08bf914f22f8c2ea549a2217310072556.tar.bz2 | |
Fix Select2 multiple behavior to work as intended
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com>
Diffstat (limited to 'app/assets/javascripts')
5 files changed, 7 insertions, 2 deletions
diff --git a/app/assets/javascripts/es6_browserified/time_tables/components/Metas.js b/app/assets/javascripts/es6_browserified/time_tables/components/Metas.js index 054546a84..792d75520 100644 --- a/app/assets/javascripts/es6_browserified/time_tables/components/Metas.js +++ b/app/assets/javascripts/es6_browserified/time_tables/components/Metas.js @@ -75,6 +75,7 @@ const Metas = ({metas, onUpdateDayTypes, onUpdateComment, onUpdateColor, onSelec <label htmlFor="" className="control-label col-sm-4">Etiquettes</label> <div className="col-sm-8"> <TagsSelect2 + initialTags={metas.initial_tags} tags={metas.tags} onSelect2Tags={(e) => onSelect2Tags(e)} onUnselect2Tags={(e) => onUnselect2Tags(e)} diff --git a/app/assets/javascripts/es6_browserified/time_tables/components/TagsSelect2.js b/app/assets/javascripts/es6_browserified/time_tables/components/TagsSelect2.js index 992a2eac5..f1b999cff 100644 --- a/app/assets/javascripts/es6_browserified/time_tables/components/TagsSelect2.js +++ b/app/assets/javascripts/es6_browserified/time_tables/components/TagsSelect2.js @@ -25,7 +25,7 @@ class TagsSelect2 extends React.Component{ return ( <Select2 value={(this.props.tags.length) ? _.map(this.props.tags, 'id') : undefined} - data={(this.props.tags.length) ? this.mapKeys(this.props.tags) : undefined} + data={(this.props.initialTags.length) ? this.mapKeys(this.props.initialTags) : undefined} onSelect={(e) => this.props.onSelect2Tags(e)} onUnselect={(e) => setTimeout( () => this.props.onUnselect2Tags(e, 150))} multiple={true} @@ -33,7 +33,7 @@ class TagsSelect2 extends React.Component{ options={{ tags:true, createTag: function(params) { - return {name: params.term, text: params.term, id: false} + return {name: params.term, text: params.term, id: params.term} }, allowClear: true, theme: 'bootstrap', diff --git a/app/assets/javascripts/es6_browserified/time_tables/containers/Metas.js b/app/assets/javascripts/es6_browserified/time_tables/containers/Metas.js index 514ed2347..a8639d89f 100644 --- a/app/assets/javascripts/es6_browserified/time_tables/containers/Metas.js +++ b/app/assets/javascripts/es6_browserified/time_tables/containers/Metas.js @@ -20,9 +20,11 @@ const mapDispatchToProps = (dispatch) => { dispatch(actions.updateColor(color)) }, onSelect2Tags: (e) => { + e.preventDefault() dispatch(actions.select2Tags(e.params.data)) }, onUnselect2Tags: (e) => { + e.preventDefault() dispatch(actions.unselect2Tags(e.params.data)) } } diff --git a/app/assets/javascripts/es6_browserified/time_tables/index.js b/app/assets/javascripts/es6_browserified/time_tables/index.js index 174cede5c..3bf5a3b99 100644 --- a/app/assets/javascripts/es6_browserified/time_tables/index.js +++ b/app/assets/javascripts/es6_browserified/time_tables/index.js @@ -28,6 +28,7 @@ var initialState = { comment: '', day_types: [], tags: [], + initial_tags: [], color: '', calendar: {} }, diff --git a/app/assets/javascripts/es6_browserified/time_tables/reducers/metas.js b/app/assets/javascripts/es6_browserified/time_tables/reducers/metas.js index 365026cfa..dd6b484f3 100644 --- a/app/assets/javascripts/es6_browserified/time_tables/reducers/metas.js +++ b/app/assets/javascripts/es6_browserified/time_tables/reducers/metas.js @@ -8,6 +8,7 @@ const metas = (state = {}, action) => { comment: action.json.comment, day_types: actions.strToArrayDayTypes(action.json.day_types), tags: action.json.tags, + initial_tags: action.json.tags, color: action.json.color, calendar: action.json.calendar ? action.json.calendar : {name : 'Aucun'} }) |
