skyline-vue-admin 0.0.9 → 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.
@@ -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 q=require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");const y=require("../../hooks/useReferenceArrayInput.cjs"),g=require("../../setup/index.cjs"),v=require("@vueuse/core"),a=require("element-plus"),h=require("vue-router"),m=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 n=h.useRoute();let l;const{state:d,isLoading:o,execute:u}=v.useAsyncState(async i=>(l=new AbortController,g.skyConfig.dataProvider?.getList?.(n.meta.resource,{pagination:{page:1,perPage:t.size},filter:i,signal:l.signal})),void 0,{immediate:!0}),f=i=>{r.value===i[t.nodeKey]?r.value=void 0:r.value=i[t.nodeKey]},r=e.ref(),c=e.ref(0);return q.useProvideTreeWithDetails({createSuccess:async()=>{await u(),c.value++},editSuccess:async()=>{await u()},deleteSuccess:async()=>{await u(),r.value=void 0}}),y.useProvideReferenceArrayInput({reference:n.meta.resource,getList:i=>u(0,i),listData:d,listLoading:o}),()=>e.createVNode("div",{class:"sky-tree-with-details"},[e.createVNode(a.ElRow,null,{default:()=>[e.createVNode(a.ElCol,{span:8},{default:()=>[e.createVNode(a.ElCard,null,{default:()=>[e.createVNode(a.ElSkeleton,{loading:o.value,animated:!0},{default:()=>[e.createVNode(a.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},s),null)]})]})]}),e.createVNode(a.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=m;
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 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 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 {...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","_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,OAAAA,4BAAAA,+HAcE,CACF,CAAA,EAGAC,gCAAAA,CACEC,UAAAA,EAAAA,KAAAA,2BAEAC,SAAAA,EACAC,YAAAA,CACF,CAAA,EAEA,IAAAC,EAAAA,YAAA,MAAA,CAAO,MAAA,sDAAAtB,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,KAAAuB,EAAA,OAAA,0DAGkC,iBAAA,GAC3C,UAAA,GACR,kBAAA,qBAEO,eAAAC,EACG,iBAAA,GAAA,eAAAV,EAAA,KAEG,EAAAV,CAAA,EAAA,IAAA,CAAA,CACnB,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,OAAA8B,EAAAA,EAAA9B,EAAA,OAAA,oBAIpD,CAAA,CAAA,KAKpB,CACF,CAAA"}
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 y, ref as m, createVNode as i, mergeProps as g, h as s } from "vue";
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 v } from "../../hooks/useTreeWithDetails.mjs";
20
+ import { useProvideTreeWithDetails as k } from "../../hooks/useTreeWithDetails.mjs";
21
21
  import "../../hooks/useFormGrid.mjs";
