pedi2/resources/js/store/modules/ui.js
2025-05-29 16:51:08 -03:00

64 lines
1.7 KiB
JavaScript
Vendored

const state = {
show_chismosa: false,
show_devoluciones: false,
migas: [{ nombre: 'Pedidos', action: 'pedido/resetear' }],
};
const mutations = {
toggleChismosa(state) {
state.show_chismosa = !state.show_chismosa;
},
toggleDevoluciones(state) {
state.show_devoluciones = !state.show_devoluciones;
},
addMiga(state, miga) {
state.migas.push(miga);
},
popUltimaBusqueda(state) {
if (!state.migas.at(-1).action)
state.migas.pop();
},
reset(state) {
state.show_chismosa = false;
state.show_devoluciones = false;
}
};
const actions = {
clickMiga({ dispatch }, { miga }) {
let dropWhile = (array, pred) => {
let result = array.slice(0);
while (result.length && pred(result[0])) {
result = result.slice(1)
}
return result;
}
dispatch(miga.action, miga.arguments ?? null, { root: true });
state.migas = dropWhile(state.migas.reverse(),(m => m.nombre !== miga.nombre)).reverse();
},
toast(_, { mensaje }) {
return window.bulmaToast.toast({
message: mensaje,
duration: 2000,
type: 'is-danger',
position: 'bottom-center',
});
},
error({ dispatch }, { error }) {
const errorMsg = error.response && error.response.data && error.response.data.message
? error.response.data.message
: error.message;
dispatch("toast", { mensaje: errorMsg });
},
resetear({ commit }) {
commit("reset");
},
};
export default {
namespaced: true,
state,
mutations,
actions,
};