lkt-item-crud 1.1.15 → 1.1.17
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 +4 -4
- package/dist/build.js +147 -145
- package/dist/lib-components/LktItemCrud.vue.d.ts +174 -286
- package/package.json +1 -1
- package/src/lib-components/LktItemCrud.vue +81 -51
package/dist/build.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
declare function
|
|
2
|
-
declare namespace
|
|
3
|
-
function install(
|
|
1
|
+
declare function Ie(c?: boolean): void;
|
|
2
|
+
declare namespace Ue {
|
|
3
|
+
function install(c: any, J?: {}): void;
|
|
4
4
|
}
|
|
5
|
-
export {
|
|
5
|
+
export { Ie as debugLktItemCrud, Ue as default };
|
package/dist/build.js
CHANGED
|
@@ -1,228 +1,230 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { httpCall as
|
|
3
|
-
import { DataState as
|
|
4
|
-
const
|
|
1
|
+
import { defineComponent as se, useSlots as ie, ref as r, computed as d, watch as S, nextTick as ve, resolveComponent as w, openBlock as v, createElementBlock as k, createElementVNode as $, toDisplayString as O, renderSlot as V, createCommentVNode as y, withDirectives as I, createBlock as U, withCtx as Q, unref as W, vShow as E, createVNode as X } from "vue";
|
|
2
|
+
import { httpCall as ce } from "lkt-http-client";
|
|
3
|
+
import { DataState as fe } from "lkt-data-state";
|
|
4
|
+
const F = class F {
|
|
5
5
|
};
|
|
6
|
-
|
|
7
|
-
let
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
},
|
|
11
|
-
|
|
12
|
-
},
|
|
6
|
+
F.debugEnabled = !1;
|
|
7
|
+
let L = F;
|
|
8
|
+
const n = (...c) => {
|
|
9
|
+
L.debugEnabled && console.info("[LktItemCrud] ", ...c);
|
|
10
|
+
}, Ie = (c = !0) => {
|
|
11
|
+
L.debugEnabled = c;
|
|
12
|
+
}, pe = { class: "lkt-item-crud" }, me = {
|
|
13
13
|
key: 0,
|
|
14
14
|
class: "lkt-item-crud_header"
|
|
15
|
-
},
|
|
15
|
+
}, he = { class: "lkt-item-crud_header-title" }, ke = { class: "lkt-item-crud_header-slot" }, De = { class: "lkt-item-crud-buttons" }, be = { key: 1 }, Ce = { key: 1 }, Se = {
|
|
16
16
|
key: 1,
|
|
17
17
|
class: "lkt-item-crud_content"
|
|
18
|
-
},
|
|
18
|
+
}, ye = {
|
|
19
19
|
key: 0,
|
|
20
20
|
class: "lkt-grid-1"
|
|
21
|
-
},
|
|
22
|
-
|
|
21
|
+
}, ge = /* @__PURE__ */ se({
|
|
22
|
+
__name: "LktItemCrud",
|
|
23
23
|
props: {
|
|
24
|
-
modelValue: {
|
|
25
|
-
title: {
|
|
26
|
-
editModeText: {
|
|
27
|
-
saveText: {
|
|
28
|
-
dropText: {
|
|
24
|
+
modelValue: { default: () => ({}) },
|
|
25
|
+
title: { default: "" },
|
|
26
|
+
editModeText: { default: "Edition Mode" },
|
|
27
|
+
saveText: { default: "Save" },
|
|
28
|
+
dropText: { default: "Delete" },
|
|
29
29
|
hiddenSave: { type: Boolean, default: !1 },
|
|
30
30
|
hiddenDrop: { type: Boolean, default: !1 },
|
|
31
31
|
hiddenButtons: { type: Boolean, default: !1 },
|
|
32
|
-
readResource: {
|
|
33
|
-
createResource: {
|
|
34
|
-
updateResource: {
|
|
35
|
-
dropResource: {
|
|
36
|
-
readData: {
|
|
37
|
-
createData: {
|
|
38
|
-
updateData: {
|
|
39
|
-
dropData: {
|
|
32
|
+
readResource: { default: "" },
|
|
33
|
+
createResource: { default: "" },
|
|
34
|
+
updateResource: { default: "" },
|
|
35
|
+
dropResource: { default: "" },
|
|
36
|
+
readData: { default: () => ({}) },
|
|
37
|
+
createData: { default: () => ({}) },
|
|
38
|
+
updateData: { default: () => ({}) },
|
|
39
|
+
dropData: { default: () => ({}) },
|
|
40
40
|
isCreate: { type: Boolean, default: !1 },
|
|
41
|
-
createConfirm: {
|
|
42
|
-
updateConfirm: {
|
|
43
|
-
dropConfirm: {
|
|
44
|
-
createConfirmData: {
|
|
45
|
-
updateConfirmData: {
|
|
46
|
-
dropConfirmData: {
|
|
41
|
+
createConfirm: { default: "" },
|
|
42
|
+
updateConfirm: { default: "" },
|
|
43
|
+
dropConfirm: { default: "" },
|
|
44
|
+
createConfirmData: { default: () => ({}) },
|
|
45
|
+
updateConfirmData: { default: () => ({}) },
|
|
46
|
+
dropConfirmData: { default: () => ({}) },
|
|
47
47
|
createDisabled: { type: Boolean, default: !1 },
|
|
48
48
|
updateDisabled: { type: Boolean, default: !1 },
|
|
49
49
|
dropDisabled: { type: Boolean, default: !1 },
|
|
50
|
-
saveValidator: { type: Function,
|
|
51
|
-
beforeEmitUpdate: { type: Function,
|
|
52
|
-
onCreate: { type: Function,
|
|
53
|
-
onUpdate: { type: Function,
|
|
54
|
-
insideModal: { type: Boolean, default: !1 }
|
|
50
|
+
saveValidator: { type: Function, default: () => !0 },
|
|
51
|
+
beforeEmitUpdate: { type: Function, default: void 0 },
|
|
52
|
+
onCreate: { type: Function, default: void 0 },
|
|
53
|
+
onUpdate: { type: Function, default: void 0 },
|
|
54
|
+
insideModal: { type: Boolean, default: !1 },
|
|
55
|
+
dataStateConfig: { default: () => ({}) }
|
|
55
56
|
},
|
|
56
57
|
emits: ["update:modelValue", "update:isCreate", "read", "create", "update", "drop", "perms", "error", "modified-data"],
|
|
57
|
-
setup(
|
|
58
|
-
const
|
|
59
|
-
let
|
|
60
|
-
const o =
|
|
61
|
-
|
|
58
|
+
setup(c, { expose: J, emit: Y }) {
|
|
59
|
+
const t = c, M = ie(), s = Y;
|
|
60
|
+
let Z = [];
|
|
61
|
+
const o = r(!0), u = r(t.modelValue), D = r(Z), f = r(!1), p = r(!1), m = r(!1), i = r(200), g = r(null), _ = r(null), b = r(new fe(u.value, t.dataStateConfig)), l = r(t.isCreate), T = r(!1), x = d(() => l.value ? t.createConfirm : t.updateConfirm), ee = d(() => l.value ? t.createConfirmData : t.updateConfirmData), j = d(() => l.value ? t.createResource : t.updateResource), te = d(() => l.value ? { ...t.createData, ...JSON.parse(JSON.stringify(u.value)) } : { ...t.updateData, ...JSON.parse(JSON.stringify(u.value)) }), ae = d(() => l.value ? t.createDisabled : t.updateDisabled), B = d(() => !l.value && D.value.includes("update")), R = d(() => !l.value && D.value.includes("drop")), N = async () => {
|
|
62
|
+
n("fetchItem"), o.value = !0, i.value = -1, m.value = !1;
|
|
62
63
|
try {
|
|
63
|
-
const
|
|
64
|
-
if (
|
|
65
|
-
p.value = !1,
|
|
64
|
+
const e = await ce(t.readResource, t.readData);
|
|
65
|
+
if (n("fetchItem -> response", e), o.value = !1, i.value = e.httpStatus, !e.success) {
|
|
66
|
+
p.value = !1, i.value = e.httpStatus, s("error", e.httpStatus);
|
|
66
67
|
return;
|
|
67
68
|
}
|
|
68
|
-
p.value = !0,
|
|
69
|
+
p.value = !0, u.value = e.data, D.value = e.perms, b.value.increment(u.value).turnStoredIntoOriginal(), s("read", e);
|
|
69
70
|
} catch {
|
|
70
|
-
o.value = !1, p.value = !1,
|
|
71
|
+
o.value = !1, p.value = !1, i.value = 404, s("error", 404);
|
|
71
72
|
return;
|
|
72
73
|
}
|
|
73
|
-
},
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}, { deep: !0 }),
|
|
77
|
-
if (
|
|
78
|
-
|
|
79
|
-
let a =
|
|
80
|
-
typeof a == "object" && (
|
|
74
|
+
}, le = d(() => o.value ? !1 : t.title || !!M["post-title"]);
|
|
75
|
+
S(() => t.modelValue, (e) => {
|
|
76
|
+
u.value = e, b.value.increment(e);
|
|
77
|
+
}, { deep: !0 }), S(u, (e) => {
|
|
78
|
+
if (T.value = !0, n("item updated ->", u.value), typeof t.beforeEmitUpdate == "function") {
|
|
79
|
+
n("item updated -> has beforeEmitUpdate");
|
|
80
|
+
let a = t.beforeEmitUpdate(u.value);
|
|
81
|
+
n("item updated -> override with: ", a), typeof a == "object" && (u.value = a);
|
|
81
82
|
}
|
|
82
|
-
|
|
83
|
-
}, { deep: !0 }), D
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
const
|
|
87
|
-
if (o.value = !1,
|
|
88
|
-
m.value = !0,
|
|
83
|
+
s("update:modelValue", u.value), n("item updated -> update dataState"), b.value.increment(e), ve(() => T.value = !1);
|
|
84
|
+
}, { deep: !0 }), S(D, () => s("perms", D.value));
|
|
85
|
+
const q = d(() => ae.value || !l.value && !B.value || typeof t.saveValidator == "function" && !t.saveValidator(u.value) ? !1 : b.value.changed());
|
|
86
|
+
S(q, (e) => s("modified-data", e)), S(l, (e) => s("update:isCreate", e)), t.readResource && !l.value ? N() : l.value && (p.value = !0, f.value = !0, o.value = !1);
|
|
87
|
+
const ue = (e, a) => {
|
|
88
|
+
if (o.value = !1, i.value = a.httpStatus, !a.success) {
|
|
89
|
+
m.value = !0, s("error", a.httpStatus);
|
|
89
90
|
return;
|
|
90
91
|
}
|
|
91
|
-
m.value = !0,
|
|
92
|
-
},
|
|
93
|
-
if (
|
|
94
|
-
if (o.value = !1,
|
|
95
|
-
m.value = !0,
|
|
92
|
+
m.value = !0, s("drop", a);
|
|
93
|
+
}, oe = (e, a) => {
|
|
94
|
+
if (n("onSave -> received response:", a), j.value) {
|
|
95
|
+
if (o.value = !1, i.value = a.httpStatus, !a.success) {
|
|
96
|
+
m.value = !0, s("error", a.httpStatus);
|
|
96
97
|
return;
|
|
97
98
|
}
|
|
98
99
|
m.value = !0;
|
|
99
100
|
}
|
|
100
|
-
let
|
|
101
|
-
l.value || (
|
|
102
|
-
},
|
|
103
|
-
o.value = !0,
|
|
104
|
-
},
|
|
101
|
+
let C = l.value ? "create" : "update";
|
|
102
|
+
l.value || (n("onSave -> turn stored data into original"), b.value.turnStoredIntoOriginal()), C === "create" ? typeof t.onCreate == "function" && (n("onSave -> trigger onCreate callback"), t.onCreate(a)) : typeof t.onUpdate == "function" && (n("onSave -> trigger onUpdate callback"), t.onUpdate(a)), !t.insideModal && a.autoReloadId && (n("onSave -> autoReloadId detected: ", a.autoReloadId), t.readData.id = a.autoReloadId, n("onSave -> turning off create mode"), l.value = !1, N()), s(C, a);
|
|
103
|
+
}, H = () => {
|
|
104
|
+
o.value = !0, i.value = -1;
|
|
105
|
+
}, P = () => {
|
|
105
106
|
o.value = !1;
|
|
106
107
|
};
|
|
107
|
-
|
|
108
|
+
J({
|
|
108
109
|
doDrop: () => {
|
|
109
|
-
|
|
110
|
+
_.value && typeof _.value.click == "function" && _.value.click();
|
|
110
111
|
},
|
|
111
|
-
doRefresh:
|
|
112
|
+
doRefresh: N,
|
|
112
113
|
doSave: () => {
|
|
113
|
-
|
|
114
|
+
g.value && typeof g.value.click == "function" && g.value.click();
|
|
114
115
|
}
|
|
115
116
|
});
|
|
116
|
-
const
|
|
117
|
-
return (
|
|
118
|
-
const
|
|
119
|
-
return v(),
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
item:
|
|
117
|
+
const z = d(() => !t.hiddenDrop && !o.value && f.value && p.value), A = d(() => o.value ? !1 : l.value ? !0 : !t.hiddenSave && f.value && p.value), G = d(() => !o.value && !l.value && p.value && !(t.dropDisabled && t.updateDisabled)), de = d(() => !t.hiddenButtons && (A.value || z.value || G.value));
|
|
118
|
+
return d(() => u), (e, a) => {
|
|
119
|
+
const C = w("lkt-button"), re = w("lkt-field-switch"), K = w("lkt-http-info"), ne = w("lkt-loader");
|
|
120
|
+
return v(), k("article", pe, [
|
|
121
|
+
le.value ? (v(), k("header", me, [
|
|
122
|
+
$("h1", he, O(e.title), 1),
|
|
123
|
+
$("div", ke, [
|
|
124
|
+
V(e.$slots, "post-title", {
|
|
125
|
+
item: u.value,
|
|
125
126
|
loading: o.value
|
|
126
127
|
})
|
|
127
128
|
])
|
|
128
|
-
])) :
|
|
129
|
-
|
|
130
|
-
l.value ?
|
|
129
|
+
])) : y("", !0),
|
|
130
|
+
I($("div", De, [
|
|
131
|
+
l.value ? y("", !0) : I((v(), U(C, {
|
|
131
132
|
key: 0,
|
|
132
|
-
ref: (
|
|
133
|
+
ref: (h) => _.value = h,
|
|
133
134
|
palette: "danger",
|
|
134
|
-
disabled:
|
|
135
|
-
"confirm-modal":
|
|
136
|
-
"confirm-data":
|
|
137
|
-
resource:
|
|
138
|
-
"resource-data":
|
|
139
|
-
onLoading:
|
|
140
|
-
onLoaded:
|
|
141
|
-
onClick:
|
|
135
|
+
disabled: e.dropDisabled || !R.value,
|
|
136
|
+
"confirm-modal": e.dropConfirm,
|
|
137
|
+
"confirm-data": e.dropConfirmData,
|
|
138
|
+
resource: e.dropResource,
|
|
139
|
+
"resource-data": e.dropData,
|
|
140
|
+
onLoading: H,
|
|
141
|
+
onLoaded: P,
|
|
142
|
+
onClick: ue
|
|
142
143
|
}, {
|
|
143
|
-
default:
|
|
144
|
-
|
|
144
|
+
default: Q(() => [
|
|
145
|
+
W(M)["button-drop"] ? V(e.$slots, "button-drop", {
|
|
145
146
|
key: 0,
|
|
146
|
-
item:
|
|
147
|
+
item: u.value,
|
|
147
148
|
editMode: f.value,
|
|
148
149
|
isCreate: l.value,
|
|
149
|
-
canUpdate:
|
|
150
|
+
canUpdate: B.value,
|
|
150
151
|
canDrop: R.value
|
|
151
|
-
}) : (v(),
|
|
152
|
+
}) : (v(), k("span", be, O(e.dropText), 1))
|
|
152
153
|
]),
|
|
153
154
|
_: 3
|
|
154
155
|
}, 8, ["disabled", "confirm-modal", "confirm-data", "resource", "resource-data"])), [
|
|
155
|
-
[
|
|
156
|
+
[E, z.value]
|
|
156
157
|
]),
|
|
157
|
-
|
|
158
|
-
ref: (
|
|
158
|
+
I(X(C, {
|
|
159
|
+
ref: (h) => g.value = h,
|
|
159
160
|
palette: "success",
|
|
160
|
-
disabled: !
|
|
161
|
-
"confirm-modal":
|
|
162
|
-
"confirm-data":
|
|
163
|
-
resource:
|
|
164
|
-
"resource-data":
|
|
165
|
-
onLoading:
|
|
166
|
-
onLoaded:
|
|
167
|
-
onClick:
|
|
161
|
+
disabled: !q.value,
|
|
162
|
+
"confirm-modal": x.value,
|
|
163
|
+
"confirm-data": ee.value,
|
|
164
|
+
resource: j.value,
|
|
165
|
+
"resource-data": te.value,
|
|
166
|
+
onLoading: H,
|
|
167
|
+
onLoaded: P,
|
|
168
|
+
onClick: oe
|
|
168
169
|
}, {
|
|
169
|
-
default:
|
|
170
|
-
|
|
170
|
+
default: Q(() => [
|
|
171
|
+
W(M)["button-save"] ? V(e.$slots, "button-save", {
|
|
171
172
|
key: 0,
|
|
172
|
-
item:
|
|
173
|
+
item: u.value,
|
|
173
174
|
editMode: f.value,
|
|
174
175
|
isCreate: l.value,
|
|
175
|
-
canUpdate:
|
|
176
|
+
canUpdate: B.value,
|
|
176
177
|
canDrop: R.value
|
|
177
|
-
}) : (v(),
|
|
178
|
+
}) : (v(), k("span", Ce, O(e.saveText), 1))
|
|
178
179
|
]),
|
|
179
180
|
_: 3
|
|
180
181
|
}, 8, ["disabled", "confirm-modal", "confirm-data", "resource", "resource-data"]), [
|
|
181
|
-
[
|
|
182
|
+
[E, A.value]
|
|
182
183
|
]),
|
|
183
|
-
|
|
184
|
+
I(X(re, {
|
|
184
185
|
modelValue: f.value,
|
|
185
|
-
"onUpdate:modelValue": a[0] || (a[0] = (
|
|
186
|
-
label:
|
|
186
|
+
"onUpdate:modelValue": a[0] || (a[0] = (h) => f.value = h),
|
|
187
|
+
label: e.editModeText
|
|
187
188
|
}, null, 8, ["modelValue", "label"]), [
|
|
188
|
-
[
|
|
189
|
+
[E, G.value]
|
|
189
190
|
])
|
|
190
191
|
], 512), [
|
|
191
|
-
[
|
|
192
|
+
[E, de.value]
|
|
192
193
|
]),
|
|
193
|
-
o.value ?
|
|
194
|
-
p.value ? (v(),
|
|
195
|
-
m.value ? (v(),
|
|
194
|
+
o.value ? y("", !0) : (v(), k("div", Se, [
|
|
195
|
+
p.value ? (v(), k("div", ye, [
|
|
196
|
+
m.value ? (v(), U(K, {
|
|
196
197
|
key: 0,
|
|
197
|
-
code:
|
|
198
|
+
code: i.value,
|
|
198
199
|
quick: "",
|
|
199
|
-
palette:
|
|
200
|
+
palette: i.value === 200 ? "success" : "danger",
|
|
200
201
|
"can-close": "",
|
|
201
|
-
onClose: a[1] || (a[1] = (
|
|
202
|
-
}, null, 8, ["code", "palette"])) :
|
|
203
|
-
|
|
204
|
-
item:
|
|
202
|
+
onClose: a[1] || (a[1] = (h) => m.value = !1)
|
|
203
|
+
}, null, 8, ["code", "palette"])) : y("", !0),
|
|
204
|
+
V(e.$slots, "item", {
|
|
205
|
+
item: u.value,
|
|
205
206
|
loading: o.value,
|
|
206
207
|
editMode: f.value,
|
|
207
208
|
isCreate: l.value,
|
|
208
|
-
canUpdate:
|
|
209
|
-
canDrop: R.value
|
|
209
|
+
canUpdate: B.value,
|
|
210
|
+
canDrop: R.value,
|
|
211
|
+
itemBeingEdited: T.value
|
|
210
212
|
})
|
|
211
|
-
])) : (v(),
|
|
213
|
+
])) : (v(), U(K, {
|
|
212
214
|
key: 1,
|
|
213
|
-
code:
|
|
215
|
+
code: i.value
|
|
214
216
|
}, null, 8, ["code"]))
|
|
215
217
|
])),
|
|
216
|
-
o.value ? (v(),
|
|
218
|
+
o.value ? (v(), U(ne, { key: 2 })) : y("", !0)
|
|
217
219
|
]);
|
|
218
220
|
};
|
|
219
221
|
}
|
|
220
|
-
}),
|
|
221
|
-
install: (
|
|
222
|
-
|
|
222
|
+
}), Ue = {
|
|
223
|
+
install: (c, J = {}) => {
|
|
224
|
+
c.component("lkt-item-crud") === void 0 && c.component("lkt-item-crud", ge);
|
|
223
225
|
}
|
|
224
226
|
};
|
|
225
227
|
export {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
+
Ie as debugLktItemCrud,
|
|
229
|
+
Ue as default
|
|
228
230
|
};
|
|
@@ -1,138 +1,71 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
dropResource:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
default: () => {};
|
|
70
|
-
};
|
|
71
|
-
isCreate: {
|
|
72
|
-
type: BooleanConstructor;
|
|
73
|
-
default: boolean;
|
|
74
|
-
};
|
|
75
|
-
createConfirm: {
|
|
76
|
-
type: StringConstructor;
|
|
77
|
-
default: string;
|
|
78
|
-
};
|
|
79
|
-
updateConfirm: {
|
|
80
|
-
type: StringConstructor;
|
|
81
|
-
default: string;
|
|
82
|
-
};
|
|
83
|
-
dropConfirm: {
|
|
84
|
-
type: StringConstructor;
|
|
85
|
-
default: string;
|
|
86
|
-
};
|
|
87
|
-
createConfirmData: {
|
|
88
|
-
type: ObjectConstructor;
|
|
89
|
-
default: () => {};
|
|
90
|
-
};
|
|
91
|
-
updateConfirmData: {
|
|
92
|
-
type: ObjectConstructor;
|
|
93
|
-
default: () => {};
|
|
94
|
-
};
|
|
95
|
-
dropConfirmData: {
|
|
96
|
-
type: ObjectConstructor;
|
|
97
|
-
default: () => {};
|
|
98
|
-
};
|
|
99
|
-
createDisabled: {
|
|
100
|
-
type: BooleanConstructor;
|
|
101
|
-
default: boolean;
|
|
102
|
-
};
|
|
103
|
-
updateDisabled: {
|
|
104
|
-
type: BooleanConstructor;
|
|
105
|
-
default: boolean;
|
|
106
|
-
};
|
|
107
|
-
dropDisabled: {
|
|
108
|
-
type: BooleanConstructor;
|
|
109
|
-
default: boolean;
|
|
110
|
-
};
|
|
111
|
-
saveValidator: {
|
|
112
|
-
type: FunctionConstructor;
|
|
113
|
-
required: false;
|
|
114
|
-
default: () => boolean;
|
|
115
|
-
};
|
|
116
|
-
beforeEmitUpdate: {
|
|
117
|
-
type: FunctionConstructor;
|
|
118
|
-
required: false;
|
|
119
|
-
default: () => boolean;
|
|
120
|
-
};
|
|
121
|
-
onCreate: {
|
|
122
|
-
type: FunctionConstructor;
|
|
123
|
-
required: false;
|
|
124
|
-
default: () => boolean;
|
|
125
|
-
};
|
|
126
|
-
onUpdate: {
|
|
127
|
-
type: FunctionConstructor;
|
|
128
|
-
required: false;
|
|
129
|
-
default: () => boolean;
|
|
130
|
-
};
|
|
131
|
-
insideModal: {
|
|
132
|
-
type: BooleanConstructor;
|
|
133
|
-
default: boolean;
|
|
134
|
-
};
|
|
135
|
-
}, {
|
|
1
|
+
import { LktObject } from "lkt-ts-interfaces";
|
|
2
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
3
|
+
modelValue: LktObject;
|
|
4
|
+
title: string;
|
|
5
|
+
editModeText: string;
|
|
6
|
+
saveText: string;
|
|
7
|
+
dropText: string;
|
|
8
|
+
hiddenSave: boolean;
|
|
9
|
+
hiddenDrop: boolean;
|
|
10
|
+
hiddenButtons: boolean;
|
|
11
|
+
readResource: string;
|
|
12
|
+
createResource: string;
|
|
13
|
+
updateResource: string;
|
|
14
|
+
dropResource: string;
|
|
15
|
+
readData: LktObject;
|
|
16
|
+
createData: LktObject;
|
|
17
|
+
updateData: LktObject;
|
|
18
|
+
dropData: LktObject;
|
|
19
|
+
isCreate: boolean;
|
|
20
|
+
createConfirm: string;
|
|
21
|
+
updateConfirm: string;
|
|
22
|
+
dropConfirm: string;
|
|
23
|
+
createConfirmData: LktObject;
|
|
24
|
+
updateConfirmData: LktObject;
|
|
25
|
+
dropConfirmData: LktObject;
|
|
26
|
+
createDisabled: boolean;
|
|
27
|
+
updateDisabled: boolean;
|
|
28
|
+
dropDisabled: boolean;
|
|
29
|
+
saveValidator: Function;
|
|
30
|
+
beforeEmitUpdate: Function | undefined;
|
|
31
|
+
onCreate: Function | undefined;
|
|
32
|
+
onUpdate: Function | undefined;
|
|
33
|
+
insideModal: boolean;
|
|
34
|
+
dataStateConfig: LktObject;
|
|
35
|
+
}>, {
|
|
36
|
+
modelValue: () => {};
|
|
37
|
+
title: string;
|
|
38
|
+
editModeText: string;
|
|
39
|
+
saveText: string;
|
|
40
|
+
dropText: string;
|
|
41
|
+
hiddenSave: boolean;
|
|
42
|
+
hiddenDrop: boolean;
|
|
43
|
+
hiddenButtons: boolean;
|
|
44
|
+
readResource: string;
|
|
45
|
+
createResource: string;
|
|
46
|
+
updateResource: string;
|
|
47
|
+
dropResource: string;
|
|
48
|
+
readData: () => {};
|
|
49
|
+
createData: () => {};
|
|
50
|
+
updateData: () => {};
|
|
51
|
+
dropData: () => {};
|
|
52
|
+
isCreate: boolean;
|
|
53
|
+
createConfirm: string;
|
|
54
|
+
updateConfirm: string;
|
|
55
|
+
dropConfirm: string;
|
|
56
|
+
createConfirmData: () => {};
|
|
57
|
+
updateConfirmData: () => {};
|
|
58
|
+
dropConfirmData: () => {};
|
|
59
|
+
createDisabled: boolean;
|
|
60
|
+
updateDisabled: boolean;
|
|
61
|
+
dropDisabled: boolean;
|
|
62
|
+
saveValidator: () => true;
|
|
63
|
+
beforeEmitUpdate: undefined;
|
|
64
|
+
onCreate: undefined;
|
|
65
|
+
onUpdate: undefined;
|
|
66
|
+
insideModal: boolean;
|
|
67
|
+
dataStateConfig: () => {};
|
|
68
|
+
}>, {
|
|
136
69
|
doDrop: () => void;
|
|
137
70
|
doRefresh: () => Promise<void>;
|
|
138
71
|
doSave: () => void;
|
|
@@ -146,207 +79,162 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
146
79
|
create: (...args: any[]) => void;
|
|
147
80
|
perms: (...args: any[]) => void;
|
|
148
81
|
"modified-data": (...args: any[]) => void;
|
|
149
|
-
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
150
|
-
modelValue:
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
};
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
required: false;
|
|
217
|
-
default: () => {};
|
|
218
|
-
};
|
|
219
|
-
isCreate: {
|
|
220
|
-
type: BooleanConstructor;
|
|
221
|
-
default: boolean;
|
|
222
|
-
};
|
|
223
|
-
createConfirm: {
|
|
224
|
-
type: StringConstructor;
|
|
225
|
-
default: string;
|
|
226
|
-
};
|
|
227
|
-
updateConfirm: {
|
|
228
|
-
type: StringConstructor;
|
|
229
|
-
default: string;
|
|
230
|
-
};
|
|
231
|
-
dropConfirm: {
|
|
232
|
-
type: StringConstructor;
|
|
233
|
-
default: string;
|
|
234
|
-
};
|
|
235
|
-
createConfirmData: {
|
|
236
|
-
type: ObjectConstructor;
|
|
237
|
-
default: () => {};
|
|
238
|
-
};
|
|
239
|
-
updateConfirmData: {
|
|
240
|
-
type: ObjectConstructor;
|
|
241
|
-
default: () => {};
|
|
242
|
-
};
|
|
243
|
-
dropConfirmData: {
|
|
244
|
-
type: ObjectConstructor;
|
|
245
|
-
default: () => {};
|
|
246
|
-
};
|
|
247
|
-
createDisabled: {
|
|
248
|
-
type: BooleanConstructor;
|
|
249
|
-
default: boolean;
|
|
250
|
-
};
|
|
251
|
-
updateDisabled: {
|
|
252
|
-
type: BooleanConstructor;
|
|
253
|
-
default: boolean;
|
|
254
|
-
};
|
|
255
|
-
dropDisabled: {
|
|
256
|
-
type: BooleanConstructor;
|
|
257
|
-
default: boolean;
|
|
258
|
-
};
|
|
259
|
-
saveValidator: {
|
|
260
|
-
type: FunctionConstructor;
|
|
261
|
-
required: false;
|
|
262
|
-
default: () => boolean;
|
|
263
|
-
};
|
|
264
|
-
beforeEmitUpdate: {
|
|
265
|
-
type: FunctionConstructor;
|
|
266
|
-
required: false;
|
|
267
|
-
default: () => boolean;
|
|
268
|
-
};
|
|
269
|
-
onCreate: {
|
|
270
|
-
type: FunctionConstructor;
|
|
271
|
-
required: false;
|
|
272
|
-
default: () => boolean;
|
|
273
|
-
};
|
|
274
|
-
onUpdate: {
|
|
275
|
-
type: FunctionConstructor;
|
|
276
|
-
required: false;
|
|
277
|
-
default: () => boolean;
|
|
278
|
-
};
|
|
279
|
-
insideModal: {
|
|
280
|
-
type: BooleanConstructor;
|
|
281
|
-
default: boolean;
|
|
282
|
-
};
|
|
283
|
-
}>> & {
|
|
82
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
83
|
+
modelValue: LktObject;
|
|
84
|
+
title: string;
|
|
85
|
+
editModeText: string;
|
|
86
|
+
saveText: string;
|
|
87
|
+
dropText: string;
|
|
88
|
+
hiddenSave: boolean;
|
|
89
|
+
hiddenDrop: boolean;
|
|
90
|
+
hiddenButtons: boolean;
|
|
91
|
+
readResource: string;
|
|
92
|
+
createResource: string;
|
|
93
|
+
updateResource: string;
|
|
94
|
+
dropResource: string;
|
|
95
|
+
readData: LktObject;
|
|
96
|
+
createData: LktObject;
|
|
97
|
+
updateData: LktObject;
|
|
98
|
+
dropData: LktObject;
|
|
99
|
+
isCreate: boolean;
|
|
100
|
+
createConfirm: string;
|
|
101
|
+
updateConfirm: string;
|
|
102
|
+
dropConfirm: string;
|
|
103
|
+
createConfirmData: LktObject;
|
|
104
|
+
updateConfirmData: LktObject;
|
|
105
|
+
dropConfirmData: LktObject;
|
|
106
|
+
createDisabled: boolean;
|
|
107
|
+
updateDisabled: boolean;
|
|
108
|
+
dropDisabled: boolean;
|
|
109
|
+
saveValidator: Function;
|
|
110
|
+
beforeEmitUpdate: Function | undefined;
|
|
111
|
+
onCreate: Function | undefined;
|
|
112
|
+
onUpdate: Function | undefined;
|
|
113
|
+
insideModal: boolean;
|
|
114
|
+
dataStateConfig: LktObject;
|
|
115
|
+
}>, {
|
|
116
|
+
modelValue: () => {};
|
|
117
|
+
title: string;
|
|
118
|
+
editModeText: string;
|
|
119
|
+
saveText: string;
|
|
120
|
+
dropText: string;
|
|
121
|
+
hiddenSave: boolean;
|
|
122
|
+
hiddenDrop: boolean;
|
|
123
|
+
hiddenButtons: boolean;
|
|
124
|
+
readResource: string;
|
|
125
|
+
createResource: string;
|
|
126
|
+
updateResource: string;
|
|
127
|
+
dropResource: string;
|
|
128
|
+
readData: () => {};
|
|
129
|
+
createData: () => {};
|
|
130
|
+
updateData: () => {};
|
|
131
|
+
dropData: () => {};
|
|
132
|
+
isCreate: boolean;
|
|
133
|
+
createConfirm: string;
|
|
134
|
+
updateConfirm: string;
|
|
135
|
+
dropConfirm: string;
|
|
136
|
+
createConfirmData: () => {};
|
|
137
|
+
updateConfirmData: () => {};
|
|
138
|
+
dropConfirmData: () => {};
|
|
139
|
+
createDisabled: boolean;
|
|
140
|
+
updateDisabled: boolean;
|
|
141
|
+
dropDisabled: boolean;
|
|
142
|
+
saveValidator: () => true;
|
|
143
|
+
beforeEmitUpdate: undefined;
|
|
144
|
+
onCreate: undefined;
|
|
145
|
+
onUpdate: undefined;
|
|
146
|
+
insideModal: boolean;
|
|
147
|
+
dataStateConfig: () => {};
|
|
148
|
+
}>>> & {
|
|
284
149
|
onError?: ((...args: any[]) => any) | undefined;
|
|
285
150
|
onDrop?: ((...args: any[]) => any) | undefined;
|
|
151
|
+
onCreate?: ((...args: any[]) => any) | undefined;
|
|
286
152
|
onUpdate?: ((...args: any[]) => any) | undefined;
|
|
287
153
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
288
154
|
"onUpdate:isCreate"?: ((...args: any[]) => any) | undefined;
|
|
289
155
|
onRead?: ((...args: any[]) => any) | undefined;
|
|
290
|
-
onCreate?: ((...args: any[]) => any) | undefined;
|
|
291
156
|
onPerms?: ((...args: any[]) => any) | undefined;
|
|
292
157
|
"onModified-data"?: ((...args: any[]) => any) | undefined;
|
|
293
158
|
}, {
|
|
294
159
|
title: string;
|
|
295
|
-
|
|
296
|
-
onCreate: Function;
|
|
297
|
-
modelValue: Record<string, any>;
|
|
160
|
+
modelValue: LktObject;
|
|
298
161
|
editModeText: string;
|
|
299
162
|
saveText: string;
|
|
300
163
|
dropText: string;
|
|
301
164
|
hiddenSave: boolean;
|
|
302
165
|
hiddenDrop: boolean;
|
|
303
166
|
hiddenButtons: boolean;
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
167
|
+
readResource: string;
|
|
168
|
+
createResource: string;
|
|
169
|
+
updateResource: string;
|
|
170
|
+
dropResource: string;
|
|
171
|
+
readData: LktObject;
|
|
172
|
+
createData: LktObject;
|
|
173
|
+
updateData: LktObject;
|
|
174
|
+
dropData: LktObject;
|
|
308
175
|
isCreate: boolean;
|
|
309
176
|
createConfirm: string;
|
|
310
177
|
updateConfirm: string;
|
|
311
178
|
dropConfirm: string;
|
|
312
|
-
createConfirmData:
|
|
313
|
-
updateConfirmData:
|
|
314
|
-
dropConfirmData:
|
|
179
|
+
createConfirmData: LktObject;
|
|
180
|
+
updateConfirmData: LktObject;
|
|
181
|
+
dropConfirmData: LktObject;
|
|
315
182
|
createDisabled: boolean;
|
|
316
183
|
updateDisabled: boolean;
|
|
317
184
|
dropDisabled: boolean;
|
|
318
185
|
saveValidator: Function;
|
|
319
|
-
beforeEmitUpdate: Function;
|
|
186
|
+
beforeEmitUpdate: Function | undefined;
|
|
187
|
+
onCreate: Function | undefined;
|
|
188
|
+
onUpdate: Function | undefined;
|
|
320
189
|
insideModal: boolean;
|
|
190
|
+
dataStateConfig: LktObject;
|
|
321
191
|
}, {}>, {
|
|
322
192
|
"post-title"?(_: {
|
|
323
|
-
item:
|
|
193
|
+
item: LktObject;
|
|
324
194
|
loading: boolean;
|
|
325
195
|
}): any;
|
|
326
196
|
"button-drop"?(_: {
|
|
327
|
-
item:
|
|
197
|
+
item: LktObject;
|
|
328
198
|
editMode: boolean;
|
|
329
199
|
isCreate: false;
|
|
330
200
|
canUpdate: boolean;
|
|
331
201
|
canDrop: boolean;
|
|
332
202
|
}): any;
|
|
333
203
|
"button-save"?(_: {
|
|
334
|
-
item:
|
|
204
|
+
item: LktObject;
|
|
335
205
|
editMode: boolean;
|
|
336
206
|
isCreate: boolean;
|
|
337
207
|
canUpdate: boolean;
|
|
338
208
|
canDrop: boolean;
|
|
339
209
|
}): any;
|
|
340
210
|
item?(_: {
|
|
341
|
-
item:
|
|
211
|
+
item: LktObject;
|
|
342
212
|
loading: false;
|
|
343
213
|
editMode: boolean;
|
|
344
214
|
isCreate: boolean;
|
|
345
215
|
canUpdate: boolean;
|
|
346
216
|
canDrop: boolean;
|
|
217
|
+
itemBeingEdited: boolean;
|
|
347
218
|
}): any;
|
|
348
219
|
}>;
|
|
349
220
|
export default _default;
|
|
221
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
222
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
223
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
224
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
225
|
+
} : {
|
|
226
|
+
type: import('vue').PropType<T[K]>;
|
|
227
|
+
required: true;
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
type __VLS_WithDefaults<P, D> = {
|
|
231
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
232
|
+
default: D[K];
|
|
233
|
+
}> : P[K];
|
|
234
|
+
};
|
|
235
|
+
type __VLS_Prettify<T> = {
|
|
236
|
+
[K in keyof T]: T[K];
|
|
237
|
+
} & {};
|
|
350
238
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
351
239
|
new (): {
|
|
352
240
|
$slots: S;
|
package/package.json
CHANGED
|
@@ -1,54 +1,76 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
export default {name: "LktItemCrud", inheritAttrs: false}
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
1
|
<script setup lang="ts">
|
|
6
|
-
import {ref, watch, useSlots, computed} from "vue";
|
|
2
|
+
import {ref, watch, useSlots, computed, nextTick} from "vue";
|
|
7
3
|
import {httpCall, HTTPResponse} from "lkt-http-client";
|
|
8
4
|
import {DataState} from "lkt-data-state";
|
|
9
5
|
import {debug} from "../functions/debug";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
editModeText:
|
|
16
|
-
saveText:
|
|
17
|
-
dropText:
|
|
18
|
-
hiddenSave:
|
|
19
|
-
hiddenDrop:
|
|
20
|
-
hiddenButtons:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
6
|
+
import {LktObject} from "lkt-ts-interfaces";
|
|
7
|
+
|
|
8
|
+
const props = withDefaults(defineProps<{
|
|
9
|
+
modelValue: LktObject
|
|
10
|
+
title: string
|
|
11
|
+
editModeText: string
|
|
12
|
+
saveText: string
|
|
13
|
+
dropText: string
|
|
14
|
+
hiddenSave: boolean
|
|
15
|
+
hiddenDrop: boolean
|
|
16
|
+
hiddenButtons: boolean
|
|
17
|
+
readResource: string
|
|
18
|
+
createResource: string
|
|
19
|
+
updateResource: string
|
|
20
|
+
dropResource: string
|
|
21
|
+
readData: LktObject
|
|
22
|
+
createData: LktObject
|
|
23
|
+
updateData: LktObject
|
|
24
|
+
dropData: LktObject
|
|
25
|
+
isCreate: boolean
|
|
26
|
+
createConfirm: string
|
|
27
|
+
updateConfirm: string
|
|
28
|
+
dropConfirm: string
|
|
29
|
+
createConfirmData: LktObject
|
|
30
|
+
updateConfirmData: LktObject
|
|
31
|
+
dropConfirmData: LktObject
|
|
32
|
+
createDisabled: boolean
|
|
33
|
+
updateDisabled: boolean
|
|
34
|
+
dropDisabled: boolean
|
|
35
|
+
saveValidator: Function
|
|
36
|
+
beforeEmitUpdate: Function|undefined
|
|
37
|
+
onCreate: Function|undefined
|
|
38
|
+
onUpdate: Function|undefined
|
|
39
|
+
insideModal: boolean
|
|
40
|
+
dataStateConfig: LktObject
|
|
41
|
+
}>(), {
|
|
42
|
+
modelValue: () => ({}),
|
|
43
|
+
title: '',
|
|
44
|
+
editModeText: 'Edition Mode',
|
|
45
|
+
saveText: 'Save',
|
|
46
|
+
dropText: 'Delete',
|
|
47
|
+
hiddenSave: false,
|
|
48
|
+
hiddenDrop: false,
|
|
49
|
+
hiddenButtons: false,
|
|
50
|
+
readResource: '',
|
|
51
|
+
createResource: '',
|
|
52
|
+
updateResource: '',
|
|
53
|
+
dropResource: '',
|
|
54
|
+
readData: () => ({}),
|
|
55
|
+
createData: () => ({}),
|
|
56
|
+
updateData: () => ({}),
|
|
57
|
+
dropData: () => ({}),
|
|
58
|
+
isCreate: false,
|
|
59
|
+
createConfirm: '',
|
|
60
|
+
updateConfirm: '',
|
|
61
|
+
dropConfirm: '',
|
|
62
|
+
createConfirmData: () => ({}),
|
|
63
|
+
updateConfirmData: () => ({}),
|
|
64
|
+
dropConfirmData: () => ({}),
|
|
65
|
+
createDisabled: false,
|
|
66
|
+
updateDisabled: false,
|
|
67
|
+
dropDisabled: false,
|
|
68
|
+
saveValidator: () => true,
|
|
69
|
+
beforeEmitUpdate: undefined,
|
|
70
|
+
onCreate: undefined,
|
|
71
|
+
onUpdate: undefined,
|
|
72
|
+
insideModal: false,
|
|
73
|
+
dataStateConfig: () => ({}),
|
|
52
74
|
});
|
|
53
75
|
|
|
54
76
|
const slots = useSlots();
|
|
@@ -66,8 +88,9 @@ const isLoading = ref(true),
|
|
|
66
88
|
httpStatus = ref(200),
|
|
67
89
|
saveButton = ref(null),
|
|
68
90
|
dropButton = ref(null),
|
|
69
|
-
dataState = ref(new DataState(item.value)),
|
|
70
|
-
createMode = ref(props.isCreate)
|
|
91
|
+
dataState = ref(new DataState(item.value, props.dataStateConfig)),
|
|
92
|
+
createMode = ref(props.isCreate),
|
|
93
|
+
itemBeingEdited = ref(false);
|
|
71
94
|
|
|
72
95
|
const saveConfirm = computed(() => {
|
|
73
96
|
return createMode.value
|
|
@@ -140,15 +163,18 @@ watch(() => props.modelValue, v => {
|
|
|
140
163
|
}, {deep: true});
|
|
141
164
|
|
|
142
165
|
watch(item, (v) => {
|
|
166
|
+
itemBeingEdited.value = true;
|
|
143
167
|
debug('item updated ->', item.value);
|
|
144
168
|
if (typeof props.beforeEmitUpdate === 'function') {
|
|
145
169
|
debug('item updated -> has beforeEmitUpdate');
|
|
146
170
|
let override = props.beforeEmitUpdate(item.value);
|
|
171
|
+
debug('item updated -> override with: ', override);
|
|
147
172
|
if (typeof override === 'object') item.value = override;
|
|
148
173
|
}
|
|
149
174
|
emit('update:modelValue', item.value);
|
|
150
175
|
debug('item updated -> update dataState');
|
|
151
176
|
dataState.value.increment(v);
|
|
177
|
+
nextTick(() => itemBeingEdited.value = false)
|
|
152
178
|
}, {deep: true});
|
|
153
179
|
|
|
154
180
|
watch(perms, () => emit('perms', perms.value));
|
|
@@ -268,7 +294,10 @@ const showDropButton = computed(() => {
|
|
|
268
294
|
}),
|
|
269
295
|
showButtons = computed(() => {
|
|
270
296
|
return !props.hiddenButtons && (showSaveButton.value || showDropButton.value || showSwitchButton.value);
|
|
271
|
-
})
|
|
297
|
+
}),
|
|
298
|
+
computedItem = computed(() => {
|
|
299
|
+
return item;
|
|
300
|
+
});
|
|
272
301
|
</script>
|
|
273
302
|
|
|
274
303
|
<template>
|
|
@@ -333,7 +362,8 @@ const showDropButton = computed(() => {
|
|
|
333
362
|
<slot name="item" v-bind:item="item" v-bind:loading="isLoading" v-bind:edit-mode="editMode"
|
|
334
363
|
v-bind:is-create="createMode"
|
|
335
364
|
v-bind:can-update="canUpdate"
|
|
336
|
-
v-bind:can-drop="canDrop"
|
|
365
|
+
v-bind:can-drop="canDrop"
|
|
366
|
+
v-bind:item-being-edited="itemBeingEdited"></slot>
|
|
337
367
|
</div>
|
|
338
368
|
<lkt-http-info :code="httpStatus" v-else></lkt-http-info>
|
|
339
369
|
</div>
|