@mee4dy/crud
Version:
Create a backend and frontend in 5 minutes! With our powerful full stack crud system, customize it to suit you.
67 lines (66 loc) • 1.45 kB
JavaScript
import * as c from "lodash";
const o = {
setState(e, { path: t, value: s }) {
return c.set(e, t, s);
},
setCtx(e, t) {
e.ctx = t;
},
setFields(e, t) {
e.fields = t;
},
setItems(e, t) {
e.items = t;
},
pushItem(e, t = {}) {
e.items.push(t);
},
setLoading(e, t) {
e.loading = t;
},
setQuery(e, t) {
e.query = t;
},
update: (e, { pk: t, data: s, level: n }) => {
const d = e.pk;
if (n && n.path && n.parentPK) {
let i = e.items.find((r) => r[d] === n.parentPK);
if (i) {
const { path: r } = n;
c.merge(c.get(i, r), { ...s });
}
return;
}
const p = e.items.findIndex((i) => i[d] === t);
if (p >= 0) {
const i = e.items[p];
e.items.splice(p, 1, { ...i, ...s });
}
},
delete: (e, { pk: t, level: s }) => {
const n = e.pk;
if (s && s.path && s.parentPK) {
const p = e.items.findIndex((i) => i[n] === s.parentPK);
if (p >= 0) {
const { path: i } = s, r = c.toPath(i);
e.items[p][r[0]].splice(r[1], 1);
}
return;
}
const d = e.items.findIndex((p) => p[n] === t);
d >= 0 && e.items.splice(d, 1);
},
setSelectedFilters: (e, t) => {
e.selectedFilters = t;
},
setSelectedGroups: (e, t) => {
e.selectedGroups = t;
},
setSelectedOrders: (e, t) => {
e.selectedOrders = t;
}
};
export {
o as default
};
//# sourceMappingURL=mutations.js.map