Initial commit
This commit is contained in:
50
frontend/src/store/modules/dialogs.js
Normal file
50
frontend/src/store/modules/dialogs.js
Normal file
@@ -0,0 +1,50 @@
|
||||
const state = {
|
||||
openDialogs: []
|
||||
};
|
||||
|
||||
const getters = {
|
||||
openDialogs: (state) => state.openDialogs
|
||||
};
|
||||
|
||||
let minimizing = false;
|
||||
const mutations = {
|
||||
addOpenDialog(state, dialog) {
|
||||
if (!state.openDialogs.find((d) => d.dialog.name === dialog.dialog.name)) {
|
||||
state.openDialogs.push(dialog);
|
||||
}
|
||||
},
|
||||
removeOpenDialog(state, dialogName) {
|
||||
state.openDialogs = state.openDialogs.filter((dialog) => dialog.dialog.name !== dialogName);
|
||||
},
|
||||
toggleDialogMinimize(state, dialogName) {
|
||||
if (minimizing) {
|
||||
return;
|
||||
}
|
||||
minimizing = true;
|
||||
const dialog = state.openDialogs.find((dialog) => dialog.dialog.name === dialogName);
|
||||
if (dialog) {
|
||||
dialog.dialog.toggleMinimize();
|
||||
}
|
||||
minimizing = false;
|
||||
}
|
||||
};
|
||||
|
||||
const actions = {
|
||||
addOpenDialog({ commit }, dialog) {
|
||||
commit('addOpenDialog', dialog);
|
||||
},
|
||||
removeOpenDialog({ commit }, dialogName) {
|
||||
commit('removeOpenDialog', dialogName);
|
||||
},
|
||||
toggleDialogMinimize({ commit }, dialogName) {
|
||||
commit('toggleDialogMinimize', dialogName);
|
||||
}
|
||||
};
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
getters,
|
||||
mutations,
|
||||
actions
|
||||
};
|
||||
Reference in New Issue
Block a user