lkt-item-crud 1.0.11 → 1.0.12
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/lkt-item-crud.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent as le, useSlots as ue, ref as n, computed as
|
|
2
|
-
import { httpCall as
|
|
3
|
-
import { DataState as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
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 I, toDisplayString as M, renderSlot as R, createCommentVNode as y, withDirectives as V, createBlock as _, withCtx as A, unref as F, vShow as L, createVNode as P } from "vue";
|
|
2
|
+
import { httpCall as re } from "lkt-http-client";
|
|
3
|
+
import { DataState as oe } from "lkt-data-state";
|
|
4
|
+
import se from "lkt-button";
|
|
5
|
+
import de from "lkt-http-info";
|
|
6
6
|
import ne from "lkt-loader";
|
|
7
7
|
const ie = { class: "lkt-item-crud" }, ce = {
|
|
8
8
|
key: 0,
|
|
@@ -43,47 +43,47 @@ const ie = { class: "lkt-item-crud" }, ce = {
|
|
|
43
43
|
},
|
|
44
44
|
emits: ["update:modelValue", "read", "create", "update", "drop", "perms", "error", "modified-data"],
|
|
45
45
|
setup(t, { expose: N, emit: z }) {
|
|
46
|
-
const e = t, q = ue(),
|
|
46
|
+
const e = t, q = ue(), s = z;
|
|
47
47
|
let G = [];
|
|
48
|
-
const l = n(!0),
|
|
49
|
-
l.value = !0,
|
|
48
|
+
const l = n(!0), r = n(e.modelValue), h = n(G), c = n(!1), v = n(!1), f = n(!1), d = n(200), S = n(null), C = n(null), k = 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")), O = async () => {
|
|
49
|
+
l.value = !0, d.value = -1, f.value = !1;
|
|
50
50
|
try {
|
|
51
|
-
const a = await
|
|
52
|
-
if (l.value = !1,
|
|
53
|
-
v.value = !1,
|
|
51
|
+
const a = await re(e.readResource, e.readData);
|
|
52
|
+
if (l.value = !1, d.value = a.httpStatus, !a.success) {
|
|
53
|
+
v.value = !1, d.value = a.httpStatus, s("error", a.httpStatus);
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
|
-
v.value = !0,
|
|
56
|
+
v.value = !0, r.value = a.data, h.value = a.perms, k.value.increment(r.value).turnStoredIntoOriginal(), s("read", a);
|
|
57
57
|
} catch {
|
|
58
|
-
l.value = !1, v.value = !1,
|
|
58
|
+
l.value = !1, v.value = !1, d.value = 404, s("error", 404);
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
|
-
}, X =
|
|
61
|
+
}, X = o(() => l.value ? !1 : e.title || !!q["post-title"]);
|
|
62
62
|
B(() => e.modelValue, (a) => {
|
|
63
|
-
|
|
64
|
-
}, { deep: !0 }), B(
|
|
65
|
-
|
|
66
|
-
}, { deep: !0 }), B(h, () =>
|
|
67
|
-
const $ =
|
|
68
|
-
B($, (a) =>
|
|
63
|
+
r.value = a, k.value.increment(a);
|
|
64
|
+
}, { deep: !0 }), B(r, (a) => {
|
|
65
|
+
s("update:modelValue", r.value), k.value.increment(a);
|
|
66
|
+
}, { deep: !0 }), B(h, () => s("perms", h.value));
|
|
67
|
+
const $ = o(() => W.value || !e.isCreate && !D.value || typeof e.saveValidator == "function" && !e.saveValidator(r.value) ? !1 : k.value.changed());
|
|
68
|
+
B($, (a) => s("modified-data", a)), e.readResource && !e.isCreate ? O() : e.isCreate && (v.value = !0, c.value = !0, l.value = !1);
|
|
69
69
|
const Y = (a, u) => {
|
|
70
|
-
if (l.value = !1,
|
|
71
|
-
f.value = !0,
|
|
70
|
+
if (l.value = !1, d.value = u.httpStatus, !u.success) {
|
|
71
|
+
f.value = !0, s("error", u.httpStatus);
|
|
72
72
|
return;
|
|
73
73
|
}
|
|
74
|
-
f.value = !0,
|
|
74
|
+
f.value = !0, s("drop", u);
|
|
75
75
|
}, Z = (a, u) => {
|
|
76
76
|
if (T.value) {
|
|
77
|
-
if (l.value = !1,
|
|
78
|
-
f.value = !0,
|
|
77
|
+
if (l.value = !1, d.value = u.httpStatus, !u.success) {
|
|
78
|
+
f.value = !0, s("error", u.httpStatus);
|
|
79
79
|
return;
|
|
80
80
|
}
|
|
81
81
|
f.value = !0;
|
|
82
82
|
}
|
|
83
83
|
let g = e.isCreate ? "create" : "update";
|
|
84
|
-
e.isCreate || k.value.turnStoredIntoOriginal(), u.autoReloadId && (e.readData.id = u.autoReloadId, O()),
|
|
84
|
+
e.isCreate || k.value.turnStoredIntoOriginal(), u.autoReloadId && (e.readData.id = u.autoReloadId, O()), s(g, u);
|
|
85
85
|
}, x = () => {
|
|
86
|
-
l.value = !0,
|
|
86
|
+
l.value = !0, d.value = -1;
|
|
87
87
|
}, j = () => {
|
|
88
88
|
l.value = !1;
|
|
89
89
|
};
|
|
@@ -96,7 +96,7 @@ const ie = { class: "lkt-item-crud" }, ce = {
|
|
|
96
96
|
S.value && typeof S.value.click == "function" && S.value.click();
|
|
97
97
|
}
|
|
98
98
|
});
|
|
99
|
-
const U =
|
|
99
|
+
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));
|
|
100
100
|
return (a, u) => {
|
|
101
101
|
const g = w("lkt-button"), te = w("lkt-field-switch"), H = w("lkt-http-info"), ae = w("lkt-loader");
|
|
102
102
|
return i(), m("article", ie, [
|
|
@@ -104,7 +104,7 @@ const ie = { class: "lkt-item-crud" }, ce = {
|
|
|
104
104
|
I("h1", ve, M(t.title), 1),
|
|
105
105
|
I("div", fe, [
|
|
106
106
|
R(a.$slots, "post-title", {
|
|
107
|
-
item:
|
|
107
|
+
item: r.value,
|
|
108
108
|
loading: l.value
|
|
109
109
|
})
|
|
110
110
|
])
|
|
@@ -125,7 +125,7 @@ const ie = { class: "lkt-item-crud" }, ce = {
|
|
|
125
125
|
default: A(() => [
|
|
126
126
|
F(q)["button-drop"] ? R(a.$slots, "button-drop", {
|
|
127
127
|
key: 0,
|
|
128
|
-
item:
|
|
128
|
+
item: r.value,
|
|
129
129
|
editMode: c.value,
|
|
130
130
|
isCreate: t.isCreate,
|
|
131
131
|
canUpdate: D.value,
|
|
@@ -150,7 +150,7 @@ const ie = { class: "lkt-item-crud" }, ce = {
|
|
|
150
150
|
default: A(() => [
|
|
151
151
|
F(q)["button-save"] ? R(a.$slots, "button-save", {
|
|
152
152
|
key: 0,
|
|
153
|
-
item:
|
|
153
|
+
item: r.value,
|
|
154
154
|
editMode: c.value,
|
|
155
155
|
isCreate: t.isCreate,
|
|
156
156
|
canUpdate: D.value,
|
|
@@ -175,14 +175,14 @@ const ie = { class: "lkt-item-crud" }, ce = {
|
|
|
175
175
|
v.value ? (i(), m("div", ye, [
|
|
176
176
|
f.value ? (i(), _(H, {
|
|
177
177
|
key: 0,
|
|
178
|
-
code:
|
|
178
|
+
code: d.value,
|
|
179
179
|
quick: "",
|
|
180
|
-
palette:
|
|
180
|
+
palette: d.value === 200 ? "success" : "danger",
|
|
181
181
|
"can-close": "",
|
|
182
182
|
onClose: u[1] || (u[1] = (p) => f.value = !1)
|
|
183
183
|
}, null, 8, ["code", "palette"])) : y("", !0),
|
|
184
184
|
R(a.$slots, "item", {
|
|
185
|
-
item:
|
|
185
|
+
item: r.value,
|
|
186
186
|
loading: l.value,
|
|
187
187
|
editMode: c.value,
|
|
188
188
|
isCreate: t.isCreate,
|
|
@@ -191,7 +191,7 @@ const ie = { class: "lkt-item-crud" }, ce = {
|
|
|
191
191
|
})
|
|
192
192
|
])) : (i(), _(H, {
|
|
193
193
|
key: 1,
|
|
194
|
-
code:
|
|
194
|
+
code: d.value
|
|
195
195
|
}, null, 8, ["code"]))
|
|
196
196
|
])),
|
|
197
197
|
l.value ? (i(), _(ae, { key: 2 })) : y("", !0)
|
|
@@ -201,7 +201,7 @@ const ie = { class: "lkt-item-crud" }, ce = {
|
|
|
201
201
|
});
|
|
202
202
|
const Le = {
|
|
203
203
|
install: (t, N = {}) => {
|
|
204
|
-
t.component("lkt-item-crud") === void 0 && t.component("lkt-item-crud", Ce), t.component("lkt-button") === void 0 && t.use(
|
|
204
|
+
t.component("lkt-item-crud") === void 0 && t.component("lkt-item-crud", Ce), t.component("lkt-button") === void 0 && t.use(se), t.component("lkt-http-info") === void 0 && t.use(de), t.component("lkt-loader") === void 0 && t.use(ne);
|
|
205
205
|
}
|
|
206
206
|
};
|
|
207
207
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,p){typeof exports=="object"&&typeof module<"u"?module.exports=p(require("vue"),require("lkt-http-client"),require("lkt-data-state"),require("lkt-button"),require("lkt-http-info"),require("lkt-loader")):typeof define=="function"&&define.amd?define(["vue","lkt-http-client","lkt-data-state","lkt-button","lkt-http-info","lkt-loader"],p):(e=typeof globalThis<"u"?globalThis:e||self,e.LktItemCrud=p(e.Vue,e.LktHttpClient,e.LktDataState,e.LktButton,e.LktHttpInfo,e.LktLoader))})(this,function(e,p,O,E,T,x){"use strict";const B=a=>a&&typeof a=="object"&&"default"in a?a:{default:a},M=B(E),j=B(T),$=B(x),U={class:"lkt-item-crud"},H={key:0,class:"lkt-item-crud_header"},J={class:"lkt-item-crud_header-title"},A={class:"lkt-item-crud_header-slot"},F={class:"lkt-item-crud-buttons"},P={key:1},z={key:1},G={key:1,class:"lkt-item-crud_content"},K={key:0,class:"lkt-grid-1"},Q={name:"LktItemCrud",inheritAttrs:!1},W=e.defineComponent({...Q,props:{modelValue:{type:Object,required:!1,default:()=>({})},title:{type:String,default:""},editModeText:{type:String,default:"Edition Mode"},saveText:{type:String,default:"Save"},dropText:{type:String,default:"Delete"},hiddenSave:{type:Boolean,default:!1},hiddenDrop:{type:Boolean,default:!1},hiddenButtons:{type:Boolean,default:!1},readResource:{type:String,required:!1},createResource:{type:String,required:!1},updateResource:{type:String,required:!1},dropResource:{type:String,required:!1},readData:{type:Object,required:!1,default:()=>({})},createData:{type:Object,required:!1,default:()=>({})},updateData:{type:Object,required:!1,default:()=>({})},dropData:{type:Object,required:!1,default:()=>({})},isCreate:{type:Boolean,default:!1},createConfirm:{type:String,default:""},updateConfirm:{type:String,default:""},dropConfirm:{type:String,default:""},createDisabled:{type:Boolean,default:!1},updateDisabled:{type:Boolean,default:!1},dropDisabled:{type:Boolean,default:!1},saveValidator:{type:Function,required:!1,default:()=>!0}},emits:["update:modelValue","read","create","update","drop","perms","error","modified-data"],setup(a,{expose:g,emit:X}){const t=a,D=e.useSlots(),
|
|
1
|
+
(function(e,p){typeof exports=="object"&&typeof module<"u"?module.exports=p(require("vue"),require("lkt-http-client"),require("lkt-data-state"),require("lkt-button"),require("lkt-http-info"),require("lkt-loader")):typeof define=="function"&&define.amd?define(["vue","lkt-http-client","lkt-data-state","lkt-button","lkt-http-info","lkt-loader"],p):(e=typeof globalThis<"u"?globalThis:e||self,e.LktItemCrud=p(e.Vue,e.LktHttpClient,e.LktDataState,e.LktButton,e.LktHttpInfo,e.LktLoader))})(this,function(e,p,O,E,T,x){"use strict";const B=a=>a&&typeof a=="object"&&"default"in a?a:{default:a},M=B(E),j=B(T),$=B(x),U={class:"lkt-item-crud"},H={key:0,class:"lkt-item-crud_header"},J={class:"lkt-item-crud_header-title"},A={class:"lkt-item-crud_header-slot"},F={class:"lkt-item-crud-buttons"},P={key:1},z={key:1},G={key:1,class:"lkt-item-crud_content"},K={key:0,class:"lkt-grid-1"},Q={name:"LktItemCrud",inheritAttrs:!1},W=e.defineComponent({...Q,props:{modelValue:{type:Object,required:!1,default:()=>({})},title:{type:String,default:""},editModeText:{type:String,default:"Edition Mode"},saveText:{type:String,default:"Save"},dropText:{type:String,default:"Delete"},hiddenSave:{type:Boolean,default:!1},hiddenDrop:{type:Boolean,default:!1},hiddenButtons:{type:Boolean,default:!1},readResource:{type:String,required:!1},createResource:{type:String,required:!1},updateResource:{type:String,required:!1},dropResource:{type:String,required:!1},readData:{type:Object,required:!1,default:()=>({})},createData:{type:Object,required:!1,default:()=>({})},updateData:{type:Object,required:!1,default:()=>({})},dropData:{type:Object,required:!1,default:()=>({})},isCreate:{type:Boolean,default:!1},createConfirm:{type:String,default:""},updateConfirm:{type:String,default:""},dropConfirm:{type:String,default:""},createDisabled:{type:Boolean,default:!1},updateDisabled:{type:Boolean,default:!1},dropDisabled:{type:Boolean,default:!1},saveValidator:{type:Function,required:!1,default:()=>!0}},emits:["update:modelValue","read","create","update","drop","perms","error","modified-data"],setup(a,{expose:g,emit:X}){const t=a,D=e.useSlots(),d=X;let Y=[];const o=e.ref(!0),n=e.ref(t.modelValue),m=e.ref(Y),u=e.ref(!1),i=e.ref(!1),c=e.ref(!1),s=e.ref(200),h=e.ref(null),v=e.ref(null),k=e.ref(new O.DataState(n.value)),Z=e.computed(()=>t.isCreate?t.createConfirm:t.updateConfirm),w=e.computed(()=>t.isCreate?t.createResource:t.updateResource),ee=e.computed(()=>t.isCreate?{...t.createData,...JSON.parse(JSON.stringify(n.value))}:{...t.updateData,...JSON.parse(JSON.stringify(n.value))}),te=e.computed(()=>t.isCreate?t.createDisabled:t.updateDisabled),S=e.computed(()=>!t.isCreate&&m.value.includes("update")),y=e.computed(()=>!t.isCreate&&m.value.includes("drop")),b=async()=>{o.value=!0,s.value=-1,c.value=!1;try{const l=await p.httpCall(t.readResource,t.readData);if(o.value=!1,s.value=l.httpStatus,!l.success){i.value=!1,s.value=l.httpStatus,d("error",l.httpStatus);return}i.value=!0,n.value=l.data,m.value=l.perms,k.value.increment(n.value).turnStoredIntoOriginal(),d("read",l)}catch{o.value=!1,i.value=!1,s.value=404,d("error",404);return}},ae=e.computed(()=>o.value?!1:t.title||!!D["post-title"]);e.watch(()=>t.modelValue,l=>{n.value=l,k.value.increment(l)},{deep:!0}),e.watch(n,l=>{d("update:modelValue",n.value),k.value.increment(l)},{deep:!0}),e.watch(m,()=>d("perms",m.value));const L=e.computed(()=>te.value||!t.isCreate&&!S.value||typeof t.saveValidator=="function"&&!t.saveValidator(n.value)?!1:k.value.changed());e.watch(L,l=>d("modified-data",l)),t.readResource&&!t.isCreate?b():t.isCreate&&(i.value=!0,u.value=!0,o.value=!1);const le=(l,r)=>{if(o.value=!1,s.value=r.httpStatus,!r.success){c.value=!0,d("error",r.httpStatus);return}c.value=!0,d("drop",r)},oe=(l,r)=>{if(w.value){if(o.value=!1,s.value=r.httpStatus,!r.success){c.value=!0,d("error",r.httpStatus);return}c.value=!0}let C=t.isCreate?"create":"update";t.isCreate||k.value.turnStoredIntoOriginal(),r.autoReloadId&&(t.readData.id=r.autoReloadId,b()),d(C,r)},V=()=>{o.value=!0,s.value=-1},_=()=>{o.value=!1};g({doDrop:()=>{v.value&&typeof v.value.click=="function"&&v.value.click()},doRefresh:b,doSave:()=>{h.value&&typeof h.value.click=="function"&&h.value.click()}});const q=e.computed(()=>!t.hiddenDrop&&!o.value&&u.value&&i.value),N=e.computed(()=>o.value?!1:t.isCreate?!0:!t.hiddenSave&&u.value&&i.value),R=e.computed(()=>!o.value&&!t.isCreate&&i.value),re=e.computed(()=>!t.hiddenButtons&&(N.value||q.value||R.value));return(l,r)=>{const C=e.resolveComponent("lkt-button"),ne=e.resolveComponent("lkt-field-switch"),I=e.resolveComponent("lkt-http-info"),de=e.resolveComponent("lkt-loader");return e.openBlock(),e.createElementBlock("article",U,[ae.value?(e.openBlock(),e.createElementBlock("header",H,[e.createElementVNode("h1",J,e.toDisplayString(a.title),1),e.createElementVNode("div",A,[e.renderSlot(l.$slots,"post-title",{item:n.value,loading:o.value})])])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",F,[a.isCreate?e.createCommentVNode("",!0):e.withDirectives((e.openBlock(),e.createBlock(C,{key:0,ref:f=>v.value=f,palette:"danger",disabled:a.dropDisabled||!y.value,"confirm-modal":a.dropConfirm,resource:a.dropResource,"resource-data":a.dropData,onLoading:V,onLoaded:_,onClick:le},{default:e.withCtx(()=>[e.unref(D)["button-drop"]?e.renderSlot(l.$slots,"button-drop",{key:0,item:n.value,editMode:u.value,isCreate:a.isCreate,canUpdate:S.value,canDrop:y.value}):(e.openBlock(),e.createElementBlock("span",P,e.toDisplayString(a.dropText),1))]),_:3},8,["disabled","confirm-modal","resource","resource-data"])),[[e.vShow,q.value]]),e.withDirectives(e.createVNode(C,{ref:f=>h.value=f,palette:"success",disabled:!L.value,"confirm-modal":Z.value,resource:w.value,"resource-data":ee.value,onLoading:V,onLoaded:_,onClick:oe},{default:e.withCtx(()=>[e.unref(D)["button-save"]?e.renderSlot(l.$slots,"button-save",{key:0,item:n.value,editMode:u.value,isCreate:a.isCreate,canUpdate:S.value,canDrop:y.value}):(e.openBlock(),e.createElementBlock("span",z,e.toDisplayString(a.saveText),1))]),_:3},8,["disabled","confirm-modal","resource","resource-data"]),[[e.vShow,N.value]]),e.withDirectives(e.createVNode(ne,{modelValue:u.value,"onUpdate:modelValue":r[0]||(r[0]=f=>u.value=f),label:a.editModeText},null,8,["modelValue","label"]),[[e.vShow,R.value]])],512),[[e.vShow,re.value]]),o.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",G,[i.value?(e.openBlock(),e.createElementBlock("div",K,[c.value?(e.openBlock(),e.createBlock(I,{key:0,code:s.value,quick:"",palette:s.value===200?"success":"danger","can-close":"",onClose:r[1]||(r[1]=f=>c.value=!1)},null,8,["code","palette"])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"item",{item:n.value,loading:o.value,editMode:u.value,isCreate:a.isCreate,canUpdate:S.value,canDrop:y.value})])):(e.openBlock(),e.createBlock(I,{key:1,code:s.value},null,8,["code"]))])),o.value?(e.openBlock(),e.createBlock(de,{key:2})):e.createCommentVNode("",!0)])}}}),se="";return{install:(a,g={})=>{a.component("lkt-item-crud")===void 0&&a.component("lkt-item-crud",W),a.component("lkt-button")===void 0&&a.use(M.default),a.component("lkt-http-info")===void 0&&a.use(j.default),a.component("lkt-loader")===void 0&&a.use($.default)}}});
|
package/package.json
CHANGED
|
@@ -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
|
}),
|