mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-13 05:44:24 +00:00
réinitialize suggested, avoiding double with selected (wip)
This commit is contained in:
parent
088e522292
commit
9e1c151402
@ -22,9 +22,9 @@ let getDataPromise = getAccompanyingCourse(id)
|
|||||||
errorMsg: []
|
errorMsg: []
|
||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
getSelectedByid: (state) => (id) => {
|
//getSelectedByid: (state) => (id) => {
|
||||||
return state.add_persons.selected.find(item => item.id === id)
|
// return state.add_persons.selected.find(item => item.id === id)
|
||||||
}
|
//}
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
removeParticipation(state, item) {
|
removeParticipation(state, item) {
|
||||||
@ -34,17 +34,14 @@ let getDataPromise = getAccompanyingCourse(id)
|
|||||||
closeParticipation(state, { participation, item }) {
|
closeParticipation(state, { participation, item }) {
|
||||||
console.log('mutation: close item', item.id);
|
console.log('mutation: close item', item.id);
|
||||||
state.accompanying_course.participations.filter(participation => participation !== item);
|
state.accompanying_course.participations.filter(participation => participation !== item);
|
||||||
//console.log('participation', participation);
|
|
||||||
},
|
},
|
||||||
addParticipation(state, { participation, item }) {
|
addParticipation(state, { participation, item }) {
|
||||||
//console.log('### mutation: add participation', participation);
|
//console.log('### mutation: add participation', participation);
|
||||||
state.accompanying_course.participations.push(participation);
|
state.accompanying_course.participations.push(participation);
|
||||||
//console.log('count participations from state', state.accompanying_course.participations.length);
|
//console.log('count participations from state', state.accompanying_course.participations.length);
|
||||||
|
|
||||||
//console.log('avant', state.add_persons.selected);
|
//console.log('avant', state.add_persons.selected);
|
||||||
state.add_persons.selected = state.add_persons.selected.filter(value => value !== item);
|
state.add_persons.selected = state.add_persons.selected.filter(value => value !== item);
|
||||||
//console.log('après', state.add_persons.selected);
|
//console.log('après', state.add_persons.selected);
|
||||||
|
|
||||||
state.add_persons.query = "";
|
state.add_persons.query = "";
|
||||||
state.add_persons.suggested = [];
|
state.add_persons.suggested = [];
|
||||||
},
|
},
|
||||||
@ -53,8 +50,34 @@ let getDataPromise = getAccompanyingCourse(id)
|
|||||||
state.add_persons = Object.assign({}, state.add_persons, query);
|
state.add_persons = Object.assign({}, state.add_persons, query);
|
||||||
},
|
},
|
||||||
loadSuggestions(state, suggested) {
|
loadSuggestions(state, suggested) {
|
||||||
|
|
||||||
|
//state.add_persons.suggested = []; // <== empêche la création du proxy, réinitialiser autrement
|
||||||
|
state.add_persons.suggested.splice(0,
|
||||||
|
state.add_persons.suggested.length
|
||||||
|
);
|
||||||
|
//console.log('suggestions', state.add_persons.suggested);
|
||||||
|
suggested.forEach(function(item) {
|
||||||
|
state.add_persons.suggested.push(item);
|
||||||
|
});
|
||||||
|
//state.add_persons.suggested = suggested;
|
||||||
|
|
||||||
|
console.log('selections', state.add_persons.selected);
|
||||||
|
console.log('suggestions', state.add_persons.suggested);
|
||||||
|
|
||||||
// doublons qd on ré-affiche des suggestions avec certains selected
|
// doublons qd on ré-affiche des suggestions avec certains selected
|
||||||
state.add_persons.suggested = suggested;
|
let intersection = state.add_persons.suggested.filter(
|
||||||
|
item => state.add_persons.selected.indexOf(item) !== -1
|
||||||
|
/*
|
||||||
|
function(item) {
|
||||||
|
let x = state.add_persons.selected.indexOf(item);
|
||||||
|
console.log('indexof', x);
|
||||||
|
return x !== -1
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
);
|
||||||
|
console.log('intersection', intersection);
|
||||||
|
state.add_persons.suggested = state.add_persons.suggested.filter(item => item !== intersection);
|
||||||
|
|
||||||
},
|
},
|
||||||
updateSelected(state, value) {
|
updateSelected(state, value) {
|
||||||
console.log('update selected values', value);
|
console.log('update selected values', value);
|
||||||
@ -72,8 +95,8 @@ let getDataPromise = getAccompanyingCourse(id)
|
|||||||
commit('closeParticipation', { participation, payload });
|
commit('closeParticipation', { participation, payload });
|
||||||
resolve();
|
resolve();
|
||||||
}))
|
}))
|
||||||
.catch((error) => { // si y a une erreur
|
.catch((error) => {
|
||||||
//commit('removeParticipation', payload);
|
console.log('error', error);
|
||||||
state.errorMsg.push(error.message);
|
state.errorMsg.push(error.message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -84,8 +107,7 @@ let getDataPromise = getAccompanyingCourse(id)
|
|||||||
commit('addParticipation', { participation, payload });
|
commit('addParticipation', { participation, payload });
|
||||||
resolve();
|
resolve();
|
||||||
}))
|
}))
|
||||||
.catch((error) => { // si y a une erreur
|
.catch((error) => {
|
||||||
//commit('removeParticipation', payload);
|
|
||||||
state.errorMsg.push(error.message);
|
state.errorMsg.push(error.message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
v-bind:key="item.id">
|
v-bind:key="item.id">
|
||||||
</person-suggestion>
|
</person-suggestion>
|
||||||
<button v-if="query.length >= 3" class="sc-button bt-create ml-5 mt-2" name="createPerson">
|
<button v-if="query.length >= 3" class="sc-button bt-create ml-5 mt-2" name="createPerson">
|
||||||
Ajouter "{{ query }}"
|
{{ $t('action.create') }} "{{ query }}"
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user