skyline-vue-admin 0.0.8 → 0.0.10
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/components/tree-select-input/index.cjs +1 -1
- package/dist/components/tree-select-input/index.cjs.map +1 -1
- package/dist/components/tree-select-input/index.d.ts +0 -1
- package/dist/components/tree-select-input/index.mjs +29 -35
- package/dist/components/tree-select-input/index.mjs.map +1 -1
- package/dist/components/tree-with-details/index.cjs +1 -1
- package/dist/components/tree-with-details/index.cjs.map +1 -1
- package/dist/components/tree-with-details/index.d.ts +0 -1
- package/dist/components/tree-with-details/index.mjs +26 -26
- package/dist/components/tree-with-details/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/form-item/style/css");require("element-plus/es/components/tree-select/style/css");const t=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/form-item/style/css");require("element-plus/es/components/tree-select/style/css");const t=require("vue"),o=require("element-plus"),S=require("vue-i18n"),g=require("vue-router"),v=require("../can-access/index.cjs");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");require("../../hooks/useHiddenTitle.cjs");const b=require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");const h=require("../../hooks/useFormGrid.cjs"),N=require("../../hooks/useReferenceArrayInput.cjs");function V(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const I=t.defineComponent({name:"SkyTreeSelectInput",inheritAttrs:!1,props:{source:{type:String,required:!0},label:String,rules:Object,defaultValue:{type:[String,Number],default:0},optionChildren:{type:String,default:"children"},optionName:{type:String,default:"name"},nodeKey:{type:String,default:"id"},rootValue:{type:[String,Number],default:0}},setup(e,{attrs:a}){const{t:c}=S.useI18n(),d=g.useRoute(),{formData:u,editData:i}=b.useForm(),s=h.useFormGrid(),{listData:l,listLoading:n}=N.useReferenceArrayInput(),f=d.meta;typeof u[e.source]>"u"&&(u[e.source]=e.defaultValue),i.value&&(u[e.source]=i.value[e.source]);const m=t.computed(()=>e.label||e.source),y=t.computed(()=>{const r=[{[e.nodeKey]:e.rootValue,[e.optionName]:c("treeRootNode"),[e.optionChildren]:[]}];return l.value?.data?.length&&(r[0][e.optionChildren]=l.value.data),r});return()=>{let r;return t.createVNode(v.SkyCanAccess,{resource:f.resource,action:["create","edit"],column:e.source},V(r=t.withDirectives(t.createVNode(o.ElFormItem,{label:m.value,prop:e.source,rules:e.rules,style:s?`grid-area: ${e.source}`:""},{default:()=>[t.createVNode(o.ElTreeSelect,t.mergeProps({modelValue:n.value?"":u[e.source],"onUpdate:modelValue":q=>u[e.source]=q,checkStrictly:!0,data:y.value,props:{children:e.optionChildren,label:e.optionName},defaultExpandAll:!1,accordion:!0,loading:n.value,nodeKey:e.nodeKey,valueKey:e.nodeKey},a),null)]}),[[o.ElLoadingDirective,n.value]]))?r:{default:()=>[r]})}}});exports.SkyTreeSelectInput=I;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/tree-select-input/index.tsx"],"sourcesContent":["import type { Identifier } from '@/provides'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport { ElFormItem, ElLoadingDirective, ElTreeSelect, type FormItemRule } from 'element-plus'\nimport { computed, defineComponent,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/tree-select-input/index.tsx"],"sourcesContent":["import type { Identifier } from '@/provides'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport { ElFormItem, ElLoadingDirective, ElTreeSelect, type FormItemRule } from 'element-plus'\nimport { computed, defineComponent, withDirectives } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\nimport { useForm, useFormGrid, useReferenceArrayInput } from '@/hooks'\n\nexport interface SkyTreeSelectInputProps {\n source: string\n label?: string\n placeholder?: string\n rules?: FormItemRule | FormItemRule[]\n defaultValue?: Identifier\n optionChildren?: string\n optionName?: string\n nodeKey?: string\n rootValue?: Identifier\n}\n\nexport const SkyTreeSelectInput = defineComponent<SkyTreeSelectInputProps>({\n name: 'SkyTreeSelectInput',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n label: String,\n // placeholder: String,\n rules: Object,\n defaultValue: {\n type: [String, Number],\n default: 0,\n },\n optionChildren: {\n type: String,\n default: 'children',\n },\n optionName: {\n type: String,\n default: 'name',\n },\n nodeKey: {\n type: String,\n default: 'id',\n },\n rootValue: {\n type: [String, Number],\n default: 0,\n },\n },\n setup(props, { attrs }) {\n const { t } = useI18n()\n const route = useRoute()\n const { formData, editData } = useForm()!\n const formGrid = useFormGrid()\n const { listData, listLoading } = useReferenceArrayInput()!\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n if (typeof formData[props.source] === 'undefined') {\n formData[props.source] = props.defaultValue!\n }\n\n if (editData.value) {\n formData[props.source] = editData.value[props.source]\n }\n\n const title = computed<string>(() => props.label || props.source)\n\n const data = computed(() => {\n const result = [\n {\n [props.nodeKey!]: props.rootValue!,\n [props.optionName!]: t('treeRootNode'),\n [props.optionChildren!]: [] as Record<string, unknown>[],\n },\n ]\n if (listData.value?.data?.length) {\n result[0]![props.optionChildren!] = listData.value.data\n return result\n }\n return result\n })\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['create', 'edit']} column={props.source}>\n {withDirectives(\n <ElFormItem\n label={title.value}\n prop={props.source}\n rules={props.rules}\n style={formGrid ? `grid-area: ${props.source}` : ''}\n >\n <ElTreeSelect\n modelValue={listLoading.value ? '' : formData[props.source]}\n onUpdate:modelValue={(v: Identifier) => (formData[props.source] = v)}\n checkStrictly\n data={data.value}\n props={{ children: props.optionChildren, label: props.optionName }}\n defaultExpandAll={false}\n accordion={true}\n loading={listLoading.value}\n nodeKey={props.nodeKey}\n valueKey={props.nodeKey}\n {...attrs}\n />\n </ElFormItem>,\n [[ElLoadingDirective, listLoading.value]],\n )}\n </SkyCanAccess>\n )\n },\n})\n"],"names":["_isSlot","s","_isVNode","SkyTreeSelectInput","defineComponent","name","inheritAttrs","props","source","type","required","label","rules","defaultValue","default","optionChildren","optionName","nodeKey","rootValue","attrs","t","route","useRoute","editData","formGrid","useFormGrid","listLoading","routeMeta","formData","title","computed","data","listData","result","_slot"],"mappings":"g9BAOsE,SAAAA,EAAAC,EAAA,CAAA,OAAA,OAAAA,GAAA,YAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,IAAA,mBAAA,CAAAC,EAAAA,QAAAD,CAAA,CAAA,CActE,MAAAE,EAAAC,EAAAA,gBAAA,CACEC,KAAAA,qBACAC,aAAAA,GACAC,MAAAA,CACEC,OAAAA,CACEC,KAAAA,OACAC,SAAAA,IAEFC,MAAAA,OAEAC,MAAAA,OACAC,aAAAA,CACEJ,KAAAA,CAAAA,OAAAA,MAAAA,EACAK,QAAAA,GAEFC,eAAAA,CACEN,KAAAA,OACAK,QAAAA,YAEFE,WAAAA,CACEP,KAAAA,OACAK,QAAAA,QAEFG,QAAAA,CACER,KAAAA,OACAK,QAAAA,MAEFI,UAAAA,CACET,KAAAA,CAAAA,OAAAA,MAAAA,EACAK,QAAAA,CACF,YAEaK,MAAAA,CAAM,EAAA,OACXC,EAAAA,eACRC,EAAAC,EAAAA,SAAA,cACkBC,SAAAA,eAClBC,EAAAC,EAAAA,YAAA,cACkBC,YAAAA,8BAClBC,EAAAN,EAAA,oEAOEO,EAAAA,EAAAA,MAAAA,EAAAA,EAAAA,MAAAA,EAAAA,MAAAA,GAGF,MAAAC,EAAAC,EAAAA,SAAA,IAAAvB,EAAA,OAAAA,EAAA,MAAA,EAEAwB,EAAAD,EAAAA,SAAA,IAAA,WAGM,CAAAvB,EAAA,OAAA,EAAAA,EAAA,UACA,CAAAA,EAAA,UAAA,EAAAa,EAAA,cAAA,uBAEF,CAAA,EAEF,OAAAY,EAAA,OAAA,MAAA,SACEC,EAAAA,CAAAA,EAAAA,EAAAA,cAAAA,EAAAA,EAAAA,MAAAA,MACAA,CAGJ,CAAA,aAEO,IAAAC,2DACqC,OAAA,CAAA,SAAA,MAAA,EAA4B,OAAA3B,EAAA,mGAK9C,MAAAiB,EAAA,cAAAjB,EAAA,MAAA,GAAA,EACiC,EAAA,CAAAO,QAAAA,IAAAA,CAAAA,cAAAA,EAAAA,aAAAA,EAAAA,WAAAA,0EAImB,cAAA,qEAGF,iBAAA,GAC3C,UAAA,qCAGD,SAAAP,EAAA,OACC,EAAAY,CAAA,EAAA,IAAA,CAAA,yDAK5B,CAAA,EAGP,CACF,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "element-plus/es/components/form-item/style/css";
|
|
2
2
|
import "element-plus/es/components/tree-select/style/css";
|
|
3
|
-
import { defineComponent as
|
|
4
|
-
import { ElFormItem as
|
|
5
|
-
import { useI18n as
|
|
3
|
+
import { defineComponent as g, computed as n, createVNode as i, withDirectives as p, mergeProps as v, isVNode as b } from "vue";
|
|
4
|
+
import { ElFormItem as h, ElTreeSelect as N, ElLoadingDirective as V } from "element-plus";
|
|
5
|
+
import { useI18n as C } from "vue-i18n";
|
|
6
6
|
import { useRoute as K } from "vue-router";
|
|
7
7
|
import { SkyCanAccess as D } from "../can-access/index.mjs";
|
|
8
8
|
import "../../hooks/useUser.mjs";
|
|
@@ -21,10 +21,10 @@ import "../../hooks/useReferenceArrayField.mjs";
|
|
|
21
21
|
import "../../hooks/useTreeWithDetails.mjs";
|
|
22
22
|
import { useFormGrid as j } from "../../hooks/useFormGrid.mjs";
|
|
23
23
|
import { useReferenceArrayInput as k } from "../../hooks/useReferenceArrayInput.mjs";
|
|
24
|
-
function
|
|
25
|
-
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !
|
|
24
|
+
function A(e) {
|
|
25
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !b(e);
|
|
26
26
|
}
|
|
27
|
-
const
|
|
27
|
+
const Z = /* @__PURE__ */ g({
|
|
28
28
|
name: "SkyTreeSelectInput",
|
|
29
29
|
inheritAttrs: !1,
|
|
30
30
|
props: {
|
|
@@ -47,10 +47,6 @@ const te = /* @__PURE__ */ p({
|
|
|
47
47
|
type: String,
|
|
48
48
|
default: "name"
|
|
49
49
|
},
|
|
50
|
-
defaultExpandAll: {
|
|
51
|
-
type: Boolean,
|
|
52
|
-
default: !0
|
|
53
|
-
},
|
|
54
50
|
nodeKey: {
|
|
55
51
|
type: String,
|
|
56
52
|
default: "id"
|
|
@@ -64,59 +60,57 @@ const te = /* @__PURE__ */ p({
|
|
|
64
60
|
attrs: a
|
|
65
61
|
}) {
|
|
66
62
|
const {
|
|
67
|
-
t:
|
|
68
|
-
} =
|
|
63
|
+
t: m
|
|
64
|
+
} = C(), c = K(), {
|
|
69
65
|
formData: o,
|
|
70
|
-
editData:
|
|
71
|
-
} = I(),
|
|
72
|
-
|
|
73
|
-
listData: u,
|
|
66
|
+
editData: u
|
|
67
|
+
} = I(), d = j(), {
|
|
68
|
+
listData: l,
|
|
74
69
|
listLoading: r
|
|
75
|
-
} = k(),
|
|
76
|
-
typeof o[e.source] > "u" && (o[e.source] = e.defaultValue),
|
|
77
|
-
const
|
|
70
|
+
} = k(), f = c.meta;
|
|
71
|
+
typeof o[e.source] > "u" && (o[e.source] = e.defaultValue), u.value && (o[e.source] = u.value[e.source]);
|
|
72
|
+
const s = n(() => e.label || e.source), y = n(() => {
|
|
78
73
|
const t = [{
|
|
79
74
|
[e.nodeKey]: e.rootValue,
|
|
80
|
-
[e.optionName]:
|
|
75
|
+
[e.optionName]: m("treeRootNode"),
|
|
81
76
|
[e.optionChildren]: []
|
|
82
77
|
}];
|
|
83
|
-
return
|
|
78
|
+
return l.value?.data?.length && (t[0][e.optionChildren] = l.value.data), t;
|
|
84
79
|
});
|
|
85
|
-
return
|
|
86
|
-
f();
|
|
87
|
-
}), () => {
|
|
80
|
+
return () => {
|
|
88
81
|
let t;
|
|
89
|
-
return
|
|
90
|
-
resource:
|
|
82
|
+
return i(D, {
|
|
83
|
+
resource: f.resource,
|
|
91
84
|
action: ["create", "edit"],
|
|
92
85
|
column: e.source
|
|
93
|
-
},
|
|
94
|
-
label:
|
|
86
|
+
}, A(t = p(i(h, {
|
|
87
|
+
label: s.value,
|
|
95
88
|
prop: e.source,
|
|
96
89
|
rules: e.rules,
|
|
97
|
-
style:
|
|
90
|
+
style: d ? `grid-area: ${e.source}` : ""
|
|
98
91
|
}, {
|
|
99
|
-
default: () => [
|
|
92
|
+
default: () => [i(N, v({
|
|
100
93
|
modelValue: r.value ? "" : o[e.source],
|
|
101
|
-
"onUpdate:modelValue": (
|
|
94
|
+
"onUpdate:modelValue": (S) => o[e.source] = S,
|
|
102
95
|
checkStrictly: !0,
|
|
103
|
-
data:
|
|
96
|
+
data: y.value,
|
|
104
97
|
props: {
|
|
105
98
|
children: e.optionChildren,
|
|
106
99
|
label: e.optionName
|
|
107
100
|
},
|
|
108
|
-
defaultExpandAll:
|
|
101
|
+
defaultExpandAll: !1,
|
|
102
|
+
accordion: !0,
|
|
109
103
|
loading: r.value,
|
|
110
104
|
nodeKey: e.nodeKey,
|
|
111
105
|
valueKey: e.nodeKey
|
|
112
106
|
}, a), null)]
|
|
113
|
-
}), [[
|
|
107
|
+
}), [[V, r.value]])) ? t : {
|
|
114
108
|
default: () => [t]
|
|
115
109
|
});
|
|
116
110
|
};
|
|
117
111
|
}
|
|
118
112
|
});
|
|
119
113
|
export {
|
|
120
|
-
|
|
114
|
+
Z as SkyTreeSelectInput
|
|
121
115
|
};
|
|
122
116
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../src/components/tree-select-input/index.tsx"],"sourcesContent":["import type { Identifier } from '@/provides'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport { ElFormItem, ElLoadingDirective, ElTreeSelect, type FormItemRule } from 'element-plus'\nimport { computed, defineComponent,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/components/tree-select-input/index.tsx"],"sourcesContent":["import type { Identifier } from '@/provides'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport { ElFormItem, ElLoadingDirective, ElTreeSelect, type FormItemRule } from 'element-plus'\nimport { computed, defineComponent, withDirectives } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\nimport { useForm, useFormGrid, useReferenceArrayInput } from '@/hooks'\n\nexport interface SkyTreeSelectInputProps {\n source: string\n label?: string\n placeholder?: string\n rules?: FormItemRule | FormItemRule[]\n defaultValue?: Identifier\n optionChildren?: string\n optionName?: string\n nodeKey?: string\n rootValue?: Identifier\n}\n\nexport const SkyTreeSelectInput = defineComponent<SkyTreeSelectInputProps>({\n name: 'SkyTreeSelectInput',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n label: String,\n // placeholder: String,\n rules: Object,\n defaultValue: {\n type: [String, Number],\n default: 0,\n },\n optionChildren: {\n type: String,\n default: 'children',\n },\n optionName: {\n type: String,\n default: 'name',\n },\n nodeKey: {\n type: String,\n default: 'id',\n },\n rootValue: {\n type: [String, Number],\n default: 0,\n },\n },\n setup(props, { attrs }) {\n const { t } = useI18n()\n const route = useRoute()\n const { formData, editData } = useForm()!\n const formGrid = useFormGrid()\n const { listData, listLoading } = useReferenceArrayInput()!\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n if (typeof formData[props.source] === 'undefined') {\n formData[props.source] = props.defaultValue!\n }\n\n if (editData.value) {\n formData[props.source] = editData.value[props.source]\n }\n\n const title = computed<string>(() => props.label || props.source)\n\n const data = computed(() => {\n const result = [\n {\n [props.nodeKey!]: props.rootValue!,\n [props.optionName!]: t('treeRootNode'),\n [props.optionChildren!]: [] as Record<string, unknown>[],\n },\n ]\n if (listData.value?.data?.length) {\n result[0]![props.optionChildren!] = listData.value.data\n return result\n }\n return result\n })\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['create', 'edit']} column={props.source}>\n {withDirectives(\n <ElFormItem\n label={title.value}\n prop={props.source}\n rules={props.rules}\n style={formGrid ? `grid-area: ${props.source}` : ''}\n >\n <ElTreeSelect\n modelValue={listLoading.value ? '' : formData[props.source]}\n onUpdate:modelValue={(v: Identifier) => (formData[props.source] = v)}\n checkStrictly\n data={data.value}\n props={{ children: props.optionChildren, label: props.optionName }}\n defaultExpandAll={false}\n accordion={true}\n loading={listLoading.value}\n nodeKey={props.nodeKey}\n valueKey={props.nodeKey}\n {...attrs}\n />\n </ElFormItem>,\n [[ElLoadingDirective, listLoading.value]],\n )}\n </SkyCanAccess>\n )\n },\n})\n"],"names":["_isSlot","s","_isVNode","SkyTreeSelectInput","defineComponent","name","inheritAttrs","props","source","type","required","label","rules","defaultValue","default","optionChildren","optionName","nodeKey","rootValue","attrs","t","route","useRoute","editData","formGrid","useFormGrid","listLoading","routeMeta","formData","title","computed","data","listData","result","_slot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAOsE,SAAAA,EAAAC,GAAA;AAAA,SAAA,OAAAA,KAAA,cAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,MAAA,qBAAA,CAAAC,EAAAD,CAAA;AAAA;AActE,MAAAE,IAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,IACEC,QAAAA;AAAAA,MACEC,MAAAA;AAAAA,MACAC,UAAAA;AAAAA;IAEFC,OAAAA;AAAAA;AAAAA,IAEAC,OAAAA;AAAAA,IACAC,cAAAA;AAAAA,MACEJ,MAAAA,CAAAA,QAAAA,MAAAA;AAAAA,MACAK,SAAAA;AAAAA;IAEFC,gBAAAA;AAAAA,MACEN,MAAAA;AAAAA,MACAK,SAAAA;AAAAA;IAEFE,YAAAA;AAAAA,MACEP,MAAAA;AAAAA,MACAK,SAAAA;AAAAA;IAEFG,SAAAA;AAAAA,MACER,MAAAA;AAAAA,MACAK,SAAAA;AAAAA;IAEFI,WAAAA;AAAAA,MACET,MAAAA,CAAAA,QAAAA,MAAAA;AAAAA,MACAK,SAAAA;AAAAA,IACF;AAAA;;IAEaK,OAAAA;AAAAA,EAAM,GAAA;;MACXC,GAAAA;AAAAA,aACRC,IAAAC,EAAA;;MACkBC,UAAAA;AAAAA,aAClBC,IAAAC,EAAA;;MACkBC,aAAAA;AAAAA,aAClBC,IAAAN,EAAA;4EAOEO,EAAAA,EAAAA,MAAAA,IAAAA,EAAAA,MAAAA,EAAAA,MAAAA;AAGF,UAAAC,IAAAC,EAAA,MAAAvB,EAAA,SAAAA,EAAA,MAAA,GAEAwB,IAAAD,EAAA,MAAA;;QAGM,CAAAvB,EAAA,OAAA,GAAAA,EAAA;AAAA,QACA,CAAAA,EAAA,UAAA,GAAAa,EAAA,cAAA;AAAA;MAEF,CAAA;AAEF,aAAAY,EAAA,OAAA,MAAA,WACEC,EAAAA,CAAAA,EAAAA,EAAAA,cAAAA,IAAAA,EAAAA,MAAAA,OACAA;AAAA,IAGJ,CAAA;;AAEO,UAAAC;;;QACqC,QAAA,CAAA,UAAA,MAAA;AAAA,QAA4B,QAAA3B,EAAA;AAAA;;;;QAK9C,OAAAiB,IAAA,cAAAjB,EAAA,MAAA,KAAA;AAAA,MACiC,GAAA;AAAA,QAAAO,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA,EAAAA;AAAAA;;UAImB,eAAA;AAAA;;;;;UAGF,kBAAA;AAAA,UAC3C,WAAA;AAAA;;UAGD,UAAAP,EAAA;AAAA,QACC,GAAAY,CAAA,GAAA,IAAA,CAAA;AAAA;;MAK5B,CAAA;AAAA;EAGP;AACF,CAAA;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/card/style/css");require("element-plus/es/components/col/style/css");require("element-plus/es/components/row/style/css");require("element-plus/es/components/skeleton/style/css");require("element-plus/es/components/tree/style/css");const e=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");require("../../hooks/useHiddenTitle.cjs");require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/card/style/css");require("element-plus/es/components/col/style/css");require("element-plus/es/components/row/style/css");require("element-plus/es/components/skeleton/style/css");require("element-plus/es/components/tree/style/css");const e=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");require("../../hooks/useHiddenTitle.cjs");require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");const q=require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");const v=require("../../hooks/useReferenceArrayInput.cjs"),g=require("../../setup/index.cjs"),h=require("@vueuse/core"),i=require("element-plus"),m=require("vue-router"),N=e.defineComponent({name:"SkyTreeWithDetails",inheritAttrs:!1,props:{create:Object,edit:Object,optionChildren:{type:String,default:"children"},optionName:{type:String,default:"name"},nodeKey:{type:String,default:"id"},size:{type:Number,default:30}},setup(t,{attrs:s}){const l=m.useRoute();let n;const{state:d,isLoading:o,execute:u}=h.useAsyncState(async a=>(n=new AbortController,g.skyConfig.dataProvider?.getList?.(l.meta.resource,{pagination:{page:1,perPage:t.size},filter:a,signal:n.signal})),void 0,{immediate:!0}),f=a=>{r.value===a[t.nodeKey]?r.value=void 0:r.value=a[t.nodeKey]},r=e.ref(),c=e.ref(0);q.useProvideTreeWithDetails({createSuccess:async()=>{await u(),c.value++},editSuccess:async()=>{await u()},deleteSuccess:async()=>{await u(),r.value=void 0}}),v.useProvideReferenceArrayInput({reference:l.meta.resource,getList:a=>u(0,a),listData:d,listLoading:o});const y=e.computed(()=>r.value?[r.value]:[]);return()=>e.createVNode("div",{class:"sky-tree-with-details"},[e.createVNode(i.ElRow,null,{default:()=>[e.createVNode(i.ElCol,{span:8},{default:()=>[e.createVNode(i.ElCard,null,{default:()=>[e.createVNode(i.ElSkeleton,{loading:o.value,animated:!0},{default:()=>[e.createVNode(i.ElTree,e.mergeProps({data:d.value?.data,props:{children:t.optionChildren,label:t.optionName},defaultExpandAll:!1,accordion:!0,expandOnClickNode:!1,nodeKey:t.nodeKey,"onNode-click":f,highlightCurrent:!0,currentNodeKey:r.value,defaultCheckedKeys:y.value},s),null)]})]})]}),e.createVNode(i.ElCol,{offset:1,span:15},{default:()=>[r.value?t.edit?e.h(t.edit,{key:r.value,dataId:r.value}):null:t.create?e.h(t.create,{key:c.value}):null]})]})])}});exports.SkyTreeWithDetails=N;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/tree-with-details/index.tsx"],"sourcesContent":["import { useProvideReferenceArrayInput, useProvideTreeWithDetails } from '@/hooks'\nimport type { GetListResult, Identifier } from '@/provides'\nimport { skyConfig, type SkyComponent } from '@/setup'\nimport { useAsyncState } from '@vueuse/core'\nimport { ElCard, ElCol, ElRow, ElSkeleton, ElTree } from 'element-plus'\nimport { defineComponent, h, ref } from 'vue'\nimport { useRoute } from 'vue-router'\n\nexport interface SkyTreeWithDetailsProps {\n create?: SkyComponent\n edit?: SkyComponent\n optionChildren?: string\n optionName?: string\n
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/tree-with-details/index.tsx"],"sourcesContent":["import { useProvideReferenceArrayInput, useProvideTreeWithDetails } from '@/hooks'\nimport type { GetListResult, Identifier } from '@/provides'\nimport { skyConfig, type SkyComponent } from '@/setup'\nimport { useAsyncState } from '@vueuse/core'\nimport { ElCard, ElCol, ElRow, ElSkeleton, ElTree } from 'element-plus'\nimport { computed, defineComponent, h, ref } from 'vue'\nimport { useRoute } from 'vue-router'\n\nexport interface SkyTreeWithDetailsProps {\n create?: SkyComponent\n edit?: SkyComponent\n optionChildren?: string\n optionName?: string\n nodeKey?: string\n size?: number\n}\n\nexport const SkyTreeWithDetails = defineComponent<SkyTreeWithDetailsProps>({\n name: 'SkyTreeWithDetails',\n inheritAttrs: false,\n props: {\n create: Object,\n edit: Object,\n optionChildren: {\n type: String,\n default: 'children',\n },\n optionName: {\n type: String,\n default: 'name',\n },\n nodeKey: {\n type: String,\n default: 'id',\n },\n size: {\n type: Number,\n default: 30,\n },\n },\n setup(props, { attrs }) {\n const route = useRoute()\n\n let controller: AbortController | undefined\n const { state, isLoading, execute } = useAsyncState<\n GetListResult | undefined,\n [filter?: Record<string, unknown>]\n >(\n async (filter) => {\n controller = new AbortController()\n return skyConfig.dataProvider?.getList?.(route.meta.resource as string, {\n pagination: { page: 1, perPage: props.size! },\n filter,\n signal: controller.signal,\n })\n },\n undefined,\n {\n immediate: true,\n },\n )\n\n const onNodeClick = (node: Record<string, unknown>) => {\n if (editId.value === node[props.nodeKey!]) {\n // 再次点击选中的节点,退出编辑\n editId.value = undefined\n } else {\n editId.value = node[props.nodeKey!] as Identifier\n }\n }\n\n const editId = ref<Identifier>()\n const createNum = ref(0)\n\n useProvideTreeWithDetails({\n createSuccess: async () => {\n await execute()\n createNum.value++\n // if (result.data?.[props.nodeKey!]) {\n // editId.value = result.data[props.nodeKey!] as Identifier\n // }\n },\n editSuccess: async () => {\n await execute()\n },\n deleteSuccess: async () => {\n await execute()\n editId.value = undefined\n },\n })\n\n // 自动注入一次关联数据\n useProvideReferenceArrayInput({\n reference: route.meta.resource as string,\n getList: (filter?: Record<string, unknown>) => execute(0, filter),\n listData: state,\n listLoading: isLoading,\n })\n\n const defaultCheckedKeys = computed(() => (editId.value ? [editId.value] : []))\n\n return () => (\n <div class=\"sky-tree-with-details\">\n <ElRow>\n <ElCol span={8}>\n <ElCard>\n <ElSkeleton loading={isLoading.value} animated>\n <ElTree\n data={state.value?.data}\n props={{ children: props.optionChildren, label: props.optionName }}\n defaultExpandAll={false}\n accordion={true}\n expandOnClickNode={false}\n nodeKey={props.nodeKey}\n onNode-click={onNodeClick}\n highlightCurrent\n currentNodeKey={editId.value}\n defaultCheckedKeys={defaultCheckedKeys.value}\n {...attrs}\n ></ElTree>\n </ElSkeleton>\n </ElCard>\n </ElCol>\n <ElCol offset={1} span={15}>\n {editId.value\n ? props.edit\n ? h(props.edit, { key: editId.value, dataId: editId.value })\n : null\n : props.create\n ? h(props.create, { key: createNum.value })\n : null}\n </ElCol>\n </ElRow>\n </div>\n )\n },\n})\n"],"names":["SkyTreeWithDetails","defineComponent","name","inheritAttrs","props","create","edit","optionChildren","type","default","optionName","nodeKey","size","attrs","route","useRoute","controller","execute","useAsyncState","filter","pagination","page","immediate","editId","ref","createNum","useProvideTreeWithDetails","useProvideReferenceArrayInput","reference","listData","listLoading","defaultCheckedKeys","computed","_createVNode","state","onNodeClick","h"],"mappings":"qmCAiBAA,EAAAC,EAAAA,gBAAA,CACEC,KAAAA,qBACAC,aAAAA,GACAC,MAAAA,CACEC,OAAAA,OACAC,KAAAA,OACAC,eAAAA,CACEC,KAAAA,OACAC,QAAAA,YAEFC,WAAAA,CACEF,KAAAA,OACAC,QAAAA,QAEFE,QAAAA,CACEH,KAAAA,OACAC,QAAAA,MAEFG,KAAAA,CACEJ,KAAAA,OACAC,QAAAA,EACF,YAEaI,MAAAA,CAAM,EAAA,CACnB,MAAAC,EAAAC,EAAAA,SAAA,EAEA,IAAAC,4BAC0BC,QAAAA,CAAQ,EAAAC,EAAAA,cAAA,MAAAC,IAK9BH,EAAAA,IAAAA,qEAEEI,WAAAA,CAAcC,KAAAA,0CAGhB,CAAA,WAIAC,UAAAA,EACF,CAAA,oEAYFC,EAAAC,EAAAA,IAAA,EACAC,EAAAD,EAAAA,IAAA,CAAA,EAEAE,4BAAAA,+HAcE,CACF,CAAA,EAGAC,gCAAAA,CACEC,UAAAA,EAAAA,KAAAA,2BAEAC,SAAAA,EACAC,YAAAA,CACF,CAAA,EAEA,MAAAC,EAAAC,EAAAA,SAAA,IAAAT,EAAA,MAAA,CAAAA,EAAA,KAAA,EAAA,EAAA,EAEA,MAAA,IAAAU,EAAAA,YAAA,MAAA,CAAO,MAAA,sDAAAxB,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,QAAAA,OAGa,EAAA,CAAAA,QAAAA,IAAAA,CAAAA,cAAAA,EAAAA,OAAAA,KAAAA,CAAAA,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,aAAAA,iBAE0B,SAAA,EAAA,EAAA,CAAAA,QAAAA,IAAAA,CAAAA,cAAAA,EAAAA,OAAAA,EAAAA,WAAAA,CAAA,KAAAyB,EAAA,OAAA,0DAGkC,iBAAA,GAC3C,UAAA,GACR,kBAAA,qBAEO,eAAAC,EACG,iBAAA,0BAEG,mBAAAJ,EAAA,KACgB,EAAAlB,CAAA,EAAA,IAAA,CAAA,CACnC,CAAA,CAAA,CAAA,CAAA,CAAA,2BAAA,OAAA,SAKS,EAAA,CAAAJ,QAAAA,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAAA,EAAAA,KAAAA,2BAGsC,CAAA,EAAA,KAAAL,EAAA,OAAAgC,EAAAA,EAAAhC,EAAA,OAAA,oBAIpD,CAAA,CAAA,KAKpB,CACF,CAAA"}
|
|
@@ -3,7 +3,7 @@ import "element-plus/es/components/col/style/css";
|
|
|
3
3
|
import "element-plus/es/components/row/style/css";
|
|
4
4
|
import "element-plus/es/components/skeleton/style/css";
|
|
5
5
|
import "element-plus/es/components/tree/style/css";
|
|
6
|
-
import { defineComponent as
|
|
6
|
+
import { defineComponent as v, ref as m, computed as g, createVNode as a, mergeProps as h, h as s } from "vue";
|
|
7
7
|
import "../../hooks/useUser.mjs";
|
|
8
8
|
import "../../hooks/usePermission.mjs";
|
|
9
9
|
import "../../hooks/useMenu.mjs";
|
|
@@ -17,14 +17,14 @@ import "../../hooks/useHiddenTitle.mjs";
|
|
|
17
17
|
import "../../hooks/useForm.mjs";
|
|
18
18
|
import "../../hooks/useShow.mjs";
|
|
19
19
|
import "../../hooks/useReferenceArrayField.mjs";
|
|
20
|
-
import { useProvideTreeWithDetails as
|
|
20
|
+
import { useProvideTreeWithDetails as k } from "../../hooks/useTreeWithDetails.mjs";
|
|
21
21
|
import "../../hooks/useFormGrid.mjs";
|
|
22
|
-
import { useProvideReferenceArrayInput as
|
|
23
|
-
import { skyConfig as
|
|
24
|
-
import { useAsyncState as
|
|
25
|
-
import { ElRow as
|
|
26
|
-
import { useRoute as
|
|
27
|
-
const
|
|
22
|
+
import { useProvideReferenceArrayInput as C } from "../../hooks/useReferenceArrayInput.mjs";
|
|
23
|
+
import { skyConfig as S } from "../../setup/index.mjs";
|
|
24
|
+
import { useAsyncState as N } from "@vueuse/core";
|
|
25
|
+
import { ElRow as K, ElCol as c, ElCard as w, ElSkeleton as E, ElTree as b } from "element-plus";
|
|
26
|
+
import { useRoute as A } from "vue-router";
|
|
27
|
+
const ee = /* @__PURE__ */ v({
|
|
28
28
|
name: "SkyTreeWithDetails",
|
|
29
29
|
inheritAttrs: !1,
|
|
30
30
|
props: {
|
|
@@ -38,10 +38,6 @@ const _ = /* @__PURE__ */ y({
|
|
|
38
38
|
type: String,
|
|
39
39
|
default: "name"
|
|
40
40
|
},
|
|
41
|
-
defaultExpandAll: {
|
|
42
|
-
type: Boolean,
|
|
43
|
-
default: !0
|
|
44
|
-
},
|
|
45
41
|
nodeKey: {
|
|
46
42
|
type: String,
|
|
47
43
|
default: "id"
|
|
@@ -54,25 +50,25 @@ const _ = /* @__PURE__ */ y({
|
|
|
54
50
|
setup(e, {
|
|
55
51
|
attrs: f
|
|
56
52
|
}) {
|
|
57
|
-
const
|
|
58
|
-
let
|
|
53
|
+
const o = A();
|
|
54
|
+
let l;
|
|
59
55
|
const {
|
|
60
56
|
state: n,
|
|
61
57
|
isLoading: d,
|
|
62
58
|
execute: r
|
|
63
|
-
} =
|
|
59
|
+
} = N(async (i) => (l = new AbortController(), S.dataProvider?.getList?.(o.meta.resource, {
|
|
64
60
|
pagination: {
|
|
65
61
|
page: 1,
|
|
66
62
|
perPage: e.size
|
|
67
63
|
},
|
|
68
64
|
filter: i,
|
|
69
|
-
signal:
|
|
65
|
+
signal: l.signal
|
|
70
66
|
})), void 0, {
|
|
71
67
|
immediate: !0
|
|
72
68
|
}), p = (i) => {
|
|
73
69
|
t.value === i[e.nodeKey] ? t.value = void 0 : t.value = i[e.nodeKey];
|
|
74
70
|
}, t = m(), u = m(0);
|
|
75
|
-
|
|
71
|
+
k({
|
|
76
72
|
createSuccess: async () => {
|
|
77
73
|
await r(), u.value++;
|
|
78
74
|
},
|
|
@@ -82,34 +78,38 @@ const _ = /* @__PURE__ */ y({
|
|
|
82
78
|
deleteSuccess: async () => {
|
|
83
79
|
await r(), t.value = void 0;
|
|
84
80
|
}
|
|
85
|
-
}),
|
|
86
|
-
reference:
|
|
81
|
+
}), C({
|
|
82
|
+
reference: o.meta.resource,
|
|
87
83
|
getList: (i) => r(0, i),
|
|
88
84
|
listData: n,
|
|
89
85
|
listLoading: d
|
|
90
|
-
})
|
|
86
|
+
});
|
|
87
|
+
const y = g(() => t.value ? [t.value] : []);
|
|
88
|
+
return () => a("div", {
|
|
91
89
|
class: "sky-tree-with-details"
|
|
92
|
-
}, [a(
|
|
90
|
+
}, [a(K, null, {
|
|
93
91
|
default: () => [a(c, {
|
|
94
92
|
span: 8
|
|
95
93
|
}, {
|
|
96
|
-
default: () => [a(
|
|
94
|
+
default: () => [a(w, null, {
|
|
97
95
|
default: () => [a(E, {
|
|
98
96
|
loading: d.value,
|
|
99
97
|
animated: !0
|
|
100
98
|
}, {
|
|
101
|
-
default: () => [a(
|
|
99
|
+
default: () => [a(b, h({
|
|
102
100
|
data: n.value?.data,
|
|
103
101
|
props: {
|
|
104
102
|
children: e.optionChildren,
|
|
105
103
|
label: e.optionName
|
|
106
104
|
},
|
|
107
|
-
defaultExpandAll:
|
|
105
|
+
defaultExpandAll: !1,
|
|
106
|
+
accordion: !0,
|
|
108
107
|
expandOnClickNode: !1,
|
|
109
108
|
nodeKey: e.nodeKey,
|
|
110
109
|
"onNode-click": p,
|
|
111
110
|
highlightCurrent: !0,
|
|
112
|
-
currentNodeKey: t.value
|
|
111
|
+
currentNodeKey: t.value,
|
|
112
|
+
defaultCheckedKeys: y.value
|
|
113
113
|
}, f), null)]
|
|
114
114
|
})]
|
|
115
115
|
})]
|
|
@@ -128,6 +128,6 @@ const _ = /* @__PURE__ */ y({
|
|
|
128
128
|
}
|
|
129
129
|
});
|
|
130
130
|
export {
|
|
131
|
-
|
|
131
|
+
ee as SkyTreeWithDetails
|
|
132
132
|
};
|
|
133
133
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../src/components/tree-with-details/index.tsx"],"sourcesContent":["import { useProvideReferenceArrayInput, useProvideTreeWithDetails } from '@/hooks'\nimport type { GetListResult, Identifier } from '@/provides'\nimport { skyConfig, type SkyComponent } from '@/setup'\nimport { useAsyncState } from '@vueuse/core'\nimport { ElCard, ElCol, ElRow, ElSkeleton, ElTree } from 'element-plus'\nimport { defineComponent, h, ref } from 'vue'\nimport { useRoute } from 'vue-router'\n\nexport interface SkyTreeWithDetailsProps {\n create?: SkyComponent\n edit?: SkyComponent\n optionChildren?: string\n optionName?: string\n
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/components/tree-with-details/index.tsx"],"sourcesContent":["import { useProvideReferenceArrayInput, useProvideTreeWithDetails } from '@/hooks'\nimport type { GetListResult, Identifier } from '@/provides'\nimport { skyConfig, type SkyComponent } from '@/setup'\nimport { useAsyncState } from '@vueuse/core'\nimport { ElCard, ElCol, ElRow, ElSkeleton, ElTree } from 'element-plus'\nimport { computed, defineComponent, h, ref } from 'vue'\nimport { useRoute } from 'vue-router'\n\nexport interface SkyTreeWithDetailsProps {\n create?: SkyComponent\n edit?: SkyComponent\n optionChildren?: string\n optionName?: string\n nodeKey?: string\n size?: number\n}\n\nexport const SkyTreeWithDetails = defineComponent<SkyTreeWithDetailsProps>({\n name: 'SkyTreeWithDetails',\n inheritAttrs: false,\n props: {\n create: Object,\n edit: Object,\n optionChildren: {\n type: String,\n default: 'children',\n },\n optionName: {\n type: String,\n default: 'name',\n },\n nodeKey: {\n type: String,\n default: 'id',\n },\n size: {\n type: Number,\n default: 30,\n },\n },\n setup(props, { attrs }) {\n const route = useRoute()\n\n let controller: AbortController | undefined\n const { state, isLoading, execute } = useAsyncState<\n GetListResult | undefined,\n [filter?: Record<string, unknown>]\n >(\n async (filter) => {\n controller = new AbortController()\n return skyConfig.dataProvider?.getList?.(route.meta.resource as string, {\n pagination: { page: 1, perPage: props.size! },\n filter,\n signal: controller.signal,\n })\n },\n undefined,\n {\n immediate: true,\n },\n )\n\n const onNodeClick = (node: Record<string, unknown>) => {\n if (editId.value === node[props.nodeKey!]) {\n // 再次点击选中的节点,退出编辑\n editId.value = undefined\n } else {\n editId.value = node[props.nodeKey!] as Identifier\n }\n }\n\n const editId = ref<Identifier>()\n const createNum = ref(0)\n\n useProvideTreeWithDetails({\n createSuccess: async () => {\n await execute()\n createNum.value++\n // if (result.data?.[props.nodeKey!]) {\n // editId.value = result.data[props.nodeKey!] as Identifier\n // }\n },\n editSuccess: async () => {\n await execute()\n },\n deleteSuccess: async () => {\n await execute()\n editId.value = undefined\n },\n })\n\n // 自动注入一次关联数据\n useProvideReferenceArrayInput({\n reference: route.meta.resource as string,\n getList: (filter?: Record<string, unknown>) => execute(0, filter),\n listData: state,\n listLoading: isLoading,\n })\n\n const defaultCheckedKeys = computed(() => (editId.value ? [editId.value] : []))\n\n return () => (\n <div class=\"sky-tree-with-details\">\n <ElRow>\n <ElCol span={8}>\n <ElCard>\n <ElSkeleton loading={isLoading.value} animated>\n <ElTree\n data={state.value?.data}\n props={{ children: props.optionChildren, label: props.optionName }}\n defaultExpandAll={false}\n accordion={true}\n expandOnClickNode={false}\n nodeKey={props.nodeKey}\n onNode-click={onNodeClick}\n highlightCurrent\n currentNodeKey={editId.value}\n defaultCheckedKeys={defaultCheckedKeys.value}\n {...attrs}\n ></ElTree>\n </ElSkeleton>\n </ElCard>\n </ElCol>\n <ElCol offset={1} span={15}>\n {editId.value\n ? props.edit\n ? h(props.edit, { key: editId.value, dataId: editId.value })\n : null\n : props.create\n ? h(props.create, { key: createNum.value })\n : null}\n </ElCol>\n </ElRow>\n </div>\n )\n },\n})\n"],"names":["SkyTreeWithDetails","defineComponent","name","inheritAttrs","props","create","edit","optionChildren","type","default","optionName","nodeKey","size","attrs","route","useRoute","controller","execute","useAsyncState","filter","pagination","page","immediate","editId","ref","createNum","useProvideTreeWithDetails","useProvideReferenceArrayInput","reference","listData","listLoading","defaultCheckedKeys","computed","_createVNode","state","onNodeClick","h"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,MAAAA,KAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,IACEC,QAAAA;AAAAA,IACAC,MAAAA;AAAAA,IACAC,gBAAAA;AAAAA,MACEC,MAAAA;AAAAA,MACAC,SAAAA;AAAAA;IAEFC,YAAAA;AAAAA,MACEF,MAAAA;AAAAA,MACAC,SAAAA;AAAAA;IAEFE,SAAAA;AAAAA,MACEH,MAAAA;AAAAA,MACAC,SAAAA;AAAAA;IAEFG,MAAAA;AAAAA,MACEJ,MAAAA;AAAAA,MACAC,SAAAA;AAAAA,IACF;AAAA;;IAEaI,OAAAA;AAAAA,EAAM,GAAA;AACnB,UAAAC,IAAAC,EAAA;AAEA,QAAAC;;;;MAC0BC,SAAAA;AAAAA,IAAQ,IAAAC,EAAA,OAAAC,OAK9BH,IAAAA,IAAAA,gBAAAA;MAEEI,YAAAA;AAAAA,QAAcC,MAAAA;AAAAA;;;;IAGhB,CAAA;MAIAC,WAAAA;AAAAA,IACF,CAAA;;OAYFC,IAAAC,EAAA,GACAC,IAAAD,EAAA,CAAA;AAEAE,IAAAA,EAAAA;AAAAA;;;;;;;;MAcE;AAAA,IACF,CAAA,GAGAC,EAAAA;AAAAA,MACEC,WAAAA,EAAAA,KAAAA;AAAAA;MAEAC,UAAAA;AAAAA,MACAC,aAAAA;AAAAA,IACF,CAAA;AAEA,UAAAC,IAAAC,EAAA,MAAAT,EAAA,QAAA,CAAAA,EAAA,KAAA,IAAA,EAAA;AAEA,WAAA,MAAAU,EAAA,OAAA;AAAA,MAAO,OAAA;AAAA;MAAAxB,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA;AAAAA;MAGa,GAAA;AAAA,QAAAA,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA,MAAAA;AAAAA,UAAAA,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA;AAAAA;YAE0B,UAAA;AAAA,UAAA,GAAA;AAAA,YAAAA,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA,EAAAA;AAAAA,cAAA,MAAAyB,EAAA,OAAA;AAAA;;;;cAGkC,kBAAA;AAAA,cAC3C,WAAA;AAAA,cACR,mBAAA;AAAA;cAEO,gBAAAC;AAAA,cACG,kBAAA;AAAA;cAEG,oBAAAJ,EAAA;AAAA,YACgB,GAAAlB,CAAA,GAAA,IAAA,CAAA;AAAA,UACnC,CAAA,CAAA;AAAA,QAAA,CAAA,CAAA;AAAA;QAAA,QAAA;AAAA;MAKS,GAAA;AAAA,QAAAJ,SAAAA,MAAAA,CAAAA,EAAAA,QAAAA,EAAAA,OAAAA,EAAAA,EAAAA,MAAAA;AAAAA;;QAGsC,CAAA,IAAA,OAAAL,EAAA,SAAAgC,EAAAhC,EAAA,QAAA;AAAA;;MAIpD,CAAA,CAAA;AAAA;EAKpB;AACF,CAAA;"}
|