Add extra mutations to plan Vuex module.

They're not actually needed though. 🙄
This commit is contained in:
D. Berge
2025-08-06 11:03:11 +02:00
parent 931219850e
commit 0263eab6d1

View File

@@ -1,18 +1,47 @@
function transform (item) { function transform (item) {
item.ts0 = new Date(item.ts0); const newItem = {...item}
item.ts1 = new Date(item.ts1); newItem.ts0 = new Date(newItem.ts0);
return item; newItem.ts1 = new Date(newItem.ts1);
return newItem;
} }
// ATTENTION: This relies on the new planner endpoint // ATTENTION: This relies on the new planner endpoint
// as per issue #281. // as per issue #281.
function setRemarks (state, remarks) {
state.remarks = remarks;
}
function setSequence (state, sequence) {
state.sequences.push(Object.freeze(transform(sequence)));
}
function deleteSequence (state, sequence) {
const seq = transform(sequence)
const idx = state.sequences?.findIndex( s => Object.keys(seq).every( k => JSON.stringify(s[k]) == JSON.stringify(seq[k]) ));
if (idx != -1) {
state.sequences.splice(idx, 1)
}
}
function replaceSequence (state, [oldSequence, newSequence]) {
console.log("replaceSequence", oldSequence, newSequence);
const seq = transform(oldSequence)
const idx = state.sequences?.findIndex( s => Object.keys(seq).every( k => JSON.stringify(s[k]) == JSON.stringify(seq[k]) ));
console.log("idx", idx);
if (idx != -1) {
state.sequences.splice(idx, 1, transform(newSequence))
console.log("spliced in");
}
}
function setPlan (state, plan) { function setPlan (state, plan) {
// We don't need or want the planned sequences array to be reactive // We don't need or want the planned sequences array to be reactive
state.sequences = Object.freeze(plan.sequences.map(transform)); state.sequences = [];
state.remarks = plan.remarks; plan.sequences.forEach( sequence => setSequence(state, sequence) );
setRemarks(state, plan.remarks);
} }
function setPlanLoading (state, abortController = new AbortController()) { function setPlanLoading (state, abortController = new AbortController()) {
@@ -51,6 +80,10 @@ function abortPlanLoading (state) {
} }
export default { export default {
setRemarks,
setSequence,
deleteSequence,
replaceSequence,
setPlan, setPlan,
setPlanLoading, setPlanLoading,
clearPlanLoading, clearPlanLoading,