lkt-item-crud 1.0.11 → 1.1.0
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.js +205 -0
- package/dist/index.d.ts +4 -0
- package/dist/lib-components/LktItemCrud.vue.d.ts +283 -0
- package/dist/style.css +1 -1
- package/package.json +23 -52
- package/src/lib-components/LktItemCrud.vue +4 -1
- package/dist/jest.config.d.ts +0 -2
- package/dist/lkt-item-crud.es.js +0 -209
- package/dist/lkt-item-crud.umd.js +0 -1
- package/dist/types/index.d.ts +0 -6
- package/dist/types/lib-components/LktItemCrud.vue.d.ts +0 -566
- package/dist/vite.config.d.ts +0 -45
- package/src/index.ts +0 -20
package/dist/build.js
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { defineComponent as le, useSlots as ue, ref as n, computed as o, watch as B, resolveComponent as w, openBlock as i, createElementBlock as m, createElementVNode as M, toDisplayString as I, renderSlot as R, createCommentVNode as S, withDirectives as V, createBlock as _, withCtx as F, unref as H, vShow as q, createVNode as P } from "vue";
|
|
2
|
+
import { httpCall as re } from "lkt-http-client";
|
|
3
|
+
import { DataState as oe } from "lkt-data-state";
|
|
4
|
+
const se = { class: "lkt-item-crud" }, de = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "lkt-item-crud_header"
|
|
7
|
+
}, ne = { class: "lkt-item-crud_header-title" }, ie = { class: "lkt-item-crud_header-slot" }, ce = { class: "lkt-item-crud-buttons" }, ve = { key: 1 }, fe = { key: 1 }, pe = {
|
|
8
|
+
key: 1,
|
|
9
|
+
class: "lkt-item-crud_content"
|
|
10
|
+
}, me = {
|
|
11
|
+
key: 0,
|
|
12
|
+
class: "lkt-grid-1"
|
|
13
|
+
}, he = { name: "LktItemCrud", inheritAttrs: !1 }, ye = /* @__PURE__ */ le({
|
|
14
|
+
...he,
|
|
15
|
+
props: {
|
|
16
|
+
modelValue: { type: Object, required: !1, default: () => ({}) },
|
|
17
|
+
title: { type: String, default: "" },
|
|
18
|
+
editModeText: { type: String, default: "Edition Mode" },
|
|
19
|
+
saveText: { type: String, default: "Save" },
|
|
20
|
+
dropText: { type: String, default: "Delete" },
|
|
21
|
+
hiddenSave: { type: Boolean, default: !1 },
|
|
22
|
+
hiddenDrop: { type: Boolean, default: !1 },
|
|
23
|
+
hiddenButtons: { type: Boolean, default: !1 },
|
|
24
|
+
readResource: { type: String, required: !1 },
|
|
25
|
+
createResource: { type: String, required: !1 },
|
|
26
|
+
updateResource: { type: String, required: !1 },
|
|
27
|
+
dropResource: { type: String, required: !1 },
|
|
28
|
+
readData: { type: Object, required: !1, default: () => ({}) },
|
|
29
|
+
createData: { type: Object, required: !1, default: () => ({}) },
|
|
30
|
+
updateData: { type: Object, required: !1, default: () => ({}) },
|
|
31
|
+
dropData: { type: Object, required: !1, default: () => ({}) },
|
|
32
|
+
isCreate: { type: Boolean, default: !1 },
|
|
33
|
+
createConfirm: { type: String, default: "" },
|
|
34
|
+
updateConfirm: { type: String, default: "" },
|
|
35
|
+
dropConfirm: { type: String, default: "" },
|
|
36
|
+
createDisabled: { type: Boolean, default: !1 },
|
|
37
|
+
updateDisabled: { type: Boolean, default: !1 },
|
|
38
|
+
dropDisabled: { type: Boolean, default: !1 },
|
|
39
|
+
saveValidator: { type: Function, required: !1, default: () => !0 }
|
|
40
|
+
},
|
|
41
|
+
emits: ["update:modelValue", "read", "create", "update", "drop", "perms", "error", "modified-data"],
|
|
42
|
+
setup(a, { expose: N, emit: z }) {
|
|
43
|
+
const e = a, O = ue(), s = z;
|
|
44
|
+
let G = [];
|
|
45
|
+
const l = n(!0), r = n(e.modelValue), h = n(G), c = n(!1), v = n(!1), f = n(!1), d = n(200), k = n(null), C = n(null), y = n(new oe(r.value)), K = o(() => e.isCreate ? e.createConfirm : e.updateConfirm), T = o(() => e.isCreate ? e.createResource : e.updateResource), Q = o(() => e.isCreate ? { ...e.createData, ...JSON.parse(JSON.stringify(r.value)) } : { ...e.updateData, ...JSON.parse(JSON.stringify(r.value)) }), W = o(() => e.isCreate ? e.createDisabled : e.updateDisabled), D = o(() => !e.isCreate && h.value.includes("update")), b = o(() => !e.isCreate && h.value.includes("drop")), L = async () => {
|
|
46
|
+
l.value = !0, d.value = -1, f.value = !1;
|
|
47
|
+
try {
|
|
48
|
+
const t = await re(e.readResource, e.readData);
|
|
49
|
+
if (l.value = !1, d.value = t.httpStatus, !t.success) {
|
|
50
|
+
v.value = !1, d.value = t.httpStatus, s("error", t.httpStatus);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
v.value = !0, r.value = t.data, h.value = t.perms, y.value.increment(r.value).turnStoredIntoOriginal(), s("read", t);
|
|
54
|
+
} catch {
|
|
55
|
+
l.value = !1, v.value = !1, d.value = 404, s("error", 404);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
}, X = o(() => l.value ? !1 : e.title || !!O["post-title"]);
|
|
59
|
+
B(() => e.modelValue, (t) => {
|
|
60
|
+
r.value = t, y.value.increment(t);
|
|
61
|
+
}, { deep: !0 }), B(r, (t) => {
|
|
62
|
+
s("update:modelValue", r.value), y.value.increment(t);
|
|
63
|
+
}, { deep: !0 }), B(h, () => s("perms", h.value));
|
|
64
|
+
const $ = o(() => W.value || !e.isCreate && !D.value || typeof e.saveValidator == "function" && !e.saveValidator(r.value) ? !1 : y.value.changed());
|
|
65
|
+
B($, (t) => s("modified-data", t)), e.readResource && !e.isCreate ? L() : e.isCreate && (v.value = !0, c.value = !0, l.value = !1);
|
|
66
|
+
const Y = (t, u) => {
|
|
67
|
+
if (l.value = !1, d.value = u.httpStatus, !u.success) {
|
|
68
|
+
f.value = !0, s("error", u.httpStatus);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
f.value = !0, s("drop", u);
|
|
72
|
+
}, Z = (t, u) => {
|
|
73
|
+
if (T.value) {
|
|
74
|
+
if (l.value = !1, d.value = u.httpStatus, !u.success) {
|
|
75
|
+
f.value = !0, s("error", u.httpStatus);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
f.value = !0;
|
|
79
|
+
}
|
|
80
|
+
let g = e.isCreate ? "create" : "update";
|
|
81
|
+
e.isCreate || y.value.turnStoredIntoOriginal(), u.autoReloadId && (e.readData.id = u.autoReloadId, L()), s(g, u);
|
|
82
|
+
}, x = () => {
|
|
83
|
+
l.value = !0, d.value = -1;
|
|
84
|
+
}, j = () => {
|
|
85
|
+
l.value = !1;
|
|
86
|
+
};
|
|
87
|
+
N({
|
|
88
|
+
doDrop: () => {
|
|
89
|
+
C.value && typeof C.value.click == "function" && C.value.click();
|
|
90
|
+
},
|
|
91
|
+
doRefresh: L,
|
|
92
|
+
doSave: () => {
|
|
93
|
+
k.value && typeof k.value.click == "function" && k.value.click();
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
const U = o(() => !e.hiddenDrop && !l.value && c.value && v.value), J = o(() => l.value ? !1 : e.isCreate ? !0 : !e.hiddenSave && c.value && v.value), E = o(() => !l.value && !e.isCreate && v.value), ee = o(() => !e.hiddenButtons && (J.value || U.value || E.value));
|
|
97
|
+
return (t, u) => {
|
|
98
|
+
const g = w("lkt-button"), te = w("lkt-field-switch"), A = w("lkt-http-info"), ae = w("lkt-loader");
|
|
99
|
+
return i(), m("article", se, [
|
|
100
|
+
X.value ? (i(), m("header", de, [
|
|
101
|
+
M("h1", ne, I(a.title), 1),
|
|
102
|
+
M("div", ie, [
|
|
103
|
+
R(t.$slots, "post-title", {
|
|
104
|
+
item: r.value,
|
|
105
|
+
loading: l.value
|
|
106
|
+
})
|
|
107
|
+
])
|
|
108
|
+
])) : S("", !0),
|
|
109
|
+
V(M("div", ce, [
|
|
110
|
+
a.isCreate ? S("", !0) : V((i(), _(g, {
|
|
111
|
+
key: 0,
|
|
112
|
+
ref: (p) => C.value = p,
|
|
113
|
+
palette: "danger",
|
|
114
|
+
disabled: a.dropDisabled || !b.value,
|
|
115
|
+
"confirm-modal": a.dropConfirm,
|
|
116
|
+
resource: a.dropResource,
|
|
117
|
+
"resource-data": a.dropData,
|
|
118
|
+
onLoading: x,
|
|
119
|
+
onLoaded: j,
|
|
120
|
+
onClick: Y
|
|
121
|
+
}, {
|
|
122
|
+
default: F(() => [
|
|
123
|
+
H(O)["button-drop"] ? R(t.$slots, "button-drop", {
|
|
124
|
+
key: 0,
|
|
125
|
+
item: r.value,
|
|
126
|
+
editMode: c.value,
|
|
127
|
+
isCreate: a.isCreate,
|
|
128
|
+
canUpdate: D.value,
|
|
129
|
+
canDrop: b.value
|
|
130
|
+
}) : (i(), m("span", ve, I(a.dropText), 1))
|
|
131
|
+
]),
|
|
132
|
+
_: 3
|
|
133
|
+
}, 8, ["disabled", "confirm-modal", "resource", "resource-data"])), [
|
|
134
|
+
[q, U.value]
|
|
135
|
+
]),
|
|
136
|
+
V(P(g, {
|
|
137
|
+
ref: (p) => k.value = p,
|
|
138
|
+
palette: "success",
|
|
139
|
+
disabled: !$.value,
|
|
140
|
+
"confirm-modal": K.value,
|
|
141
|
+
resource: T.value,
|
|
142
|
+
"resource-data": Q.value,
|
|
143
|
+
onLoading: x,
|
|
144
|
+
onLoaded: j,
|
|
145
|
+
onClick: Z
|
|
146
|
+
}, {
|
|
147
|
+
default: F(() => [
|
|
148
|
+
H(O)["button-save"] ? R(t.$slots, "button-save", {
|
|
149
|
+
key: 0,
|
|
150
|
+
item: r.value,
|
|
151
|
+
editMode: c.value,
|
|
152
|
+
isCreate: a.isCreate,
|
|
153
|
+
canUpdate: D.value,
|
|
154
|
+
canDrop: b.value
|
|
155
|
+
}) : (i(), m("span", fe, I(a.saveText), 1))
|
|
156
|
+
]),
|
|
157
|
+
_: 3
|
|
158
|
+
}, 8, ["disabled", "confirm-modal", "resource", "resource-data"]), [
|
|
159
|
+
[q, J.value]
|
|
160
|
+
]),
|
|
161
|
+
V(P(te, {
|
|
162
|
+
modelValue: c.value,
|
|
163
|
+
"onUpdate:modelValue": u[0] || (u[0] = (p) => c.value = p),
|
|
164
|
+
label: a.editModeText
|
|
165
|
+
}, null, 8, ["modelValue", "label"]), [
|
|
166
|
+
[q, E.value]
|
|
167
|
+
])
|
|
168
|
+
], 512), [
|
|
169
|
+
[q, ee.value]
|
|
170
|
+
]),
|
|
171
|
+
l.value ? S("", !0) : (i(), m("div", pe, [
|
|
172
|
+
v.value ? (i(), m("div", me, [
|
|
173
|
+
f.value ? (i(), _(A, {
|
|
174
|
+
key: 0,
|
|
175
|
+
code: d.value,
|
|
176
|
+
quick: "",
|
|
177
|
+
palette: d.value === 200 ? "success" : "danger",
|
|
178
|
+
"can-close": "",
|
|
179
|
+
onClose: u[1] || (u[1] = (p) => f.value = !1)
|
|
180
|
+
}, null, 8, ["code", "palette"])) : S("", !0),
|
|
181
|
+
R(t.$slots, "item", {
|
|
182
|
+
item: r.value,
|
|
183
|
+
loading: l.value,
|
|
184
|
+
editMode: c.value,
|
|
185
|
+
isCreate: a.isCreate,
|
|
186
|
+
canUpdate: D.value,
|
|
187
|
+
canDrop: b.value
|
|
188
|
+
})
|
|
189
|
+
])) : (i(), _(A, {
|
|
190
|
+
key: 1,
|
|
191
|
+
code: d.value
|
|
192
|
+
}, null, 8, ["code"]))
|
|
193
|
+
])),
|
|
194
|
+
l.value ? (i(), _(ae, { key: 2 })) : S("", !0)
|
|
195
|
+
]);
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
}), ge = {
|
|
199
|
+
install: (a, N = {}) => {
|
|
200
|
+
a.component("lkt-item-crud") === void 0 && a.component("lkt-item-crud", ye);
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
export {
|
|
204
|
+
ge as default
|
|
205
|
+
};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
2
|
+
modelValue: {
|
|
3
|
+
type: ObjectConstructor;
|
|
4
|
+
required: false;
|
|
5
|
+
default: () => {};
|
|
6
|
+
};
|
|
7
|
+
title: {
|
|
8
|
+
type: StringConstructor;
|
|
9
|
+
default: string;
|
|
10
|
+
};
|
|
11
|
+
editModeText: {
|
|
12
|
+
type: StringConstructor;
|
|
13
|
+
default: string;
|
|
14
|
+
};
|
|
15
|
+
saveText: {
|
|
16
|
+
type: StringConstructor;
|
|
17
|
+
default: string;
|
|
18
|
+
};
|
|
19
|
+
dropText: {
|
|
20
|
+
type: StringConstructor;
|
|
21
|
+
default: string;
|
|
22
|
+
};
|
|
23
|
+
hiddenSave: {
|
|
24
|
+
type: BooleanConstructor;
|
|
25
|
+
default: boolean;
|
|
26
|
+
};
|
|
27
|
+
hiddenDrop: {
|
|
28
|
+
type: BooleanConstructor;
|
|
29
|
+
default: boolean;
|
|
30
|
+
};
|
|
31
|
+
hiddenButtons: {
|
|
32
|
+
type: BooleanConstructor;
|
|
33
|
+
default: boolean;
|
|
34
|
+
};
|
|
35
|
+
readResource: {
|
|
36
|
+
type: StringConstructor;
|
|
37
|
+
required: false;
|
|
38
|
+
};
|
|
39
|
+
createResource: {
|
|
40
|
+
type: StringConstructor;
|
|
41
|
+
required: false;
|
|
42
|
+
};
|
|
43
|
+
updateResource: {
|
|
44
|
+
type: StringConstructor;
|
|
45
|
+
required: false;
|
|
46
|
+
};
|
|
47
|
+
dropResource: {
|
|
48
|
+
type: StringConstructor;
|
|
49
|
+
required: false;
|
|
50
|
+
};
|
|
51
|
+
readData: {
|
|
52
|
+
type: ObjectConstructor;
|
|
53
|
+
required: false;
|
|
54
|
+
default: () => {};
|
|
55
|
+
};
|
|
56
|
+
createData: {
|
|
57
|
+
type: ObjectConstructor;
|
|
58
|
+
required: false;
|
|
59
|
+
default: () => {};
|
|
60
|
+
};
|
|
61
|
+
updateData: {
|
|
62
|
+
type: ObjectConstructor;
|
|
63
|
+
required: false;
|
|
64
|
+
default: () => {};
|
|
65
|
+
};
|
|
66
|
+
dropData: {
|
|
67
|
+
type: ObjectConstructor;
|
|
68
|
+
required: false;
|
|
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
|
+
createDisabled: {
|
|
88
|
+
type: BooleanConstructor;
|
|
89
|
+
default: boolean;
|
|
90
|
+
};
|
|
91
|
+
updateDisabled: {
|
|
92
|
+
type: BooleanConstructor;
|
|
93
|
+
default: boolean;
|
|
94
|
+
};
|
|
95
|
+
dropDisabled: {
|
|
96
|
+
type: BooleanConstructor;
|
|
97
|
+
default: boolean;
|
|
98
|
+
};
|
|
99
|
+
saveValidator: {
|
|
100
|
+
type: FunctionConstructor;
|
|
101
|
+
required: false;
|
|
102
|
+
default: () => boolean;
|
|
103
|
+
};
|
|
104
|
+
}, {
|
|
105
|
+
doDrop: () => void;
|
|
106
|
+
doRefresh: () => Promise<void>;
|
|
107
|
+
doSave: () => void;
|
|
108
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
109
|
+
error: (...args: any[]) => void;
|
|
110
|
+
drop: (...args: any[]) => void;
|
|
111
|
+
update: (...args: any[]) => void;
|
|
112
|
+
"update:modelValue": (...args: any[]) => void;
|
|
113
|
+
read: (...args: any[]) => void;
|
|
114
|
+
create: (...args: any[]) => void;
|
|
115
|
+
perms: (...args: any[]) => void;
|
|
116
|
+
"modified-data": (...args: any[]) => void;
|
|
117
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
118
|
+
modelValue: {
|
|
119
|
+
type: ObjectConstructor;
|
|
120
|
+
required: false;
|
|
121
|
+
default: () => {};
|
|
122
|
+
};
|
|
123
|
+
title: {
|
|
124
|
+
type: StringConstructor;
|
|
125
|
+
default: string;
|
|
126
|
+
};
|
|
127
|
+
editModeText: {
|
|
128
|
+
type: StringConstructor;
|
|
129
|
+
default: string;
|
|
130
|
+
};
|
|
131
|
+
saveText: {
|
|
132
|
+
type: StringConstructor;
|
|
133
|
+
default: string;
|
|
134
|
+
};
|
|
135
|
+
dropText: {
|
|
136
|
+
type: StringConstructor;
|
|
137
|
+
default: string;
|
|
138
|
+
};
|
|
139
|
+
hiddenSave: {
|
|
140
|
+
type: BooleanConstructor;
|
|
141
|
+
default: boolean;
|
|
142
|
+
};
|
|
143
|
+
hiddenDrop: {
|
|
144
|
+
type: BooleanConstructor;
|
|
145
|
+
default: boolean;
|
|
146
|
+
};
|
|
147
|
+
hiddenButtons: {
|
|
148
|
+
type: BooleanConstructor;
|
|
149
|
+
default: boolean;
|
|
150
|
+
};
|
|
151
|
+
readResource: {
|
|
152
|
+
type: StringConstructor;
|
|
153
|
+
required: false;
|
|
154
|
+
};
|
|
155
|
+
createResource: {
|
|
156
|
+
type: StringConstructor;
|
|
157
|
+
required: false;
|
|
158
|
+
};
|
|
159
|
+
updateResource: {
|
|
160
|
+
type: StringConstructor;
|
|
161
|
+
required: false;
|
|
162
|
+
};
|
|
163
|
+
dropResource: {
|
|
164
|
+
type: StringConstructor;
|
|
165
|
+
required: false;
|
|
166
|
+
};
|
|
167
|
+
readData: {
|
|
168
|
+
type: ObjectConstructor;
|
|
169
|
+
required: false;
|
|
170
|
+
default: () => {};
|
|
171
|
+
};
|
|
172
|
+
createData: {
|
|
173
|
+
type: ObjectConstructor;
|
|
174
|
+
required: false;
|
|
175
|
+
default: () => {};
|
|
176
|
+
};
|
|
177
|
+
updateData: {
|
|
178
|
+
type: ObjectConstructor;
|
|
179
|
+
required: false;
|
|
180
|
+
default: () => {};
|
|
181
|
+
};
|
|
182
|
+
dropData: {
|
|
183
|
+
type: ObjectConstructor;
|
|
184
|
+
required: false;
|
|
185
|
+
default: () => {};
|
|
186
|
+
};
|
|
187
|
+
isCreate: {
|
|
188
|
+
type: BooleanConstructor;
|
|
189
|
+
default: boolean;
|
|
190
|
+
};
|
|
191
|
+
createConfirm: {
|
|
192
|
+
type: StringConstructor;
|
|
193
|
+
default: string;
|
|
194
|
+
};
|
|
195
|
+
updateConfirm: {
|
|
196
|
+
type: StringConstructor;
|
|
197
|
+
default: string;
|
|
198
|
+
};
|
|
199
|
+
dropConfirm: {
|
|
200
|
+
type: StringConstructor;
|
|
201
|
+
default: string;
|
|
202
|
+
};
|
|
203
|
+
createDisabled: {
|
|
204
|
+
type: BooleanConstructor;
|
|
205
|
+
default: boolean;
|
|
206
|
+
};
|
|
207
|
+
updateDisabled: {
|
|
208
|
+
type: BooleanConstructor;
|
|
209
|
+
default: boolean;
|
|
210
|
+
};
|
|
211
|
+
dropDisabled: {
|
|
212
|
+
type: BooleanConstructor;
|
|
213
|
+
default: boolean;
|
|
214
|
+
};
|
|
215
|
+
saveValidator: {
|
|
216
|
+
type: FunctionConstructor;
|
|
217
|
+
required: false;
|
|
218
|
+
default: () => boolean;
|
|
219
|
+
};
|
|
220
|
+
}>> & {
|
|
221
|
+
onError?: ((...args: any[]) => any) | undefined;
|
|
222
|
+
onDrop?: ((...args: any[]) => any) | undefined;
|
|
223
|
+
onUpdate?: ((...args: any[]) => any) | undefined;
|
|
224
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
225
|
+
onRead?: ((...args: any[]) => any) | undefined;
|
|
226
|
+
onCreate?: ((...args: any[]) => any) | undefined;
|
|
227
|
+
onPerms?: ((...args: any[]) => any) | undefined;
|
|
228
|
+
"onModified-data"?: ((...args: any[]) => any) | undefined;
|
|
229
|
+
}, {
|
|
230
|
+
title: string;
|
|
231
|
+
modelValue: Record<string, any>;
|
|
232
|
+
editModeText: string;
|
|
233
|
+
saveText: string;
|
|
234
|
+
dropText: string;
|
|
235
|
+
hiddenSave: boolean;
|
|
236
|
+
hiddenDrop: boolean;
|
|
237
|
+
hiddenButtons: boolean;
|
|
238
|
+
readData: Record<string, any>;
|
|
239
|
+
createData: Record<string, any>;
|
|
240
|
+
updateData: Record<string, any>;
|
|
241
|
+
dropData: Record<string, any>;
|
|
242
|
+
isCreate: boolean;
|
|
243
|
+
createConfirm: string;
|
|
244
|
+
updateConfirm: string;
|
|
245
|
+
dropConfirm: string;
|
|
246
|
+
createDisabled: boolean;
|
|
247
|
+
updateDisabled: boolean;
|
|
248
|
+
dropDisabled: boolean;
|
|
249
|
+
saveValidator: Function;
|
|
250
|
+
}, {}>, {
|
|
251
|
+
"post-title"?(_: {
|
|
252
|
+
item: Record<string, any>;
|
|
253
|
+
loading: boolean;
|
|
254
|
+
}): any;
|
|
255
|
+
"button-drop"?(_: {
|
|
256
|
+
item: Record<string, any>;
|
|
257
|
+
editMode: boolean;
|
|
258
|
+
isCreate: false;
|
|
259
|
+
canUpdate: boolean;
|
|
260
|
+
canDrop: boolean;
|
|
261
|
+
}): any;
|
|
262
|
+
"button-save"?(_: {
|
|
263
|
+
item: Record<string, any>;
|
|
264
|
+
editMode: boolean;
|
|
265
|
+
isCreate: boolean;
|
|
266
|
+
canUpdate: boolean;
|
|
267
|
+
canDrop: boolean;
|
|
268
|
+
}): any;
|
|
269
|
+
item?(_: {
|
|
270
|
+
item: Record<string, any>;
|
|
271
|
+
loading: false;
|
|
272
|
+
editMode: boolean;
|
|
273
|
+
isCreate: boolean;
|
|
274
|
+
canUpdate: boolean;
|
|
275
|
+
canDrop: boolean;
|
|
276
|
+
}): any;
|
|
277
|
+
}>;
|
|
278
|
+
export default _default;
|
|
279
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
280
|
+
new (): {
|
|
281
|
+
$slots: S;
|
|
282
|
+
};
|
|
283
|
+
};
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.lkt-item-crud{display:flex;flex-direction:column;gap:var(--gap)}.lkt-item-crud_content{display:flex;flex-direction:column;gap:15px}.lkt-item-crud-buttons{position:sticky;top:calc(-1 * var(--gap));display:flex;align-items:center;gap:var(--gap);transition:all linear .15s;background:#
|
|
1
|
+
.lkt-item-crud{display:flex;flex-direction:column;gap:var(--gap)}.lkt-item-crud_content{display:flex;flex-direction:column;gap:15px}.lkt-item-crud-buttons{position:sticky;top:calc(-1 * var(--gap));display:flex;align-items:center;gap:var(--gap);transition:all linear .15s;background:#fff;z-index:2}.lkt-item-crud-buttons>:last-child{margin-left:auto}
|
package/package.json
CHANGED
|
@@ -1,61 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lkt-item-crud",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "",
|
|
5
|
-
"
|
|
6
|
-
"module": "
|
|
7
|
-
"files": [
|
|
8
|
-
"dist/*",
|
|
9
|
-
"src/**/*.vue"
|
|
10
|
-
],
|
|
11
|
-
"sideEffects": false,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"module": "./dist/build.js",
|
|
12
7
|
"exports": {
|
|
13
8
|
".": {
|
|
14
|
-
"import": "./dist/
|
|
15
|
-
"require": "./dist/lkt-item-crud.umd.js"
|
|
9
|
+
"import": "./dist/build.js"
|
|
16
10
|
},
|
|
17
|
-
"./
|
|
11
|
+
"./styles": "./dist/style.css"
|
|
18
12
|
},
|
|
19
|
-
"types": "./dist/
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"files": ["dist/*", "src/**/*.vue"],
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"sideEffects": false,
|
|
20
17
|
"scripts": {
|
|
21
|
-
"
|
|
22
|
-
"build": "vite build && vue-tsc --emitDeclarationOnly --project tsconfig.json && mv dist/src dist/types",
|
|
23
|
-
"build2": "vite build",
|
|
24
|
-
"preview": "vite preview",
|
|
25
|
-
"test": "jest",
|
|
26
|
-
"test-coverage": "vitest run --coverage"
|
|
18
|
+
"build": "rm -rf dist/*; vue-tsc --declaration --emitDeclarationOnly; vite build; cp build/* dist/"
|
|
27
19
|
},
|
|
28
20
|
"author": "Antonio Ibáñez",
|
|
29
21
|
"devDependencies": {
|
|
30
|
-
"@babel/
|
|
31
|
-
"@
|
|
32
|
-
"@
|
|
33
|
-
"@
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
"babel-jest": "^29.0.3",
|
|
43
|
-
"babel-loader": "^8.2.2",
|
|
44
|
-
"cypress": "^6.8.0",
|
|
45
|
-
"eslint": "8.22.0",
|
|
46
|
-
"eslint-config-prettier": "^8.1.0",
|
|
47
|
-
"eslint-plugin-cypress": "^2.11.2",
|
|
48
|
-
"eslint-plugin-html": "^7.1.0",
|
|
49
|
-
"eslint-plugin-import": "^2.22.1",
|
|
50
|
-
"eslint-plugin-jest": "^24.3.2",
|
|
51
|
-
"eslint-plugin-prettier": "^3.3.1",
|
|
52
|
-
"eslint-plugin-simple-import-sort": "^7.0.0",
|
|
53
|
-
"jest": "^29.0.3",
|
|
54
|
-
"prettier": "^2.7.1",
|
|
55
|
-
"ts-jest": "^29.0.0",
|
|
56
|
-
"typescript": "^4.8.3",
|
|
57
|
-
"vite": "^3.1.2",
|
|
58
|
-
"vue-tsc": "^0.38.9"
|
|
22
|
+
"@babel/types": "^7.23.6",
|
|
23
|
+
"@types/node": "^20.11.19",
|
|
24
|
+
"@types/rollup": "^0.54.0",
|
|
25
|
+
"@vitejs/plugin-vue": "^5.0.4",
|
|
26
|
+
"rollup": "^4.9.6",
|
|
27
|
+
"typescript": "^5.3.3",
|
|
28
|
+
"vite": "^5.1.3",
|
|
29
|
+
"vue": "^3.3.0",
|
|
30
|
+
"vue-tsc": "^1.8.27"
|
|
31
|
+
},
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": ">=18"
|
|
59
34
|
},
|
|
60
35
|
"dependencies": {
|
|
61
36
|
"lkt-button": "^1.0.14",
|
|
@@ -67,10 +42,6 @@
|
|
|
67
42
|
"lkt-loader": "^1.0.2",
|
|
68
43
|
"lkt-string-tools": "^1.0.2",
|
|
69
44
|
"lkt-ts-interfaces": "^1.0.2",
|
|
70
|
-
"path": "^0.12.7"
|
|
71
|
-
"vue": "^3.3.0"
|
|
72
|
-
},
|
|
73
|
-
"engines": {
|
|
74
|
-
"node": ">=18"
|
|
45
|
+
"path": "^0.12.7"
|
|
75
46
|
}
|
|
76
47
|
}
|
|
@@ -209,8 +209,11 @@ const showDropButton = computed(() => {
|
|
|
209
209
|
&& httpSuccessRead.value;
|
|
210
210
|
}),
|
|
211
211
|
showSaveButton = computed(() => {
|
|
212
|
+
if (isLoading.value) return false;
|
|
213
|
+
|
|
214
|
+
if (props.isCreate) return true;
|
|
215
|
+
|
|
212
216
|
return !props.hiddenSave
|
|
213
|
-
&& !isLoading.value
|
|
214
217
|
&& editMode.value
|
|
215
218
|
&& httpSuccessRead.value;
|
|
216
219
|
}),
|
package/dist/jest.config.d.ts
DELETED