2021-03-21 11:51:58 +00:00
|
|
|
import * as i18n from "@/i18n";
|
|
|
|
import moment from "moment";
|
2018-02-01 12:17:04 +00:00
|
|
|
|
|
|
|
const mutations = {
|
2021-03-21 11:51:58 +00:00
|
|
|
closeHovers: (state) => {
|
2024-02-10 00:13:02 +00:00
|
|
|
state.prompts = [];
|
2018-02-01 12:17:04 +00:00
|
|
|
},
|
2019-01-05 16:12:09 +00:00
|
|
|
toggleShell: (state) => {
|
2021-03-21 11:51:58 +00:00
|
|
|
state.showShell = !state.showShell;
|
2019-01-05 16:12:09 +00:00
|
|
|
},
|
2018-02-01 12:17:04 +00:00
|
|
|
showHover: (state, value) => {
|
2021-03-21 11:51:58 +00:00
|
|
|
if (typeof value !== "object") {
|
2024-02-10 00:13:02 +00:00
|
|
|
state.prompts.push({
|
|
|
|
prompt: value,
|
|
|
|
confirm: null,
|
|
|
|
action: null,
|
|
|
|
props: null,
|
|
|
|
});
|
2021-03-21 11:51:58 +00:00
|
|
|
return;
|
2018-02-01 12:17:04 +00:00
|
|
|
}
|
|
|
|
|
2024-02-10 00:13:02 +00:00
|
|
|
state.prompts.push({
|
|
|
|
prompt: value.prompt, // Should not be null
|
|
|
|
confirm: value?.confirm,
|
|
|
|
action: value?.action,
|
|
|
|
props: value?.props,
|
|
|
|
});
|
2018-02-01 12:17:04 +00:00
|
|
|
},
|
2021-03-03 17:46:37 +00:00
|
|
|
showError: (state) => {
|
2024-02-10 00:13:02 +00:00
|
|
|
state.prompts.push("error");
|
2018-02-01 12:17:04 +00:00
|
|
|
},
|
2021-03-03 17:46:37 +00:00
|
|
|
showSuccess: (state) => {
|
2024-02-10 00:13:02 +00:00
|
|
|
state.prompts.push("success");
|
2021-03-21 11:51:58 +00:00
|
|
|
},
|
|
|
|
setLoading: (state, value) => {
|
|
|
|
state.loading = value;
|
|
|
|
},
|
|
|
|
setReload: (state, value) => {
|
|
|
|
state.reload = value;
|
2018-02-01 12:17:04 +00:00
|
|
|
},
|
|
|
|
setUser: (state, value) => {
|
2019-01-05 16:12:09 +00:00
|
|
|
if (value === null) {
|
2021-03-21 11:51:58 +00:00
|
|
|
state.user = null;
|
|
|
|
return;
|
2019-01-05 16:12:09 +00:00
|
|
|
}
|
|
|
|
|
2021-03-21 11:51:58 +00:00
|
|
|
let locale = value.locale;
|
2018-02-01 12:17:04 +00:00
|
|
|
|
2021-03-21 11:51:58 +00:00
|
|
|
if (locale === "") {
|
|
|
|
locale = i18n.detectLocale();
|
2018-02-01 12:17:04 +00:00
|
|
|
}
|
|
|
|
|
2021-03-21 11:51:58 +00:00
|
|
|
moment.locale(locale);
|
|
|
|
i18n.default.locale = locale;
|
|
|
|
state.user = value;
|
2018-02-01 12:17:04 +00:00
|
|
|
},
|
|
|
|
setJWT: (state, value) => (state.jwt = value),
|
2023-08-17 21:46:49 +00:00
|
|
|
setSession: (state, value) => (state.sessionId = value),
|
2018-02-01 12:17:04 +00:00
|
|
|
multiple: (state, value) => (state.multiple = value),
|
2021-03-21 11:51:58 +00:00
|
|
|
addSelected: (state, value) => state.selected.push(value),
|
2018-02-01 12:17:04 +00:00
|
|
|
removeSelected: (state, value) => {
|
2021-03-21 11:51:58 +00:00
|
|
|
let i = state.selected.indexOf(value);
|
|
|
|
if (i === -1) return;
|
|
|
|
state.selected.splice(i, 1);
|
2018-02-01 12:17:04 +00:00
|
|
|
},
|
|
|
|
resetSelected: (state) => {
|
2021-03-21 11:51:58 +00:00
|
|
|
state.selected = [];
|
2018-02-01 12:17:04 +00:00
|
|
|
},
|
|
|
|
updateUser: (state, value) => {
|
2021-03-21 11:51:58 +00:00
|
|
|
if (typeof value !== "object") return;
|
2024-02-10 00:13:02 +00:00
|
|
|
if (state.user === null) {
|
|
|
|
state.user = {};
|
|
|
|
}
|
2018-02-01 12:17:04 +00:00
|
|
|
for (let field in value) {
|
2021-03-21 11:51:58 +00:00
|
|
|
if (field === "locale") {
|
|
|
|
moment.locale(value[field]);
|
|
|
|
i18n.default.locale = value[field];
|
2019-01-05 16:12:09 +00:00
|
|
|
}
|
2021-03-21 11:51:58 +00:00
|
|
|
state.user[field] = value[field];
|
2018-02-01 12:17:04 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
updateRequest: (state, value) => {
|
2024-02-10 00:13:02 +00:00
|
|
|
const selectedItems = state.selected.map((i) => state.req.items[i]);
|
2021-03-21 11:51:58 +00:00
|
|
|
state.oldReq = state.req;
|
|
|
|
state.req = value;
|
2024-02-10 00:13:02 +00:00
|
|
|
state.selected = [];
|
|
|
|
|
|
|
|
if (!state.req?.items) return;
|
|
|
|
state.selected = state.req.items
|
|
|
|
.filter((item) => selectedItems.some((rItem) => rItem.url === item.url))
|
|
|
|
.map((item) => item.index);
|
2018-02-01 12:17:04 +00:00
|
|
|
},
|
2023-12-01 23:47:00 +00:00
|
|
|
// Inside your mutations object
|
|
|
|
updateListingSortConfig(state, { field, asc }) {
|
|
|
|
state.req.sorting.by = field;
|
|
|
|
state.req.sorting.asc = asc;
|
|
|
|
},
|
|
|
|
|
|
|
|
updateListingItems(state) {
|
|
|
|
// Sort the items array based on the sorting settings
|
|
|
|
state.req.items.sort((a, b) => {
|
|
|
|
const valueA = a[state.req.sorting.by];
|
|
|
|
const valueB = b[state.req.sorting.by];
|
|
|
|
if (state.req.sorting.asc) {
|
|
|
|
return valueA > valueB ? 1 : -1;
|
|
|
|
} else {
|
|
|
|
return valueA < valueB ? 1 : -1;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
2018-02-01 12:17:04 +00:00
|
|
|
updateClipboard: (state, value) => {
|
2021-03-21 11:51:58 +00:00
|
|
|
state.clipboard.key = value.key;
|
|
|
|
state.clipboard.items = value.items;
|
|
|
|
state.clipboard.path = value.path;
|
2018-02-01 12:17:04 +00:00
|
|
|
},
|
|
|
|
resetClipboard: (state) => {
|
2021-03-21 11:51:58 +00:00
|
|
|
state.clipboard.key = "";
|
|
|
|
state.clipboard.items = [];
|
|
|
|
},
|
|
|
|
};
|
2018-02-01 12:17:04 +00:00
|
|
|
|
2021-03-21 11:51:58 +00:00
|
|
|
export default mutations;
|