22
- import { useProvideReferenceArrayInput as h } from "../../hooks/useReferenceArrayInput.mjs";
23
- import { skyConfig as k } from "../../setup/index.mjs";
24
- import { useAsyncState as C } from "@vueuse/core";
25
- import { ElRow as S, ElCol as c, ElCard as N, ElSkeleton as w, ElTree as E } from "element-plus";
26
- import { useRoute as K } from "vue-router";
27
- const _ = /* @__PURE__ */ y({
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: {
@@ -48,53 +48,55 @@ const _ = /* @__PURE__ */ y({
48
48
  }
49
49
  },
50
50
  setup(e, {
51
- attrs: p
51
+ attrs: f
52
52
  }) {
53
- const o = K();
53
+ const o = A();
54
54
  let l;
55
55
  const {
56
56
  state: n,
57
57
  isLoading: d,
58
- execute: a
59
- } = C(async (r) => (l = new AbortController(), k.dataProvider?.getList?.(o.meta.resource, {
58
+ execute: r
59
+ } = N(async (i) => (l = new AbortController(), S.dataProvider?.getList?.(o.meta.resource, {
60
60
  pagination: {
61
61
  page: 1,
62
62
  perPage: e.size
63
63
  },
64
- filter: r,
64
+ filter: i,
65
65
  signal: l.signal
66
66
  })), void 0, {
67
67
  immediate: !0
68
- }), f = (r) => {
69
- t.value === r[e.nodeKey] ? t.value = void 0 : t.value = r[e.nodeKey];
68
+ }), p = (i) => {
69
+ t.value === i[e.nodeKey] ? t.value = void 0 : t.value = i[e.nodeKey];
70
70
  }, t = m(), u = m(0);
71
- return v({
71
+ k({
72
72
  createSuccess: async () => {
73
- await a(), u.value++;
73
+ await r(), u.value++;
74
74
  },
75
75
  editSuccess: async () => {
76
- await a();
76
+ await r();
77
77
  },
78
78
  deleteSuccess: async () => {
79
- await a(), t.value = void 0;
79
+ await r(), t.value = void 0;
80
80
  }
81
- }), h({
81
+ }), C({
82
82
  reference: o.meta.resource,
83
- getList: (r) => a(0, r),
83
+ getList: (i) => r(0, i),
84
84
  listData: n,
85
85
  listLoading: d
86
- }), () => i("div", {
86
+ });
87
+ const y = g(() => t.value ? [t.value] : []);
88
+ return () => a("div", {
87
89
  class: "sky-tree-with-details"
88
- }, [i(S, null, {
89
- default: () => [i(c, {
90
+ }, [a(K, null, {
91
+ default: () => [a(c, {
90
92
  span: 8
91
93
  }, {
92
- default: () => [i(N, null, {
93
- default: () => [i(w, {
94
+ default: () => [a(w, null, {
95
+ default: () => [a(E, {
94
96
  loading: d.value,
95
97
  animated: !0
96
98
  }, {
97
- default: () => [i(E, g({
99
+ default: () => [a(b, h({
98
100
  data: n.value?.data,
99
101
  props: {
100
102
  children: e.optionChildren,
@@ -104,13 +106,14 @@ const _ = /* @__PURE__ */ y({
104
106
  accordion: !0,
105
107
  expandOnClickNode: !1,
106
108
  nodeKey: e.nodeKey,
107
- "onNode-click": f,
109
+ "onNode-click": p,
108
110
  highlightCurrent: !0,
109
- currentNodeKey: t.value
110
- }, p), null)]
111
+ currentNodeKey: t.value,
112
+ defaultCheckedKeys: y.value
113
+ }, f), null)]
111
114
  })]
112
115
  })]
113
- }), i(c, {
116
+ }), a(c, {
114
117
  offset: 1,
115
118
  span: 15
116
119
  }, {
@@ -125,6 +128,6 @@ const _ = /* @__PURE__ */ y({
125
128
  }
126
129
  });
127
130
  export {
128
- _ as SkyTreeWithDetails
131
+ ee as SkyTreeWithDetails
129
132
  };
130
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 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 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 {...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","_createVNode","state","onNodeClick","h"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,MAAAA,IAAA,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,WAAAA,EAAAA;AAAAA;;;;;;;;MAcE;AAAA,IACF,CAAA,GAGAC,EAAAA;AAAAA,MACEC,WAAAA,EAAAA,KAAAA;AAAAA;MAEAC,UAAAA;AAAAA,MACAC,aAAAA;AAAAA,IACF,CAAA,GAEA,MAAAC,EAAA,OAAA;AAAA,MAAO,OAAA;AAAA;MAAAtB,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,MAAAuB,EAAA,OAAA;AAAA;;;;cAGkC,kBAAA;AAAA,cAC3C,WAAA;AAAA,cACR,mBAAA;AAAA;cAEO,gBAAAC;AAAA,cACG,kBAAA;AAAA,cAAA,gBAAAV,EAAA;AAAA,YAEG,GAAAV,CAAA,GAAA,IAAA,CAAA;AAAA,UACnB,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,SAAA8B,EAAA9B,EAAA,QAAA;AAAA;;MAIpD,CAAA,CAAA;AAAA;EAKpB;AACF,CAAA;"}
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;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skyline-vue-admin",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },