lkt-item-crud 1.1.14 → 1.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build.d.ts +2 -2
- package/dist/build.js +49 -44
- package/package.json +1 -1
- package/src/lib-components/LktItemCrud.vue +3 -1
package/dist/build.d.ts
CHANGED
package/dist/build.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { defineComponent as ne, useSlots as
|
|
2
|
-
import { httpCall as
|
|
1
|
+
import { defineComponent as ne, useSlots as ie, ref as s, computed as d, watch as D, resolveComponent as w, openBlock as v, createElementBlock as h, createElementVNode as E, toDisplayString as j, renderSlot as q, createCommentVNode as g, withDirectives as O, createBlock as V, withCtx as G, unref as K, vShow as I, createVNode as Q } from "vue";
|
|
2
|
+
import { httpCall as se } from "lkt-http-client";
|
|
3
3
|
import { DataState as ce } from "lkt-data-state";
|
|
4
4
|
const N = class N {
|
|
5
5
|
};
|
|
6
6
|
N.debugEnabled = !1;
|
|
7
7
|
let U = N;
|
|
8
|
-
const
|
|
8
|
+
const n = (...u) => {
|
|
9
9
|
U.debugEnabled && console.info("[LktItemCrud] ", ...u);
|
|
10
|
-
},
|
|
10
|
+
}, qe = (u = !0) => {
|
|
11
11
|
U.debugEnabled = u;
|
|
12
12
|
}, ve = { class: "lkt-item-crud" }, fe = {
|
|
13
13
|
key: 0,
|
|
14
14
|
class: "lkt-item-crud_header"
|
|
15
|
-
}, pe = { class: "lkt-item-crud_header-title" }, me = { class: "lkt-item-crud_header-slot" }, ye = { class: "lkt-item-crud-buttons" }, he = { key: 1 },
|
|
15
|
+
}, pe = { class: "lkt-item-crud_header-title" }, me = { class: "lkt-item-crud_header-slot" }, ye = { class: "lkt-item-crud-buttons" }, he = { key: 1 }, be = { key: 1 }, Se = {
|
|
16
16
|
key: 1,
|
|
17
17
|
class: "lkt-item-crud_content"
|
|
18
18
|
}, ke = {
|
|
@@ -55,45 +55,50 @@ const i = (...u) => {
|
|
|
55
55
|
},
|
|
56
56
|
emits: ["update:modelValue", "update:isCreate", "read", "create", "update", "drop", "perms", "error", "modified-data"],
|
|
57
57
|
setup(u, { expose: T, emit: W }) {
|
|
58
|
-
const e = u, L =
|
|
58
|
+
const e = u, L = ie(), i = W;
|
|
59
59
|
let X = [];
|
|
60
|
-
const o = s(!0), r = s(e.modelValue),
|
|
61
|
-
|
|
60
|
+
const o = s(!0), r = s(e.modelValue), b = s(X), f = s(!1), p = s(!1), m = s(!1), c = s(200), C = s(null), B = s(null), S = s(new ce(r.value)), l = s(e.isCreate), Y = d(() => l.value ? e.createConfirm : e.updateConfirm), Z = d(() => l.value ? e.createConfirmData : e.updateConfirmData), $ = d(() => l.value ? e.createResource : e.updateResource), ee = d(() => l.value ? { ...e.createData, ...JSON.parse(JSON.stringify(r.value)) } : { ...e.updateData, ...JSON.parse(JSON.stringify(r.value)) }), te = d(() => l.value ? e.createDisabled : e.updateDisabled), _ = d(() => !l.value && b.value.includes("update")), R = d(() => !l.value && b.value.includes("drop")), M = async () => {
|
|
61
|
+
n("fetchItem"), o.value = !0, c.value = -1, m.value = !1;
|
|
62
62
|
try {
|
|
63
|
-
const t = await
|
|
64
|
-
if (
|
|
65
|
-
p.value = !1, c.value = t.httpStatus,
|
|
63
|
+
const t = await se(e.readResource, e.readData);
|
|
64
|
+
if (n("fetchItem -> response", t), o.value = !1, c.value = t.httpStatus, !t.success) {
|
|
65
|
+
p.value = !1, c.value = t.httpStatus, i("error", t.httpStatus);
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
|
-
p.value = !0, r.value = t.data,
|
|
68
|
+
p.value = !0, r.value = t.data, b.value = t.perms, S.value.increment(r.value).turnStoredIntoOriginal(), i("read", t);
|
|
69
69
|
} catch {
|
|
70
|
-
o.value = !1, p.value = !1, c.value = 404,
|
|
70
|
+
o.value = !1, p.value = !1, c.value = 404, i("error", 404);
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
73
|
}, ae = d(() => o.value ? !1 : e.title || !!L["post-title"]);
|
|
74
74
|
D(() => e.modelValue, (t) => {
|
|
75
|
-
r.value = t,
|
|
75
|
+
r.value = t, S.value.increment(t);
|
|
76
76
|
}, { deep: !0 }), D(r, (t) => {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
77
|
+
if (n("item updated ->", r.value), typeof e.beforeEmitUpdate == "function") {
|
|
78
|
+
n("item updated -> has beforeEmitUpdate");
|
|
79
|
+
let a = e.beforeEmitUpdate(r.value);
|
|
80
|
+
n("item updated -> override with: ", a), typeof a == "object" && (r.value = a);
|
|
81
|
+
}
|
|
82
|
+
i("update:modelValue", r.value), n("item updated -> update dataState"), S.value.increment(t);
|
|
83
|
+
}, { deep: !0 }), D(b, () => i("perms", b.value));
|
|
84
|
+
const x = d(() => te.value || !l.value && !_.value || typeof e.saveValidator == "function" && !e.saveValidator(r.value) ? !1 : S.value.changed());
|
|
85
|
+
D(x, (t) => i("modified-data", t)), D(l, (t) => i("update:isCreate", t)), e.readResource && !l.value ? M() : l.value && (p.value = !0, f.value = !0, o.value = !1);
|
|
86
|
+
const le = (t, a) => {
|
|
87
|
+
if (o.value = !1, c.value = a.httpStatus, !a.success) {
|
|
88
|
+
m.value = !0, i("error", a.httpStatus);
|
|
84
89
|
return;
|
|
85
90
|
}
|
|
86
|
-
m.value = !0,
|
|
87
|
-
}, ue = (t,
|
|
88
|
-
if (
|
|
89
|
-
if (o.value = !1, c.value =
|
|
90
|
-
m.value = !0,
|
|
91
|
+
m.value = !0, i("drop", a);
|
|
92
|
+
}, ue = (t, a) => {
|
|
93
|
+
if (n("onSave -> received response:", a), $.value) {
|
|
94
|
+
if (o.value = !1, c.value = a.httpStatus, !a.success) {
|
|
95
|
+
m.value = !0, i("error", a.httpStatus);
|
|
91
96
|
return;
|
|
92
97
|
}
|
|
93
98
|
m.value = !0;
|
|
94
99
|
}
|
|
95
|
-
let k =
|
|
96
|
-
|
|
100
|
+
let k = l.value ? "create" : "update";
|
|
101
|
+
l.value || (n("onSave -> turn stored data into original"), S.value.turnStoredIntoOriginal()), k === "create" ? typeof e.onCreate == "function" && (n("onSave -> trigger onCreate callback"), e.onCreate(a)) : typeof e.onUpdate == "function" && (n("onSave -> trigger onUpdate callback"), e.onUpdate(a)), !e.insideModal && a.autoReloadId && (n("onSave -> autoReloadId detected: ", a.autoReloadId), e.readData.id = a.autoReloadId, n("onSave -> turning off create mode"), l.value = !1, M()), i(k, a);
|
|
97
102
|
}, F = () => {
|
|
98
103
|
o.value = !0, c.value = -1;
|
|
99
104
|
}, J = () => {
|
|
@@ -108,21 +113,21 @@ const i = (...u) => {
|
|
|
108
113
|
C.value && typeof C.value.click == "function" && C.value.click();
|
|
109
114
|
}
|
|
110
115
|
});
|
|
111
|
-
const A = d(() => !e.hiddenDrop && !o.value && f.value && p.value), H = d(() => o.value ? !1 :
|
|
112
|
-
return (t,
|
|
113
|
-
const k =
|
|
116
|
+
const A = d(() => !e.hiddenDrop && !o.value && f.value && p.value), H = d(() => o.value ? !1 : l.value ? !0 : !e.hiddenSave && f.value && p.value), P = d(() => !o.value && !l.value && p.value && !(e.dropDisabled && e.updateDisabled)), oe = d(() => !e.hiddenButtons && (H.value || A.value || P.value));
|
|
117
|
+
return (t, a) => {
|
|
118
|
+
const k = w("lkt-button"), re = w("lkt-field-switch"), z = w("lkt-http-info"), de = w("lkt-loader");
|
|
114
119
|
return v(), h("article", ve, [
|
|
115
120
|
ae.value ? (v(), h("header", fe, [
|
|
116
121
|
E("h1", pe, j(u.title), 1),
|
|
117
122
|
E("div", me, [
|
|
118
|
-
|
|
123
|
+
q(t.$slots, "post-title", {
|
|
119
124
|
item: r.value,
|
|
120
125
|
loading: o.value
|
|
121
126
|
})
|
|
122
127
|
])
|
|
123
128
|
])) : g("", !0),
|
|
124
129
|
O(E("div", ye, [
|
|
125
|
-
|
|
130
|
+
l.value ? g("", !0) : O((v(), V(k, {
|
|
126
131
|
key: 0,
|
|
127
132
|
ref: (y) => B.value = y,
|
|
128
133
|
palette: "danger",
|
|
@@ -136,11 +141,11 @@ const i = (...u) => {
|
|
|
136
141
|
onClick: le
|
|
137
142
|
}, {
|
|
138
143
|
default: G(() => [
|
|
139
|
-
K(L)["button-drop"] ?
|
|
144
|
+
K(L)["button-drop"] ? q(t.$slots, "button-drop", {
|
|
140
145
|
key: 0,
|
|
141
146
|
item: r.value,
|
|
142
147
|
editMode: f.value,
|
|
143
|
-
isCreate:
|
|
148
|
+
isCreate: l.value,
|
|
144
149
|
canUpdate: _.value,
|
|
145
150
|
canDrop: R.value
|
|
146
151
|
}) : (v(), h("span", he, j(u.dropText), 1))
|
|
@@ -162,14 +167,14 @@ const i = (...u) => {
|
|
|
162
167
|
onClick: ue
|
|
163
168
|
}, {
|
|
164
169
|
default: G(() => [
|
|
165
|
-
K(L)["button-save"] ?
|
|
170
|
+
K(L)["button-save"] ? q(t.$slots, "button-save", {
|
|
166
171
|
key: 0,
|
|
167
172
|
item: r.value,
|
|
168
173
|
editMode: f.value,
|
|
169
|
-
isCreate:
|
|
174
|
+
isCreate: l.value,
|
|
170
175
|
canUpdate: _.value,
|
|
171
176
|
canDrop: R.value
|
|
172
|
-
}) : (v(), h("span",
|
|
177
|
+
}) : (v(), h("span", be, j(u.saveText), 1))
|
|
173
178
|
]),
|
|
174
179
|
_: 3
|
|
175
180
|
}, 8, ["disabled", "confirm-modal", "confirm-data", "resource", "resource-data"]), [
|
|
@@ -177,7 +182,7 @@ const i = (...u) => {
|
|
|
177
182
|
]),
|
|
178
183
|
O(Q(re, {
|
|
179
184
|
modelValue: f.value,
|
|
180
|
-
"onUpdate:modelValue":
|
|
185
|
+
"onUpdate:modelValue": a[0] || (a[0] = (y) => f.value = y),
|
|
181
186
|
label: u.editModeText
|
|
182
187
|
}, null, 8, ["modelValue", "label"]), [
|
|
183
188
|
[I, P.value]
|
|
@@ -185,7 +190,7 @@ const i = (...u) => {
|
|
|
185
190
|
], 512), [
|
|
186
191
|
[I, oe.value]
|
|
187
192
|
]),
|
|
188
|
-
o.value ? g("", !0) : (v(), h("div",
|
|
193
|
+
o.value ? g("", !0) : (v(), h("div", Se, [
|
|
189
194
|
p.value ? (v(), h("div", ke, [
|
|
190
195
|
m.value ? (v(), V(z, {
|
|
191
196
|
key: 0,
|
|
@@ -193,13 +198,13 @@ const i = (...u) => {
|
|
|
193
198
|
quick: "",
|
|
194
199
|
palette: c.value === 200 ? "success" : "danger",
|
|
195
200
|
"can-close": "",
|
|
196
|
-
onClose:
|
|
201
|
+
onClose: a[1] || (a[1] = (y) => m.value = !1)
|
|
197
202
|
}, null, 8, ["code", "palette"])) : g("", !0),
|
|
198
|
-
|
|
203
|
+
q(t.$slots, "item", {
|
|
199
204
|
item: r.value,
|
|
200
205
|
loading: o.value,
|
|
201
206
|
editMode: f.value,
|
|
202
|
-
isCreate:
|
|
207
|
+
isCreate: l.value,
|
|
203
208
|
canUpdate: _.value,
|
|
204
209
|
canDrop: R.value
|
|
205
210
|
})
|
|
@@ -218,6 +223,6 @@ const i = (...u) => {
|
|
|
218
223
|
}
|
|
219
224
|
};
|
|
220
225
|
export {
|
|
221
|
-
|
|
226
|
+
qe as debugLktItemCrud,
|
|
222
227
|
Oe as default
|
|
223
228
|
};
|
package/package.json
CHANGED
|
@@ -143,7 +143,9 @@ watch(item, (v) => {
|
|
|
143
143
|
debug('item updated ->', item.value);
|
|
144
144
|
if (typeof props.beforeEmitUpdate === 'function') {
|
|
145
145
|
debug('item updated -> has beforeEmitUpdate');
|
|
146
|
-
props.beforeEmitUpdate(item.value);
|
|
146
|
+
let override = props.beforeEmitUpdate(item.value);
|
|
147
|
+
debug('item updated -> override with: ', override);
|
|
148
|
+
if (typeof override === 'object') item.value = override;
|
|
147
149
|
}
|
|
148
150
|
emit('update:modelValue', item.value);
|
|
149
151
|
debug('item updated -> update dataState');
|