@dinert/element-plus 1.1.45 → 2.0.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.
Files changed (169) hide show
  1. package/README.md +4 -2
  2. package/dist/element-plus.umd.js +2 -2
  3. package/dist/element-plus.umd.js.map +1 -1
  4. package/dist/style.css +1 -1
  5. package/es/node_modules/@element-plus/icons-vue/dist/index.mjs +22 -97
  6. package/es/node_modules/@element-plus/icons-vue/dist/index.mjs.map +1 -1
  7. package/es/packages/assets/scss/dinert-dialog.scss +81 -60
  8. package/es/packages/assets/scss/dinert-drawer.scss +69 -0
  9. package/es/packages/assets/scss/dinert-drawer.scss.mjs +2 -0
  10. package/es/packages/assets/scss/dinert-drawer.scss.mjs.map +1 -0
  11. package/es/packages/assets/scss/dinert-form.scss +65 -52
  12. package/es/packages/assets/scss/dinert-table-page.scss +11 -13
  13. package/es/packages/assets/scss/dinert-table.scss +100 -88
  14. package/es/packages/assets/scss/dinert-tooltip.scss +2 -3
  15. package/es/packages/components/dialog/src/index.mjs +112 -48
  16. package/es/packages/components/dialog/src/index.mjs.map +1 -1
  17. package/es/packages/components/drawer/index.mjs +10 -0
  18. package/es/packages/components/drawer/index.mjs.map +1 -0
  19. package/es/packages/components/drawer/src/index.mjs +88 -0
  20. package/es/packages/components/drawer/src/index.mjs.map +1 -0
  21. package/es/packages/components/form/src/cascader.mjs +30 -18
  22. package/es/packages/components/form/src/cascader.mjs.map +1 -1
  23. package/es/packages/components/form/src/checkbox.mjs +35 -20
  24. package/es/packages/components/form/src/checkbox.mjs.map +1 -1
  25. package/es/packages/components/form/src/date.mjs +35 -22
  26. package/es/packages/components/form/src/date.mjs.map +1 -1
  27. package/es/packages/components/form/src/form-item.mjs +384 -0
  28. package/es/packages/components/form/src/form-item.mjs.map +1 -0
  29. package/es/packages/components/form/src/index.mjs +48 -244
  30. package/es/packages/components/form/src/index.mjs.map +1 -1
  31. package/es/packages/components/form/src/input-autocomplete.mjs +22 -10
  32. package/es/packages/components/form/src/input-autocomplete.mjs.map +1 -1
  33. package/es/packages/components/form/src/input-number.mjs +22 -10
  34. package/es/packages/components/form/src/input-number.mjs.map +1 -1
  35. package/es/packages/components/form/src/input.mjs +29 -19
  36. package/es/packages/components/form/src/input.mjs.map +1 -1
  37. package/es/packages/components/form/src/radio.mjs +28 -13
  38. package/es/packages/components/form/src/radio.mjs.map +1 -1
  39. package/es/packages/components/form/src/rate.mjs +22 -10
  40. package/es/packages/components/form/src/rate.mjs.map +1 -1
  41. package/es/packages/components/form/src/select-v2.mjs +22 -10
  42. package/es/packages/components/form/src/select-v2.mjs.map +1 -1
  43. package/es/packages/components/form/src/select.mjs +24 -10
  44. package/es/packages/components/form/src/select.mjs.map +1 -1
  45. package/es/packages/components/form/src/slider.mjs +22 -10
  46. package/es/packages/components/form/src/slider.mjs.map +1 -1
  47. package/es/packages/components/form/src/switch.mjs +24 -12
  48. package/es/packages/components/form/src/switch.mjs.map +1 -1
  49. package/es/packages/components/form/src/time-picker.mjs +22 -10
  50. package/es/packages/components/form/src/time-picker.mjs.map +1 -1
  51. package/es/packages/components/form/src/time-select.mjs +22 -10
  52. package/es/packages/components/form/src/time-select.mjs.map +1 -1
  53. package/es/packages/components/form/src/tree-select.mjs +28 -16
  54. package/es/packages/components/form/src/tree-select.mjs.map +1 -1
  55. package/es/packages/components/form/utils/index.mjs +35 -93
  56. package/es/packages/components/form/utils/index.mjs.map +1 -1
  57. package/es/packages/components/index.mjs +10 -10
  58. package/es/packages/components/table/hooks/index.mjs +9 -12
  59. package/es/packages/components/table/hooks/index.mjs.map +1 -1
  60. package/es/packages/components/table/src/index.mjs +130 -207
  61. package/es/packages/components/table/src/index.mjs.map +1 -1
  62. package/es/packages/components/table/src/recuve-table-column.mjs +69 -264
  63. package/es/packages/components/table/src/recuve-table-column.mjs.map +1 -1
  64. package/es/packages/components/table/src/table-column-control.mjs +60 -0
  65. package/es/packages/components/table/src/table-column-control.mjs.map +1 -0
  66. package/es/packages/components/table/src/table-column-operations.mjs +126 -0
  67. package/es/packages/components/table/src/table-column-operations.mjs.map +1 -0
  68. package/es/packages/components/table/src/table-header.mjs +128 -0
  69. package/es/packages/components/table/src/table-header.mjs.map +1 -0
  70. package/es/packages/components/table/src/table-setting-control.mjs +49 -0
  71. package/es/packages/components/table/src/table-setting-control.mjs.map +1 -0
  72. package/es/packages/components/table-page/src/index.mjs +10 -10
  73. package/es/packages/components/table-page/src/index.mjs.map +1 -1
  74. package/es/packages/hooks/TablePage/index.mjs +11 -10
  75. package/es/packages/hooks/TablePage/index.mjs.map +1 -1
  76. package/es/packages/index.mjs +8 -8
  77. package/es/packages/utils/tools.mjs +12 -13
  78. package/es/packages/utils/tools.mjs.map +1 -1
  79. package/es/src/components/drawer/index.d.ts +4 -0
  80. package/es/src/components/drawer/src/index.d.ts +3 -0
  81. package/es/src/components/drawer/types/index.d.ts +10 -0
  82. package/es/src/components/form/index.d.ts +62 -6
  83. package/es/src/components/form/src/cascader.d.ts +5 -2
  84. package/es/src/components/form/src/checkbox.d.ts +5 -2
  85. package/es/src/components/form/src/date.d.ts +5 -2
  86. package/es/src/components/form/src/form-item.d.ts +32 -0
  87. package/es/src/components/form/src/index.d.ts +63 -8
  88. package/es/src/components/form/src/input-autocomplete.d.ts +5 -2
  89. package/es/src/components/form/src/input-number.d.ts +5 -2
  90. package/es/src/components/form/src/input.d.ts +3 -1
  91. package/es/src/components/form/src/radio.d.ts +5 -2
  92. package/es/src/components/form/src/rate.d.ts +5 -2
  93. package/es/src/components/form/src/select-v2.d.ts +5 -2
  94. package/es/src/components/form/src/select.d.ts +5 -2
  95. package/es/src/components/form/src/slider.d.ts +5 -2
  96. package/es/src/components/form/src/switch.d.ts +5 -2
  97. package/es/src/components/form/src/time-picker.d.ts +5 -2
  98. package/es/src/components/form/src/time-select.d.ts +5 -2
  99. package/es/src/components/form/src/tree-select.d.ts +5 -2
  100. package/es/src/components/form/types/components.d.ts +1 -2
  101. package/es/src/components/form/types/index.d.ts +77 -18
  102. package/es/src/components/form/utils/index.d.ts +2 -1
  103. package/es/src/components/index.d.ts +2 -2
  104. package/es/src/components/table/index.d.ts +8 -13
  105. package/es/src/components/table/src/index.d.ts +8 -13
  106. package/es/src/components/table/src/recuve-table-column.d.ts +3 -4
  107. package/es/src/components/table/src/table-column-control.d.ts +20 -0
  108. package/es/src/components/table/src/table-column-operations.d.ts +41 -0
  109. package/es/src/components/table/src/table-header.d.ts +88 -0
  110. package/es/src/components/table/src/table-setting-control.d.ts +55 -0
  111. package/es/src/components/table/types/index.d.ts +15 -14
  112. package/es/src/components/table-page/index.d.ts +143 -41
  113. package/es/src/components/table-page/src/index.d.ts +143 -41
  114. package/es/src/hooks/TablePage/index.d.ts +1 -1
  115. package/es/src/views/test-tsx-table/index.d.ts +6 -0
  116. package/es/style.css +1 -1
  117. package/lib/index.js +2 -2
  118. package/lib/index.js.map +1 -1
  119. package/lib/src/components/drawer/index.d.ts +4 -0
  120. package/lib/src/components/drawer/src/index.d.ts +3 -0
  121. package/lib/src/components/drawer/types/index.d.ts +10 -0
  122. package/lib/src/components/form/index.d.ts +62 -6
  123. package/lib/src/components/form/src/cascader.d.ts +5 -2
  124. package/lib/src/components/form/src/checkbox.d.ts +5 -2
  125. package/lib/src/components/form/src/date.d.ts +5 -2
  126. package/lib/src/components/form/src/form-item.d.ts +32 -0
  127. package/lib/src/components/form/src/index.d.ts +63 -8
  128. package/lib/src/components/form/src/input-autocomplete.d.ts +5 -2
  129. package/lib/src/components/form/src/input-number.d.ts +5 -2
  130. package/lib/src/components/form/src/input.d.ts +3 -1
  131. package/lib/src/components/form/src/radio.d.ts +5 -2
  132. package/lib/src/components/form/src/rate.d.ts +5 -2
  133. package/lib/src/components/form/src/select-v2.d.ts +5 -2
  134. package/lib/src/components/form/src/select.d.ts +5 -2
  135. package/lib/src/components/form/src/slider.d.ts +5 -2
  136. package/lib/src/components/form/src/switch.d.ts +5 -2
  137. package/lib/src/components/form/src/time-picker.d.ts +5 -2
  138. package/lib/src/components/form/src/time-select.d.ts +5 -2
  139. package/lib/src/components/form/src/tree-select.d.ts +5 -2
  140. package/lib/src/components/form/types/components.d.ts +1 -2
  141. package/lib/src/components/form/types/index.d.ts +77 -18
  142. package/lib/src/components/form/utils/index.d.ts +2 -1
  143. package/lib/src/components/index.d.ts +2 -2
  144. package/lib/src/components/table/index.d.ts +8 -13
  145. package/lib/src/components/table/src/index.d.ts +8 -13
  146. package/lib/src/components/table/src/recuve-table-column.d.ts +3 -4
  147. package/lib/src/components/table/src/table-column-control.d.ts +20 -0
  148. package/lib/src/components/table/src/table-column-operations.d.ts +41 -0
  149. package/lib/src/components/table/src/table-header.d.ts +88 -0
  150. package/lib/src/components/table/src/table-setting-control.d.ts +55 -0
  151. package/lib/src/components/table/types/index.d.ts +15 -14
  152. package/lib/src/components/table-page/index.d.ts +143 -41
  153. package/lib/src/components/table-page/src/index.d.ts +143 -41
  154. package/lib/src/hooks/TablePage/index.d.ts +1 -1
  155. package/lib/src/views/test-tsx-table/index.d.ts +6 -0
  156. package/lib/style.css +1 -1
  157. package/package.json +2 -1
  158. package/es/packages/assets/scss/dinert-tooltip.scss.mjs +0 -2
  159. package/es/packages/assets/scss/dinert-tooltip.scss.mjs.map +0 -1
  160. package/es/packages/components/tooltip/index.mjs +0 -10
  161. package/es/packages/components/tooltip/index.mjs.map +0 -1
  162. package/es/packages/components/tooltip/src/index.mjs +0 -54
  163. package/es/packages/components/tooltip/src/index.mjs.map +0 -1
  164. package/es/src/components/tooltip/index.d.ts +0 -51
  165. package/es/src/components/tooltip/src/index.d.ts +0 -50
  166. package/es/src/components/tooltip/types/index.d.ts +0 -10
  167. package/lib/src/components/tooltip/index.d.ts +0 -51
  168. package/lib/src/components/tooltip/src/index.d.ts +0 -50
  169. package/lib/src/components/tooltip/types/index.d.ts +0 -10
@@ -0,0 +1,126 @@
1
+ import { defineComponent as O, computed as a, createVNode as l, Fragment as j, resolveComponent as r, mergeProps as d, createTextVNode as x, isVNode as B } from "vue";
2
+ import { ElMessageBox as F } from "element-plus";
3
+ import i from "lodash";
4
+ import { ArrowDown as v } from "../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
5
+ function D(e) {
6
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !B(e);
7
+ }
8
+ const I = /* @__PURE__ */ O({
9
+ name: "TableColumnOperations",
10
+ props: {
11
+ operations: {
12
+ type: Object,
13
+ default: () => ({})
14
+ },
15
+ column: {
16
+ type: Object,
17
+ default: () => ({})
18
+ },
19
+ scope: {
20
+ type: Object,
21
+ default: () => ({})
22
+ }
23
+ },
24
+ setup(e, s) {
25
+ const c = a(() => {
26
+ const n = [];
27
+ return Object.keys(e.operations).forEach((o) => {
28
+ const t = e.operations[o], b = i.isFunction(t.show) ? t.show(e.scope, e.column, t) : t.show === void 0 ? !0 : t.show, p = i.isFunction(t.message) ? t.message(e.scope, e.column, t) : t.message, w = t.key === "delete" ? "danger" : t.type || "primary", y = t.link === void 0 ? !0 : t.link;
29
+ b && n.push({
30
+ key: o,
31
+ ...t,
32
+ message: p,
33
+ type: w,
34
+ link: y
35
+ });
36
+ }), n.sort((o, t) => (o.sort || 1 / 0) - (t.sort || 1 / 0)), n;
37
+ });
38
+ let u = e.column.maxOperations || 3;
39
+ u = c.value.length > u ? u - 1 : u;
40
+ const h = a(() => c.value.slice(0, u)), f = a(() => c.value.slice(u, c.value.length)), k = a(() => f.value.length && c.value.length > u), m = (n, o = null) => {
41
+ i.isObject(n.messageBox) ? F({
42
+ title: "警告",
43
+ message: `是否${n.message}该条数据?`,
44
+ type: "warning",
45
+ showCancelButton: !0,
46
+ cancelButtonText: "取消",
47
+ beforeClose(t, b, p) {
48
+ p();
49
+ },
50
+ ...n.messageBox
51
+ }).then(() => {
52
+ i.isFunction(n.clickCb) && n.clickCb(e.scope, e.column, n, o);
53
+ }).catch(() => null) : i.isFunction(n.clickCb) && n.clickCb(e.scope, e.column, n, o);
54
+ };
55
+ let C = null;
56
+ const g = (n = null) => {
57
+ C = n;
58
+ };
59
+ return {
60
+ defaultFunctions: h,
61
+ seniorFunctions: f,
62
+ isShowDropdown: k,
63
+ renderButton: (n) => l(r("el-button"), d(n, {
64
+ key: n.key,
65
+ onClick: (o) => i.isObject(n.popConfirm) ? g(o) : m(n, o)
66
+ }), {
67
+ default: () => [n.message]
68
+ }),
69
+ buttonClick: m,
70
+ popConConfirmClick: (n) => {
71
+ n.clickCb && n.clickCb(e.scope, e.column, n, C);
72
+ }
73
+ };
74
+ },
75
+ render() {
76
+ return l(j, null, [this.defaultFunctions.map((e) => {
77
+ if (i.isObject(e.popConfirm)) {
78
+ const s = {
79
+ title: `是否${e.message}该条数据?`,
80
+ ...e.popConfirm
81
+ };
82
+ return l(r("el-popconfirm"), d({
83
+ ...s
84
+ }, {
85
+ onConfirm: () => this.popConConfirmClick(e)
86
+ }), {
87
+ reference: () => this.renderButton(e)
88
+ });
89
+ }
90
+ return this.renderButton(e);
91
+ }), this.isShowDropdown ? l(r("el-dropdown"), {
92
+ teleported: !0
93
+ }, {
94
+ default: () => l(r("el-button"), {
95
+ type: "primary",
96
+ link: !0,
97
+ text: !0
98
+ }, {
99
+ default: () => [x("更多"), l(r("el-icon"), null, {
100
+ default: () => [l(v, null, null)]
101
+ })]
102
+ }),
103
+ dropdown: () => {
104
+ let e;
105
+ return l(r("el-dropdown-menu"), null, D(e = this.seniorFunctions.map((s) => l(r("el-dropdown-item"), {
106
+ command: s
107
+ }, {
108
+ default: () => [l(r("el-button"), d({
109
+ onClick: (c) => this.buttonClick(s, c)
110
+ }, {
111
+ text: !0,
112
+ ...s
113
+ }), {
114
+ default: () => [s.message]
115
+ })]
116
+ }))) ? e : {
117
+ default: () => [e]
118
+ });
119
+ }
120
+ }) : null]);
121
+ }
122
+ });
123
+ export {
124
+ I as default
125
+ };
126
+ //# sourceMappingURL=table-column-operations.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-column-operations.mjs","sources":["../../../../../packages/components/table/src/table-column-operations.tsx"],"sourcesContent":["import {PropType, computed, defineComponent} from 'vue'\nimport type {\n OperationsProps\n} from '@packages/components/table/types/index'\nimport {ElMessageBox} from 'element-plus'\nimport lodash from 'lodash'\nimport {ArrowDown} from '@element-plus/icons-vue'\n\nexport default defineComponent({\n name: 'TableColumnOperations',\n props: {\n operations: {\n type: Object,\n default: () => ({})\n },\n column: {\n type: Object,\n default: () => ({})\n },\n scope: {\n type: Object as PropType<any>,\n default: () => ({})\n }\n },\n\n setup(props, ctx) {\n\n\n const operations = computed<OperationsProps[]>(() => {\n const result: any = []\n Object.keys((props.operations)).forEach(key => {\n const tempObj = props.operations[key]\n const show = lodash.isFunction(tempObj.show) ? tempObj.show(props.scope, props.column, tempObj) : tempObj.show === undefined ? true : tempObj.show\n const message = lodash.isFunction(tempObj.message) ? tempObj.message(props.scope, props.column, tempObj) : tempObj.message\n const type = tempObj.key === 'delete' ? 'danger' : tempObj.type || 'primary'\n const link = tempObj.link === undefined ? true : tempObj.link\n\n if (show) {\n result.push({\n key: key,\n ...tempObj,\n message,\n type,\n link\n })\n\n }\n\n })\n\n result.sort((a: any, b: any) => {\n return (a.sort || Infinity) - (b.sort || Infinity)\n })\n\n return result\n })\n\n let maxOperations = props.column.maxOperations || 3\n const operationsLen = operations.value.length\n maxOperations = operationsLen > maxOperations ? maxOperations - 1 : maxOperations\n\n const defaultFunctions = computed(() => {\n const list = operations.value.slice(0, maxOperations)\n return list\n })\n\n const seniorFunctions = computed(() => {\n const list = operations.value.slice(maxOperations, operations.value.length)\n return list\n })\n\n const isShowDropdown = computed(() => {\n return seniorFunctions.value.length && operations.value.length > maxOperations\n })\n\n const buttonClick = (item: OperationsProps, e: any = null) => {\n\n if (lodash.isObject(item.messageBox)) {\n ElMessageBox({\n title: '警告',\n message: `是否${item.message}该条数据?`,\n type: 'warning',\n showCancelButton: true,\n cancelButtonText: '取消',\n beforeClose(action, instance, done) {\n done()\n },\n ...item.messageBox\n }).then(() => {\n lodash.isFunction(item.clickCb) && item.clickCb(props.scope, props.column, item, e)\n }).catch(() => null)\n } else {\n lodash.isFunction(item.clickCb) && item.clickCb(props.scope, props.column, item, e)\n }\n }\n\n let popButtonEl = null as any\n\n const popConfirmClick = (e: any = null) => {\n popButtonEl = e\n }\n\n const popConConfirmClick = (item: any) => {\n item.clickCb && item.clickCb(props.scope, props.column, item, popButtonEl)\n }\n\n const renderButton = (item: any) => (\n <el-button {...item} key={item.key} onClick={(e: any) => (lodash.isObject(item.popConfirm) ? popConfirmClick(e) : buttonClick(item, e))}>\n {item.message}\n </el-button>\n )\n\n return {\n defaultFunctions,\n seniorFunctions,\n isShowDropdown,\n renderButton,\n\n buttonClick,\n popConConfirmClick\n }\n },\n\n render() {\n return (\n <>\n {\n this.defaultFunctions.map(item => {\n if (lodash.isObject(item.popConfirm)) {\n const popConfirm = {\n title: `是否${item.message}该条数据?`,\n ...item.popConfirm\n }\n\n return (<el-popconfirm {...{...popConfirm}}\n onConfirm={ () => this.popConConfirmClick(item)}>\n {{\n reference: () => {\n return this.renderButton(item)\n }\n }}\n </el-popconfirm>)\n }\n\n return this.renderButton(item)\n })\n }\n\n {this.isShowDropdown\n ? <el-dropdown teleported={true}\n v-slots= {{\n default: () => {\n return (\n <el-button type=\"primary\" link text>\n 更多<el-icon><ArrowDown /></el-icon>\n </el-button>\n )\n },\n dropdown: () => {\n return (\n <el-dropdown-menu>\n {this.seniorFunctions.map(item => {return (<el-dropdown-item command={item}>\n <el-button\n onClick={(e: any) => this.buttonClick(item, e)}\n {...{\n text: true,\n ...item\n }}\n >{item.message}</el-button>\n </el-dropdown-item>)})}\n </el-dropdown-menu>\n )\n }\n }}>\n\n </el-dropdown> : null\n }\n </>\n )\n }\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","operations","type","default","column","scope","setup","ctx","computed","result","keys","forEach","key","tempObj","show","lodash","isFunction","undefined","message","link","push","sort","a","b","Infinity","maxOperations","value","length","defaultFunctions","slice","seniorFunctions","isShowDropdown","buttonClick","item","e","isObject","messageBox","ElMessageBox","title","showCancelButton","cancelButtonText","beforeClose","action","instance","done","then","clickCb","catch","popButtonEl","popConfirmClick","renderButton","_createVNode","_resolveComponent","_mergeProps","popConfirm","popConConfirmClick","render","_Fragment","map","onConfirm","reference","_createTextVNode","ArrowDown","dropdown","_slot","text"],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ import { defineComponent as C, ref as g, computed as y, createVNode as l, resolveComponent as i, mergeProps as M, createTextVNode as b, isVNode as T } from "vue";
2
+ import { ArrowDown as k } from "../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
3
+ import v from "./table-column-control.mjs";
4
+ import { allShow as E } from "../hooks/index.mjs";
5
+ import r from "lodash";
6
+ import { ElMessageBox as m } from "element-plus";
7
+ function w(n) {
8
+ return typeof n == "function" || Object.prototype.toString.call(n) === "[object Object]" && !T(n);
9
+ }
10
+ const F = /* @__PURE__ */ C({
11
+ name: "dinert-table-header",
12
+ props: {
13
+ table: {
14
+ type: Object
15
+ },
16
+ header: {
17
+ type: Object,
18
+ default: () => ({})
19
+ },
20
+ isAllData: {
21
+ type: Boolean
22
+ },
23
+ tableColumns: {
24
+ type: Array,
25
+ default: () => []
26
+ }
27
+ },
28
+ emits: ["CheckedChange", "TooltipMouseEnter", "TooltipMouseLeave", "HeaderTooltipMouseEnter"],
29
+ setup(n, e) {
30
+ const s = g();
31
+ return {
32
+ headerList: y(() => {
33
+ const t = [];
34
+ return Object.keys(n.header).forEach((o) => {
35
+ const a = n.header[o];
36
+ t.push({
37
+ key: o,
38
+ ...a
39
+ });
40
+ }), t.sort((o, a) => (o.sort || 1 / 0) - (a.sort || 1 / 0)), t;
41
+ }),
42
+ selectTableRef: s,
43
+ buttonClick: (t, o = null) => {
44
+ r.isObject(t.messageBox) ? m({
45
+ title: "警告",
46
+ message: `是否${t.message}该条数据?`,
47
+ type: "warning",
48
+ showCancelButton: !0,
49
+ cancelButtonText: "取消",
50
+ beforeClose(a, h, f) {
51
+ f();
52
+ },
53
+ ...t.messageBox
54
+ }).then(() => {
55
+ r.isFunction(t.clickCb) && t.clickCb(t, o);
56
+ }).catch(() => null) : r.isFunction(t.clickCb) && t.clickCb(t, o);
57
+ },
58
+ tooltipMouseEnter: (t, o) => {
59
+ const a = r.isFunction(o.tooltip) ? o.tooltip(o) : o.tooltip;
60
+ if (r.isObject(a)) {
61
+ const h = r.isFunction(a.content) ? a.content(o) : a.content;
62
+ e.emit("HeaderTooltipMouseEnter", t, h);
63
+ }
64
+ },
65
+ tooltipMouseLeave: (t, o) => {
66
+ e.emit("TooltipMouseLeave", t, o);
67
+ }
68
+ };
69
+ },
70
+ render() {
71
+ var n;
72
+ return l("header", {
73
+ class: "dinert-table-header"
74
+ }, [l("div", {
75
+ class: "dinert-table-header-left"
76
+ }, [this.headerList.map((e) => {
77
+ var d, p;
78
+ if (this.$slots["header_left_" + e.key])
79
+ return (p = (d = this.$slots)["header_left_" + e.key]) == null ? void 0 : p.call(d, e);
80
+ const s = r.isFunction(e.disabled) ? e.disabled(e) : e.disabled, u = r.isFunction(e.show) ? e.show(e) : e.show, c = r.isFunction(e.message) ? e.message(e) : e.message;
81
+ return u || u === void 0 ? l(i("el-button"), M({
82
+ ...e,
83
+ disabled: s
84
+ }, {
85
+ onClick: (t) => this.buttonClick(e, t),
86
+ onMouseenter: (t) => this.tooltipMouseEnter(t, e),
87
+ onMouseleave: (t) => this.tooltipMouseLeave(t, e)
88
+ }), w(c) ? c : {
89
+ default: () => [c]
90
+ }) : null;
91
+ })]), ((n = this.table) == null ? void 0 : n.setting) && l("div", {
92
+ class: "dinert-table-header-right"
93
+ }, [l(i("el-button-group"), null, {
94
+ default: () => [l(i("el-button"), {
95
+ type: this.isAllData ? "primary" : "default",
96
+ onClick: async () => {
97
+ var e, s;
98
+ E((e = this.selectTableRef) == null ? void 0 : e.selectTableRef, ((s = this.table) == null ? void 0 : s.tableColumns) || []);
99
+ }
100
+ }, {
101
+ default: () => [b("全部显示")]
102
+ }), l(i("el-popover"), {
103
+ teleported: !0
104
+ }, {
105
+ default: () => l("ul", {
106
+ class: "dinert-popover-classify"
107
+ }, [l(v, {
108
+ onCheckedChange: (e, s, u) => this.$emit("CheckedChange", e, s, u),
109
+ onTooltipMouseEnter: (e, s) => this.$emit("TooltipMouseEnter", e, s),
110
+ onTooltipMouseLeave: (e, s) => this.$emit("TooltipMouseLeave", e, s),
111
+ ref: (e) => this.selectTableRef = e,
112
+ table: this.table
113
+ }, null)]),
114
+ reference: () => l(i("el-button"), {
115
+ type: this.isAllData ? "default" : "primary"
116
+ }, {
117
+ default: () => [b("分类显示"), l(i("el-icon"), null, {
118
+ default: () => [l(k, null, null)]
119
+ })]
120
+ })
121
+ })]
122
+ })])]);
123
+ }
124
+ });
125
+ export {
126
+ F as default
127
+ };
128
+ //# sourceMappingURL=table-header.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-header.mjs","sources":["../../../../../packages/components/table/src/table-header.tsx"],"sourcesContent":["import {computed, defineComponent, PropType, ref} from 'vue'\nimport type {HeaderListProps, OperationsProps, RewriteTableColumnCtx, RewriteTableProps} from '@packages/components/table/types/index'\nimport {ArrowDown} from '@element-plus/icons-vue'\nimport DinertTableColumnControl from './table-column-control'\nimport {allShow} from '@packages/components/table/hooks'\nimport lodash from 'lodash'\nimport {ElMessageBox} from 'element-plus'\n\nexport default defineComponent({\n name: 'dinert-table-header',\n props: {\n table: {\n type: Object as PropType<RewriteTableProps>,\n },\n header: {\n type: Object as PropType<HeaderListProps>,\n default: () => ({})\n },\n isAllData: {\n type: Boolean,\n },\n tableColumns: {\n type: Array as PropType<RewriteTableColumnCtx[]>,\n default: () => ([])\n }\n },\n emits: ['CheckedChange', 'TooltipMouseEnter', 'TooltipMouseLeave', 'HeaderTooltipMouseEnter'],\n\n setup(props, ctx) {\n\n const selectTableRef = ref<InstanceType<typeof DinertTableColumnControl>>()\n\n const headerList = computed<HeaderListProps[]>(() => {\n\n const result: HeaderListProps[] = []\n\n // eslint-disable-next-line max-statements\n Object.keys(props.header).forEach(key => {\n const tempObj = props.header[key]\n result.push({\n key: key,\n ...tempObj,\n })\n })\n\n result.sort((a: any, b: any) => {\n return (a.sort || Infinity) - (b.sort || Infinity)\n })\n return result\n })\n\n const buttonClick = (item: HeaderListProps, e: any = null) => {\n\n if (lodash.isObject(item.messageBox)) {\n ElMessageBox({\n title: '警告',\n message: `是否${item.message}该条数据?`,\n type: 'warning',\n showCancelButton: true,\n cancelButtonText: '取消',\n beforeClose(action, instance, done) {\n done()\n },\n ...item.messageBox\n }).then(() => {\n lodash.isFunction(item.clickCb) && item.clickCb(item, e)\n }).catch(() => null)\n } else {\n lodash.isFunction(item.clickCb) && item.clickCb(item, e)\n }\n }\n\n const tooltipMouseEnter = (e: PointerEvent, item: HeaderListProps) => {\n\n const tooltipProps = lodash.isFunction(item.tooltip) ? item.tooltip(item) : item.tooltip\n\n if (lodash.isObject(tooltipProps) as any) {\n const message = lodash.isFunction(tooltipProps.content) ? tooltipProps.content(item as any) : tooltipProps.content\n ctx.emit('HeaderTooltipMouseEnter', e, message)\n }\n\n\n }\n\n const tooltipMouseLeave = (e: PointerEvent, item: HeaderListProps) => {\n\n ctx.emit('TooltipMouseLeave', e, item)\n }\n\n\n return {\n headerList,\n selectTableRef,\n buttonClick,\n tooltipMouseEnter,\n tooltipMouseLeave\n\n }\n },\n render() {\n\n // const isHeader = (this.header && headerList.length) || (this.getSetting && this.header)\n return (\n <header class={'dinert-table-header'}>\n {\n <div class=\"dinert-table-header-left\">\n {\n this.headerList.map((item: HeaderListProps) => {\n if (this.$slots['header_left_' + (item as any).key]) {\n return this.$slots['header_left_' + (item as any).key]?.(item)\n }\n\n const itemDisabled = lodash.isFunction(item.disabled) ? item.disabled(item) : item.disabled\n const itemShow = lodash.isFunction(item.show) ? item.show(item) : item.show\n const message = lodash.isFunction(item.message) ? item.message(item) : item.message\n\n if (itemShow || itemShow === undefined)\n {\n // const tooltip = item.tooltip || {} as any\n // const content = typeof tooltip.content === 'function' ? tooltip.content(item) : tooltip.content\n return (<el-button\n {...{\n ...item,\n disabled: itemDisabled,\n }}\n onClick={(e: any) => this.buttonClick(item, e)}\n onMouseenter={e => this.tooltipMouseEnter(e, item)}\n onMouseleave={e => this.tooltipMouseLeave(e, item)}\n >\n {message}\n </el-button>)\n }\n return null\n })\n }\n </div>\n }\n {\n\n (this.table?.setting && <div class={'dinert-table-header-right'}>\n\n <el-button-group>\n <el-button type={this.isAllData ? 'primary' : 'default'}\n onClick={async () => {\n allShow(this.selectTableRef?.selectTableRef, this.table?.tableColumns || [])}}\n >全部显示\n </el-button>\n <el-popover teleported={true}\n v-slots={\n {\n default: () => (\n <ul class=\"dinert-popover-classify\">\n <DinertTableColumnControl\n onCheckedChange={(data, checked, childChecked) => this.$emit('CheckedChange', data, checked, childChecked)}\n onTooltipMouseEnter={(e, label) => this.$emit('TooltipMouseEnter', e, label)}\n onTooltipMouseLeave={(e, label) => this.$emit('TooltipMouseLeave', e, label)}\n ref={el => (this.selectTableRef = el)}\n table={this.table}\n ></DinertTableColumnControl>\n </ul>\n ),\n reference: () => (\n <el-button type={this.isAllData ? 'default' : 'primary'}>\n 分类显示<el-icon><ArrowDown/></el-icon>\n </el-button>\n )\n }\n\n }\n >\n </el-popover>\n </el-button-group>\n </div>)\n }\n </header>\n )\n\n }\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","table","type","header","default","isAllData","Boolean","tableColumns","Array","emits","setup","ctx","selectTableRef","ref","headerList","computed","result","keys","forEach","key","tempObj","push","sort","a","b","Infinity","buttonClick","item","e","lodash","isObject","messageBox","ElMessageBox","title","message","showCancelButton","cancelButtonText","beforeClose","action","instance","done","then","isFunction","clickCb","catch","tooltipMouseEnter","tooltipProps","tooltip","content","emit","tooltipMouseLeave","render","_createVNode","map","$slots","_b","_a","itemDisabled","disabled","itemShow","show","undefined","_resolveComponent","_mergeProps","setting","allShow","_createTextVNode","DinertTableColumnControl","onCheckedChange","data","checked","childChecked","$emit","onTooltipMouseEnter","label","onTooltipMouseLeave","el","reference","ArrowDown"],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { defineComponent as n, ref as r, createVNode as e, resolveComponent as l, createTextVNode as a } from "vue";
2
+ import { allShow as s } from "../hooks/index.mjs";
3
+ import { Setting as i } from "../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
4
+ import c from "./table-column-control.mjs";
5
+ const b = /* @__PURE__ */ n({
6
+ name: "dinert-table-column-control",
7
+ props: {
8
+ table: {
9
+ type: Object
10
+ }
11
+ },
12
+ emits: ["CheckedChange"],
13
+ setup() {
14
+ return {
15
+ selectTableRef: r()
16
+ };
17
+ },
18
+ render() {
19
+ return e(l("el-popover"), {
20
+ teleported: !0
21
+ }, {
22
+ default: () => e("ul", {
23
+ class: "dinert-popover-classify"
24
+ }, [e("li", null, [e(l("el-button"), {
25
+ class: "allSelect",
26
+ link: !0,
27
+ type: "primary",
28
+ onClick: async () => {
29
+ var t, o;
30
+ return s((t = this.selectTableRef) == null ? void 0 : t.selectTableRef, ((o = this.table) == null ? void 0 : o.tableColumns) || []);
31
+ }
32
+ }, {
33
+ default: () => [a("全选")]
34
+ })]), e(c, {
35
+ ref: (t) => this.selectTableRef = t,
36
+ table: this.table
37
+ }, null)]),
38
+ reference: () => e(l("el-icon"), {
39
+ class: "setting-icon"
40
+ }, {
41
+ default: () => [e(i, null, null)]
42
+ })
43
+ });
44
+ }
45
+ });
46
+ export {
47
+ b as default
48
+ };
49
+ //# sourceMappingURL=table-setting-control.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-setting-control.mjs","sources":["../../../../../packages/components/table/src/table-setting-control.tsx"],"sourcesContent":["import {PropType, computed, defineComponent, ref} from 'vue'\n\nimport type {RewriteTableColumnCtx, RewriteTableProps} from '@packages/components/table/types/index'\nimport {getTreeNode} from '@packages/utils/tools'\nimport {allShow} from '@packages/components/table/hooks'\nimport type Node from 'element-plus/es/components/tree/src/model/node'\nimport {Setting} from '@element-plus/icons-vue'\nimport DinertTableColumnControl from './table-column-control'\n\nexport default defineComponent({\n name: 'dinert-table-column-control',\n props: {\n table: {\n type: Object as PropType<RewriteTableProps>,\n }\n },\n emits: ['CheckedChange'],\n setup() {\n\n const selectTableRef = ref<InstanceType<typeof DinertTableColumnControl>>()\n\n\n return {\n selectTableRef,\n\n\n }\n },\n render() {\n\n return (\n <el-popover teleported={true}\n v-slots={\n {\n default: () => (\n <ul class=\"dinert-popover-classify\">\n <li>\n <el-button class=\"allSelect\" link\n type={'primary'} onClick={async () => allShow(this.selectTableRef?.selectTableRef, this.table?.tableColumns || [])}\n >全选</el-button>\n </li>\n <DinertTableColumnControl ref={el => (this.selectTableRef = el)}\n table={this.table}></DinertTableColumnControl>\n </ul>\n ),\n reference: () => (\n <el-icon class=\"setting-icon\">\n <Setting/>\n </el-icon>\n )\n\n }\n }\n >\n </el-popover>\n )\n }\n})\n"],"names":["defineComponent","name","props","table","type","Object","emits","setup","selectTableRef","ref","render","_createVNode","_resolveComponent","default","allShow","_a","_b","tableColumns","_createTextVNode","DinertTableColumnControl","el","reference","Setting"],"mappings":";;;;AASA,MAAeA,sBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,OAAO;AAAA,MACHC,MAAMC;AAAAA,IACV;AAAA,EACH;AAAA,EACDC,OAAO,CAAC,eAAe;AAAA,EACvBC,QAAQ;AAKJ,WAAO;AAAA,MACHC,gBAJmBC;;EAQ1B;AAAA,EACDC,SAAS;AAEL,WAAAC,EAAAC,EAAA,YAAA,GAAA;AAAA,MAAA,YAC4B;AAAA,OAEhB;AAAA,MACIC,SAASA,MAAAF,EAAA,MAAA;AAAA,QAAA,OAAA;AAAA,MAAA,GAAA,CAAAA,EAAA,MAAA,MAAA,CAAAA,EAAAC,EAAA,WAAA,GAAA;AAAA,QAAA,OAAA;AAAA,QAAA,MAAA;AAAA,QAAA,MAIa;AAAA,QAAS,SAAW,YAAA;;AAAYE,iBAAAA,GAAQC,IAAA,KAAKP,mBAAL,gBAAAO,EAAqBP,kBAAgBQ,IAAA,KAAKb,UAAL,gBAAAa,EAAYC,iBAAgB,EAAE;AAAA;AAAA,MAAC,GAAA;AAAA,QAAAJ,SAAAA,MAAA,CAAAK,EAAA,IAAA,CAAA;AAAA,OAAAP,CAAAA,CAAAA,GAAAA,EAAAQ,GAAA;AAAA,QAAA,KAG3FC,CAAAA,MAAO,KAAKZ,iBAAiBY;AAAAA,QAAG,OACpD,KAAKjB;AAAAA,SAEvB,IAAA,CAAA,CAAA;AAAA,MACDkB,WAAWA,MAAAV,EAAAC,EAAA,SAAA,GAAA;AAAA,QAAA,OAAA;AAAA,MAAA,GAAA;AAAA,QAAAC,SAAAA,MAAAF,CAAAA,EAAAW,GAAA,MAAA,IAAA,CAAA;AAAA,MAAA,CAAA;AAAA,KAMd;AAAA,EAKjB;AACJ,CAAC;"}
@@ -1,8 +1,8 @@
1
- import { defineComponent as i, ref as r, createVNode as n } from "vue";
1
+ import { defineComponent as l, ref as r, createVNode as s } from "vue";
2
2
  import { DinertTable as h } from "../../table/index.mjs";
3
3
  import { DinertForm as f } from "../../form/index.mjs";
4
4
  import "../../../assets/scss/dinert-table-page.scss.mjs";
5
- const b = /* @__PURE__ */ i({
5
+ const b = /* @__PURE__ */ l({
6
6
  name: "dinert-table-page",
7
7
  props: {
8
8
  form: {
@@ -22,8 +22,8 @@ const b = /* @__PURE__ */ i({
22
22
  default: !0
23
23
  },
24
24
  header: {
25
- type: [Object, Boolean],
26
- default: !0
25
+ type: Object,
26
+ default: () => ({})
27
27
  },
28
28
  tableSlot: {
29
29
  type: Boolean,
@@ -38,9 +38,9 @@ const b = /* @__PURE__ */ i({
38
38
  tableRef: e,
39
39
  formRef: t,
40
40
  onUnFold: () => {
41
- const l = setTimeout(() => {
42
- var s;
43
- (s = e.value) == null || s.resizeTaleHeightFn(), clearTimeout(l);
41
+ const i = setTimeout(() => {
42
+ var n;
43
+ (n = e.value) == null || n.resizeTaleHeightFn(), clearTimeout(i);
44
44
  }, 300);
45
45
  }
46
46
  };
@@ -53,12 +53,12 @@ const b = /* @__PURE__ */ i({
53
53
  return (o = (t = this.$slots)[e.prop]) == null ? void 0 : o.call(t, e);
54
54
  }
55
55
  };
56
- return n("section", {
56
+ return s("section", {
57
57
  class: ["dinert-table-page", this.search ? "search" : ""],
58
58
  ref: (e) => {
59
59
  this.tablePageDom = e;
60
60
  }
61
- }, [this.search && n(f, {
61
+ }, [this.search && s(f, {
62
62
  form: this.form,
63
63
  class: "near",
64
64
  onSearchFn: () => this.$emit("SearchFn"),
@@ -67,7 +67,7 @@ const b = /* @__PURE__ */ i({
67
67
  ref: (e) => {
68
68
  this.formRef = e;
69
69
  }
70
- }, this.$slots), n(h, {
70
+ }, this.$slots), s(h, {
71
71
  ref: (e) => {
72
72
  this.tableRef = e;
73
73
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/table-page/src/index.tsx"],"sourcesContent":["import {defineComponent, ref} from 'vue'\n\nimport DinertTable from '@packages/components/table'\nimport DinertForm from '@packages/components/form'\n\nimport type {RewriteTableProps, HeaderListProps} from '@packages/components/table/types/index'\nimport type {PropType} from 'vue'\nimport type {RewriteFormProps} from '@packages/components/form/types'\n\nimport '@packages/assets/scss/dinert-table-page.scss'\n\n\nexport default defineComponent({\n name: 'dinert-table-page',\n props: {\n form: {\n type: Object as PropType<RewriteFormProps>,\n default: () => ({})\n },\n table: {\n type: Object as PropType<RewriteTableProps>,\n default: () => ({})\n },\n search: {\n type: Boolean,\n default: true\n },\n footer: {\n type: Boolean,\n default: true\n },\n header: {\n type: [Object, Boolean] as PropType<HeaderListProps | boolean>,\n default: true\n },\n tableSlot: {\n type: Boolean,\n default: false\n }\n },\n emits: ['SizeChange', 'CurrentChange', 'SearchFn', 'ResetFn', 'CheckedChange'],\n setup() {\n\n const tablePageDom = ref<HTMLElement>()\n const tableRef = ref<InstanceType<typeof DinertTable>>()\n const formRef = ref<InstanceType<typeof DinertForm>>()\n\n const onUnFold = () => {\n const timer = setTimeout(() => {\n tableRef.value?.resizeTaleHeightFn()\n clearTimeout(timer)\n }, 300)\n }\n\n return {\n tablePageDom,\n tableRef,\n formRef,\n onUnFold\n }\n },\n render() {\n const slots = this.tableSlot ? this.$slots : {\n ...this.$slots,\n default: (scope: any) => this.$slots[(scope.prop)]?.(scope)\n }\n\n return (\n <section class={['dinert-table-page', this.search ? 'search' : '']} ref={el => {this.tablePageDom = el}}>\n {this.search\n && <DinertForm form={this.form}\n class=\"near\"\n v-slots={this.$slots}\n onSearchFn={() => this.$emit('SearchFn')}\n onResetFn={() => this.$emit('ResetFn')}\n onUnFold={this.onUnFold}\n ref={el => {this.formRef = el}}></DinertForm>\n }\n <DinertTable\n ref={el => {this.tableRef = el}}\n table={this.table}\n header={this.header}\n footer={this.footer}\n tableSlot={this.tableSlot}\n v-slots={slots}\n onSizeChange={(val: number) => this.$emit('SizeChange', val)}\n onCurrentChange={(val: number) => this.$emit('CurrentChange', val)}\n onCheckedChange={(data: Node, checked: boolean, childChecked: boolean) => this.$emit('CheckedChange', data, checked, childChecked)}\n >\n </DinertTable>\n </section>\n )\n }\n})\n"],"names":["defineComponent","name","props","form","type","Object","default","table","search","Boolean","footer","header","tableSlot","emits","setup","tablePageDom","ref","tableRef","formRef","onUnFold","timer","setTimeout","value","resizeTaleHeightFn","clearTimeout","render","slots","$slots","scope","_b","_a","prop","_createVNode","el","DinertForm","onSearchFn","$emit","onResetFn","DinertTable","val","onCheckedChange","data","checked","childChecked"],"mappings":";;;;AAYA,MAAeA,sBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,MAAM;AAAA,MACFC,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDC,OAAO;AAAA,MACHH,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDE,QAAQ;AAAA,MACJJ,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACZ;AAAA,IACDI,QAAQ;AAAA,MACJN,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACZ;AAAA,IACDK,QAAQ;AAAA,MACJP,MAAM,CAACC,QAAQI,OAAO;AAAA,MACtBH,SAAS;AAAA,IACZ;AAAA,IACDM,WAAW;AAAA,MACPR,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACb;AAAA,EACH;AAAA,EACDO,OAAO,CAAC,cAAc,iBAAiB,YAAY,WAAW,eAAe;AAAA,EAC7EC,QAAQ;AAEJ,UAAMC,IAAeC,KACfC,IAAWD,KACXE,IAAUF;AAShB,WAAO;AAAA,MACHD,cAAAA;AAAAA,MACAE,UAAAA;AAAAA,MACAC,SAAAA;AAAAA,MACAC,UAXaA,MAAM;AACnB,cAAMC,IAAQC,WAAW,MAAM;;AAC3BJ,WAAAA,IAAAA,EAASK,UAATL,QAAAA,EAAgBM,sBAChBC,aAAaJ,CAAK;AAAA,QACrB,GAAE,GAAG;AAAA;;EASb;AAAA,EACDK,SAAS;AACL,UAAMC,IAAQ,KAAKd,YAAY,KAAKe,SAAS;AAAA,MACzC,GAAG,KAAKA;AAAAA,MACRrB,SAAUsB,CAAAA,MAAU;;AAAK,gBAAAC,KAAAC,IAAA,KAAKH,QAAQC,EAAMG,UAAnB,gBAAAF,EAAA,KAAAC,GAA4BF;AAAAA;AAAAA;AAGzD,WAAAI,EAAA,WAAA;AAAA,MAAA,OACoB,CAAC,qBAAqB,KAAKxB,SAAS,WAAW,EAAE;AAAA,MAAC,KAAOyB,CAAAA,MAAM;AAAC,aAAKlB,eAAekB;AAAAA,MAAE;AAAA,IAAC,GAAA,CAClG,KAAKzB,UAAMwB,EAAAE,GAAA;AAAA,MAAA,MACS,KAAK/B;AAAAA,MAAI,OAAA;AAAA,MAAA,YAGdgC,MAAM,KAAKC,MAAM,UAAU;AAAA,MAAC,WAC7BC,MAAM,KAAKD,MAAM,SAAS;AAAA,MAAC,UAC5B,KAAKjB;AAAAA,MAAQ,KAClBc,CAAAA,MAAM;AAAC,aAAKf,UAAUe;AAAAA,MAAE;AAAA,IAAC,GAJrB,KAAKN,MAAM,GAIyBK,EAAAM,GAAA;AAAA,MAAA,KAGxCL,CAAAA,MAAM;AAAC,aAAKhB,WAAWgB;AAAAA,MAAG;AAAA,MAAA,OACxB,KAAK1B;AAAAA,MAAK,QACT,KAAKI;AAAAA,MAAM,QACX,KAAKD;AAAAA,MAAM,WACR,KAAKE;AAAAA,MAAS,cAEV2B,CAAAA,MAAgB,KAAKH,MAAM,cAAcG,CAAG;AAAA,MAAC,iBAC1CA,CAAAA,MAAgB,KAAKH,MAAM,iBAAiBG,CAAG;AAAA,MAAC,iBACjDC,CAACC,GAAYC,GAAkBC,MAA0B,KAAKP,MAAM,iBAAiBK,GAAMC,GAASC,CAAY;AAAA,IAAC,GAHzHjB,CAAK,CAAA,CAAA;AAAA,EAQ9B;AACJ,CAAC;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/table-page/src/index.tsx"],"sourcesContent":["import {defineComponent, ref} from 'vue'\n\nimport DinertTable from '@packages/components/table'\nimport DinertForm from '@packages/components/form'\n\nimport type {RewriteTableProps, HeaderListProps} from '@packages/components/table/types/index'\nimport type {PropType} from 'vue'\nimport type {RewriteFormProps} from '@packages/components/form/types'\n\nimport '@packages/assets/scss/dinert-table-page.scss'\n\n\nexport default defineComponent({\n name: 'dinert-table-page',\n props: {\n form: {\n type: Object as PropType<RewriteFormProps>,\n default: () => ({})\n },\n table: {\n type: Object as PropType<RewriteTableProps>,\n default: () => ({})\n },\n search: {\n type: Boolean,\n default: true\n },\n footer: {\n type: Boolean,\n default: true\n },\n header: {\n type: Object as PropType<HeaderListProps>,\n default: () => ({})\n },\n tableSlot: {\n type: Boolean,\n default: false\n }\n },\n emits: ['SizeChange', 'CurrentChange', 'SearchFn', 'ResetFn', 'CheckedChange'],\n setup() {\n\n const tablePageDom = ref<HTMLElement>()\n const tableRef = ref<InstanceType<typeof DinertTable>>()\n const formRef = ref<InstanceType<typeof DinertForm>>()\n\n const onUnFold = () => {\n const timer = setTimeout(() => {\n tableRef.value?.resizeTaleHeightFn()\n clearTimeout(timer)\n }, 300)\n }\n\n return {\n tablePageDom,\n tableRef,\n formRef,\n onUnFold\n }\n },\n render() {\n const slots = this.tableSlot ? this.$slots : {\n ...this.$slots,\n default: (scope: any) => this.$slots[(scope.prop)]?.(scope)\n }\n\n return (\n <section class={['dinert-table-page', this.search ? 'search' : '']} ref={el => {this.tablePageDom = el}}>\n {this.search\n && <DinertForm form={this.form}\n class=\"near\"\n v-slots={this.$slots}\n onSearchFn={() => this.$emit('SearchFn')}\n onResetFn={() => this.$emit('ResetFn')}\n onUnFold={this.onUnFold}\n ref={el => {this.formRef = el}}></DinertForm>\n }\n <DinertTable\n ref={el => {this.tableRef = el}}\n table={this.table}\n header={this.header}\n footer={this.footer}\n tableSlot={this.tableSlot}\n v-slots={slots}\n onSizeChange={(val: number) => this.$emit('SizeChange', val)}\n onCurrentChange={(val: number) => this.$emit('CurrentChange', val)}\n onCheckedChange={(data: Node, checked: boolean, childChecked: boolean) => this.$emit('CheckedChange', data, checked, childChecked)}\n >\n </DinertTable>\n </section>\n )\n }\n})\n"],"names":["defineComponent","name","props","form","type","Object","default","table","search","Boolean","footer","header","tableSlot","emits","setup","tablePageDom","ref","tableRef","formRef","onUnFold","timer","setTimeout","value","resizeTaleHeightFn","clearTimeout","render","slots","$slots","scope","_b","_a","prop","_createVNode","el","DinertForm","onSearchFn","$emit","onResetFn","DinertTable","val","onCheckedChange","data","checked","childChecked"],"mappings":";;;;AAYA,MAAeA,sBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,MAAM;AAAA,MACFC,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDC,OAAO;AAAA,MACHH,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDE,QAAQ;AAAA,MACJJ,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACZ;AAAA,IACDI,QAAQ;AAAA,MACJN,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACZ;AAAA,IACDK,QAAQ;AAAA,MACJP,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDM,WAAW;AAAA,MACPR,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACb;AAAA,EACH;AAAA,EACDO,OAAO,CAAC,cAAc,iBAAiB,YAAY,WAAW,eAAe;AAAA,EAC7EC,QAAQ;AAEJ,UAAMC,IAAeC,KACfC,IAAWD,KACXE,IAAUF;AAShB,WAAO;AAAA,MACHD,cAAAA;AAAAA,MACAE,UAAAA;AAAAA,MACAC,SAAAA;AAAAA,MACAC,UAXaA,MAAM;AACnB,cAAMC,IAAQC,WAAW,MAAM;;AAC3BJ,WAAAA,IAAAA,EAASK,UAATL,QAAAA,EAAgBM,sBAChBC,aAAaJ,CAAK;AAAA,QACrB,GAAE,GAAG;AAAA;;EASb;AAAA,EACDK,SAAS;AACL,UAAMC,IAAQ,KAAKd,YAAY,KAAKe,SAAS;AAAA,MACzC,GAAG,KAAKA;AAAAA,MACRrB,SAAUsB,CAAAA,MAAU;;AAAK,gBAAAC,KAAAC,IAAA,KAAKH,QAAQC,EAAMG,UAAnB,gBAAAF,EAAA,KAAAC,GAA4BF;AAAAA;AAAAA;AAGzD,WAAAI,EAAA,WAAA;AAAA,MAAA,OACoB,CAAC,qBAAqB,KAAKxB,SAAS,WAAW,EAAE;AAAA,MAAC,KAAOyB,CAAAA,MAAM;AAAC,aAAKlB,eAAekB;AAAAA,MAAE;AAAA,IAAC,GAAA,CAClG,KAAKzB,UAAMwB,EAAAE,GAAA;AAAA,MAAA,MACS,KAAK/B;AAAAA,MAAI,OAAA;AAAA,MAAA,YAGdgC,MAAM,KAAKC,MAAM,UAAU;AAAA,MAAC,WAC7BC,MAAM,KAAKD,MAAM,SAAS;AAAA,MAAC,UAC5B,KAAKjB;AAAAA,MAAQ,KAClBc,CAAAA,MAAM;AAAC,aAAKf,UAAUe;AAAAA,MAAE;AAAA,IAAC,GAJrB,KAAKN,MAAM,GAIyBK,EAAAM,GAAA;AAAA,MAAA,KAGxCL,CAAAA,MAAM;AAAC,aAAKhB,WAAWgB;AAAAA,MAAG;AAAA,MAAA,OACxB,KAAK1B;AAAAA,MAAK,QACT,KAAKI;AAAAA,MAAM,QACX,KAAKD;AAAAA,MAAM,WACR,KAAKE;AAAAA,MAAS,cAEV2B,CAAAA,MAAgB,KAAKH,MAAM,cAAcG,CAAG;AAAA,MAAC,iBAC1CA,CAAAA,MAAgB,KAAKH,MAAM,iBAAiBG,CAAG;AAAA,MAAC,iBACjDC,CAACC,GAAYC,GAAkBC,MAA0B,KAAKP,MAAM,iBAAiBK,GAAMC,GAASC,CAAY;AAAA,IAAC,GAHzHjB,CAAK,CAAA,CAAA;AAAA,EAQ9B;AACJ,CAAC;"}
@@ -3,7 +3,7 @@ import { getUuid as b } from "../../utils/tools.mjs";
3
3
  import i from "lodash";
4
4
  class v {
5
5
  constructor(e) {
6
- this.dialogForm = s({ formItem: {}, model: {} }), this.selecTableDatas = s([]), this.lastSelectDatas = s([]), this.ids = s([]), this.tablePageRef = s(null), this.tableRef = s(null), this.tableOriginRef = s(null), this.formRef = s(null), this.formOriginRef = s(null), this.defaultOptions = {
6
+ this.dialogForm = s({ formItem: {}, model: {} }), this.selectTableDatas = s([]), this.lastSelectDatas = s([]), this.ids = s([]), this.tablePageRef = s(null), this.tableRef = s(null), this.tableOriginRef = s(null), this.formRef = s(null), this.formOriginRef = s(null), this.defaultOptions = {
7
7
  table: {
8
8
  rowKey: "id",
9
9
  className: "table_page" + b(),
@@ -57,7 +57,7 @@ class v {
57
57
  getAjaxTableDataParams(e) {
58
58
  this.params = this.getTableParams(e);
59
59
  const a = i.isEqual(this.params, this.oldParams);
60
- return e.name === "search" ? (a || (this.table.value.pagination.currentPage = 1, this.params = this.getTableParams(e)), this.oldParams = i.cloneDeep(this.params)) : e.name === "reset" ? (this.resetPagination(), this.params = this.getTableParams(e), this.oldParams = i.cloneDeep(this.params)) : e.name === "delete" ? this.table.value.data && this.table.value.data.length && this.table.value.data.length === 1 && this.table.value.pagination.currentPage > 1 && (this.table.value.pagination.currentPage = this.table.value.pagination.currentPage - 1, this.params = this.getTableParams(e)) : ["current", "size", "reset"].includes(e.name || "") && (this.oldParams = i.cloneDeep(this.params)), (!["size", "current"].includes(e.name || "") || !this.table.value.rowKey || !this.table.value.echoSelect) && (this.selecTableDatas.value = []), this.params;
60
+ return e.name === "search" ? (a || (this.table.value.pagination.currentPage = 1, this.params = this.getTableParams(e)), this.oldParams = i.cloneDeep(this.params)) : e.name === "reset" ? (this.resetPagination(), this.params = this.getTableParams(e), this.oldParams = i.cloneDeep(this.params)) : e.name === "delete" ? this.table.value.data && this.table.value.data.length && this.table.value.data.length === 1 && this.table.value.pagination.currentPage > 1 && (this.table.value.pagination.currentPage = this.table.value.pagination.currentPage - 1, this.params = this.getTableParams(e)) : ["current", "size", "reset"].includes(e.name || "") && (this.oldParams = i.cloneDeep(this.params)), (!["size", "current"].includes(e.name || "") || !this.table.value.rowKey || !this.table.value.echoSelect) && (this.selectTableDatas.value = []), this.params;
61
61
  }
62
62
  // 请求
63
63
  ajaxTableData(e) {
@@ -85,7 +85,8 @@ class v {
85
85
  }
86
86
  // 重置分页参数
87
87
  resetPagination() {
88
- this.table.value.pagination = { ...this.defaultOptions.table.pagination };
88
+ var e;
89
+ this.table.value.pagination = { ...(e = this.firstOptions.table) == null ? void 0 : e.pagination };
89
90
  }
90
91
  // 重置表格请求参数
91
92
  resetParams() {
@@ -112,7 +113,7 @@ class v {
112
113
  }
113
114
  // 回显选中
114
115
  echoOperations() {
115
- const e = this.table.value.rowKey, a = (this.selecTableDatas.value || []).map((t) => t[e]);
116
+ const e = this.table.value.rowKey, a = (this.selectTableDatas.value || []).map((t) => t[e]);
116
117
  this.tablePageRef.value && (this.table.value.data || []).forEach((t) => {
117
118
  var l, r, o, n, h, u;
118
119
  a.includes(t[e]) ? (o = (r = (l = this.tablePageRef.value) == null ? void 0 : l.tableRef) == null ? void 0 : r.tableRef) == null || o.toggleRowSelection(t, !0) : (u = (h = (n = this.tablePageRef.value) == null ? void 0 : n.tableRef) == null ? void 0 : h.tableRef) == null || u.toggleRowSelection(t, !1);
@@ -130,14 +131,14 @@ class v {
130
131
  const e = this.table.value.rowKey;
131
132
  this.table.value && (this.table.value.onSelect || (this.table.value.onSelect = (a) => {
132
133
  e ? (this.table.value.data.forEach((t) => {
133
- for (let l = 0; l < this.selecTableDatas.value.length; l++)
134
- t[e] === this.selecTableDatas.value[l][e] && this.selecTableDatas.value.splice(l, 1);
135
- }), this.selecTableDatas.value = i.uniqBy(a.concat(this.selecTableDatas.value), e)) : this.selecTableDatas.value = a;
134
+ for (let l = 0; l < this.selectTableDatas.value.length; l++)
135
+ t[e] === this.selectTableDatas.value[l][e] && this.selectTableDatas.value.splice(l, 1);
136
+ }), this.selectTableDatas.value = i.uniqBy(a.concat(this.selectTableDatas.value), e)) : this.selectTableDatas.value = a;
136
137
  }), this.table.value["onSelect-all"] || (this.table.value["onSelect-all"] = (a) => {
137
138
  e ? a.length === 0 ? this.table.value.data.forEach((t) => {
138
- for (let l = 0; l < this.selecTableDatas.value.length; l++)
139
- t[e] === this.selecTableDatas.value[l][e] && this.selecTableDatas.value.splice(l, 1);
140
- }) : this.selecTableDatas.value = i.uniqBy(a.concat(this.selecTableDatas.value), e) : this.selecTableDatas.value = a;
139
+ for (let l = 0; l < this.selectTableDatas.value.length; l++)
140
+ t[e] === this.selectTableDatas.value[l][e] && this.selectTableDatas.value.splice(l, 1);
141
+ }) : this.selectTableDatas.value = i.uniqBy(a.concat(this.selectTableDatas.value), e) : this.selectTableDatas.value = a;
141
142
  }));
142
143
  }
143
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../packages/hooks/TablePage/index.ts"],"sourcesContent":["\nimport {Ref, onMounted, ref} from 'vue'\n\nimport type {DinertTablePageProps, AjaxTableProps} from './types'\n\nimport TablePageComponent from '@packages/components/table-page/index'\nimport TableComponent from '@packages/components/table/index'\nimport FormComponent from '@packages/components/form/index'\nimport {getUuid} from '@packages/utils/tools'\nimport lodash from 'lodash'\nimport {MergeProp} from '@packages/components/form/types/utils'\n\n/**\n * T 表格data数据格式\n * D 表单model的数据格式\n * FI 表单formItem的数据格式\n * P 发起请求的数据格式\n * R 请求回来的数据格式\n */\n\nclass TablePage<T, D = any, FI = any, P = object, R = any> {\n dialogForm: Ref<DinertTablePageProps<T, T, FI>['form']> = ref({formItem: {}, model: {}})\n showSearch: Ref<DinertTablePageProps['search']>\n table: Ref<DinertTablePageProps<T, D, FI>['table']>\n form: Ref<DinertTablePageProps<T, D, FI>['form']>\n footer: Ref<DinertTablePageProps['footer']>\n header: Ref<DinertTablePageProps['header']>\n\n selecTableDatas: Ref<T[]> = ref([])\n lastSelectDatas: Ref<T[]> = ref([])\n\n options: DinertTablePageProps<T, D, FI>\n\n ids: Ref<string[]> = ref([])\n\n params: P | any\n oldParams: P | any\n\n tablePageRef: Ref<InstanceType<typeof TablePageComponent> | null> = ref(null)\n\n tableRef: Ref<InstanceType<typeof TablePageComponent>['tableRef'] | null> = ref(null) // DinertTable的Dom\n tableOriginRef: Ref<InstanceType<typeof TableComponent>['tableRef'] | null> = ref(null) // elTable的Dom\n\n formRef: Ref<(InstanceType<typeof TablePageComponent>['formRef']) | null> = ref(null) // DinertForm的Dom\n formOriginRef: Ref<(InstanceType<typeof FormComponent>['formRef']) | null> = ref(null) // elForm的Dom\n\n private readonly defaultOptions: DinertTablePageProps<T, D, FI> = {\n table: {\n rowKey: 'id',\n className: 'table_page' + getUuid(),\n tableColumns: [],\n data: [],\n key: true,\n border: true,\n pagination: {\n total: 0,\n currentPage: 1,\n pageSize: 10,\n },\n },\n form: {\n model: {},\n formItem: {}\n },\n footer: false,\n search: false\n }\n\n\n private readonly firstOptions: DinertTablePageProps<T, D, FI> = {\n table: {\n tableColumns: [],\n data: [],\n key: true,\n pagination: {}\n },\n form: {model: {}, formItem: {}}\n }\n\n\n constructor(options: DinertTablePageProps<T, D, FI> & {initMounteFlag?: boolean}) {\n\n this.options = lodash.defaultsDeep(lodash.cloneDeep(options), this.defaultOptions)\n\n this.firstOptions = lodash.cloneDeep(this.options)\n\n this.table = ref<DinertTablePageProps<T, D, FI>['table'] | any>(this.options.table)\n\n this.form = ref<DinertTablePageProps<T, D, FI>['form'] | any>(this.options.form)\n\n this.footer = ref<DinertTablePageProps<T, D, FI>['footer']>(this.options.footer)\n\n this.header = ref<DinertTablePageProps<T, D, FI>['header']>(this.options.header)\n\n this.showSearch = ref<DinertTablePageProps<T, D, FI>['search']>(this.options.search)\n\n this.params = {}\n this.oldParams = {};\n\n // 在组件挂载时调用\n ([undefined, true].includes(options.initMounteFlag)) && this.initMonunt()\n\n // 监听表格选择的方法,方便表格数据回显\n this.tableSelectEvent()\n }\n\n initMonunt() {\n onMounted(() => {\n this.tableRef.value = this.tablePageRef.value?.tableRef\n this.tableOriginRef.value = this.tablePageRef.value?.tableRef?.tableRef\n\n this.formRef.value = this.tablePageRef.value?.formRef\n this.formOriginRef.value = this.tablePageRef.value?.formRef?.formRef\n })\n }\n\n // 获取请求参数\n getTableParams: (params: P) => (Partial<P>) = () => ({} as P)\n ajaxTableDataAfter: (res: R) => void = () => undefined\n\n sizeChange(size: number) {\n\n const pageSize = this.table.value.pagination.pageSize\n this.table.value.pagination.pageSize = size\n const pagination = this.table.value.pagination\n if ((pageSize as any) > size\n || (pagination.currentPage as any) <= Math.ceil((pagination.total as any) / (pagination.pageSize as any))) {\n this.search({name: 'size', pageSize: size})\n }\n\n }\n\n currentChange(currentPage: number) {\n this.table.value.pagination.currentPage = currentPage\n this.search({name: 'current', currentPage})\n }\n\n async getTableData(options: (MergeProp<P, AjaxTableProps>)) {\n const res = await this.ajaxTableData(options)\n this.changeTableData(res)\n\n typeof this.ajaxTableDataAfter === 'function' && this.ajaxTableDataAfter(res)\n\n this.table.value.key = !this.table.value.key\n return res\n }\n\n // 获取请求的所有参数\n getAjaxTableDataParams(options: MergeProp<P, AjaxTableProps> | any): MergeProp<P, AjaxTableProps> {\n this.params = this.getTableParams(options)\n\n const isSame = lodash.isEqual(this.params, this.oldParams) // 判断当前提交的参数和上一次提交的参数是否相同\n\n if (options.name === 'search') {\n if (!isSame) {\n this.table.value.pagination.currentPage = 1\n this.params = this.getTableParams(options)\n }\n\n this.oldParams = lodash.cloneDeep(this.params)\n } else if (options.name === 'reset') {\n this.resetPagination()\n this.params = this.getTableParams(options)\n\n this.oldParams = lodash.cloneDeep(this.params)\n } else if (options.name === 'delete') {\n if (this.table.value.data && this.table.value.data.length) {\n if (this.table.value.data.length === 1 && (this.table.value as any).pagination.currentPage > 1) {\n this.table.value.pagination.currentPage = (this.table.value.pagination as any).currentPage - 1\n\n this.params = this.getTableParams(options)\n }\n }\n } else if (['current', 'size', 'reset'].includes(options.name || '')) {\n this.oldParams = lodash.cloneDeep(this.params)\n }\n\n if (!['size', 'current'].includes(options.name || '') || !this.table.value.rowKey || !this.table.value.echoSelect) {\n this.selecTableDatas.value = []\n }\n\n return this.params\n }\n\n // 请求\n ajaxTableData(options: (MergeProp<P, AjaxTableProps>)): Promise<R> {\n return new Promise(resolve => {\n resolve(this.getAjaxTableDataParams(options) as any)\n })\n }\n\n changeTableData(res: R | any) {\n if (res && res.data && res.data.length) {\n for (let i = 0; i < res.data.length; i++) {\n res.data[i].index = i + 1 + (res.pageNum as number) * (res.pageSize as number)\n }\n this.table.value.data = res.data\n this.table.value.pagination.total = res.total\n }\n }\n\n\n // 查询\n search(options: (P & AjaxTableProps) | any = {name: 'search'}) {\n\n for (const prop in this.form.value?.model) {\n if ([null, undefined, ''].includes((this.form.value.model as any)[prop])) {\n delete this.form.value?.model[prop]\n }\n }\n return this.getTableData(options)\n }\n\n // 重置查询\n resetSearch(options: (P & AjaxTableProps) | any = {name: 'reset'}) {\n this.resetParams()\n this.search(options)\n }\n\n\n // 重置分页参数\n resetPagination() {\n this.table.value.pagination = {...this.defaultOptions.table.pagination}\n }\n\n // 重置表格请求参数\n resetParams() {\n if (lodash.isEmpty(this.firstOptions.form?.model)) { // 判断查询的默认参数是否为空\n for (const prop in this.form.value?.model) {\n delete this.form.value?.model[prop]\n }\n } else {\n for (const prop in this.form.value?.model) {\n delete this.form.value?.model[prop]\n }\n for (const prop in this.firstOptions.form?.model) {\n this.form.value.model[prop] = this.firstOptions.form?.model[prop]\n }\n }\n }\n\n // 清空参数\n clearParams() {\n for (const prop in this.form.value?.model) {\n delete this.form.value.model[prop]\n }\n }\n\n // 根据key获取表格中的数据\n getTableDataKeys(key: string = 'id') {\n this.ids.value = lodash.map(this.table.value.data || [], key)\n return this.ids.value\n }\n\n // 回显选中\n echoOperations() {\n const rowKey = this.table.value.rowKey as any\n const keys = (this.selecTableDatas.value || []).map((item: any) => item[rowKey])\n if (this.tablePageRef.value) {\n (this.table.value.data || []).forEach((item: any) => {\n if (keys.includes(item[rowKey])) {\n this.tablePageRef.value?.tableRef?.tableRef?.toggleRowSelection(item, true)\n } else {\n this.tablePageRef.value?.tableRef?.tableRef?.toggleRowSelection(item, false)\n }\n })\n }\n\n }\n\n // 懒加载使用\n lazyAddKey<T = any>(arr: any = [], children: string = 'children'): T {\n return arr.map((item: any) => {\n if (item[children]) {\n item.children2 = [...item[children]]\n item.hasChildren = true\n delete item[children]\n }\n return {\n ...item,\n children2: item.children2 ? this.lazyAddKey(item.children2) : []\n }\n })\n }\n\n // 监听表格选择事件,包括全选和单选\n tableSelectEvent() {\n const rowKey: any = this.table.value.rowKey\n if (this.table.value) {\n if (!this.table.value.onSelect) {\n this.table.value.onSelect = (selection: T[]) => {\n if (rowKey) {\n this.table.value.data.forEach((item: any) => {\n for (let i = 0; i < this.selecTableDatas.value.length; i++) {\n if (item[rowKey] === (this.selecTableDatas.value[i]as any)[rowKey]) {\n this.selecTableDatas.value.splice(i, 1)\n }\n }\n })\n this.selecTableDatas.value = lodash.uniqBy(selection.concat(this.selecTableDatas.value), rowKey)\n } else {\n this.selecTableDatas.value = selection\n }\n }\n }\n if (!this.table.value['onSelect-all']) {\n this.table.value['onSelect-all'] = (selection: T[]) => {\n if (rowKey) {\n if (selection.length === 0) {\n this.table.value.data.forEach((item: any) => {\n for (let i = 0; i < this.selecTableDatas.value.length; i++) {\n if (item[rowKey] === (this.selecTableDatas.value[i] as any)[rowKey]) {\n this.selecTableDatas.value.splice(i, 1)\n }\n }\n })\n } else {\n this.selecTableDatas.value = lodash.uniqBy(selection.concat(this.selecTableDatas.value), rowKey)\n }\n\n } else {\n this.selecTableDatas.value = selection\n }\n }\n }\n }\n }\n}\n\n\nexport default TablePage\n"],"names":["TablePage","options","ref","getUuid","lodash","onMounted","_a","_c","_b","_d","_f","_e","size","pageSize","pagination","currentPage","res","isSame","resolve","i","prop","_g","key","rowKey","keys","item","arr","children","selection"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../packages/hooks/TablePage/index.ts"],"sourcesContent":["\nimport {Ref, onMounted, ref} from 'vue'\n\nimport type {DinertTablePageProps, AjaxTableProps} from './types'\n\nimport TablePageComponent from '@packages/components/table-page/index'\nimport TableComponent from '@packages/components/table/index'\nimport FormComponent from '@packages/components/form/index'\nimport {getUuid} from '@packages/utils/tools'\nimport lodash from 'lodash'\nimport {MergeProp} from '@packages/components/form/types/utils'\n\n/**\n * T 表格data数据格式\n * D 表单model的数据格式\n * FI 表单formItem的数据格式\n * P 发起请求的数据格式\n * R 请求回来的数据格式\n */\n\nclass TablePage<T, D = any, FI = any, P = object, R = any> {\n dialogForm: Ref<DinertTablePageProps<T, T, FI>['form']> = ref({formItem: {}, model: {}})\n showSearch: Ref<DinertTablePageProps['search']>\n table: Ref<DinertTablePageProps<T, D, FI>['table']>\n form: Ref<DinertTablePageProps<T, D, FI>['form']>\n footer: Ref<DinertTablePageProps['footer']>\n header: Ref<DinertTablePageProps['header']>\n\n selectTableDatas: Ref<T[]> = ref([])\n lastSelectDatas: Ref<T[]> = ref([])\n\n options: DinertTablePageProps<T, D, FI>\n\n ids: Ref<string[]> = ref([])\n\n params: P | any\n oldParams: P | any\n\n tablePageRef: Ref<InstanceType<typeof TablePageComponent> | null> = ref(null)\n\n tableRef: Ref<InstanceType<typeof TablePageComponent>['tableRef'] | null> = ref(null) // DinertTable的Dom\n tableOriginRef: Ref<InstanceType<typeof TableComponent>['tableRef'] | null> = ref(null) // elTable的Dom\n\n formRef: Ref<(InstanceType<typeof TablePageComponent>['formRef']) | null> = ref(null) // DinertForm的Dom\n formOriginRef: Ref<(InstanceType<typeof FormComponent>['formRef']) | null> = ref(null) // elForm的Dom\n\n private readonly defaultOptions: DinertTablePageProps<T, D, FI> = {\n table: {\n rowKey: 'id',\n className: 'table_page' + getUuid(),\n tableColumns: [],\n data: [],\n key: true,\n border: true,\n pagination: {\n total: 0,\n currentPage: 1,\n pageSize: 10,\n },\n },\n form: {\n model: {},\n formItem: {}\n },\n footer: false,\n search: false\n }\n\n\n private readonly firstOptions: DinertTablePageProps<T, D, FI> = {\n table: {\n tableColumns: [],\n data: [],\n key: true,\n pagination: {}\n },\n form: {model: {}, formItem: {}}\n }\n\n\n constructor(options: DinertTablePageProps<T, D, FI> & {initMounteFlag?: boolean}) {\n\n this.options = lodash.defaultsDeep(lodash.cloneDeep(options), this.defaultOptions)\n\n this.firstOptions = lodash.cloneDeep(this.options)\n\n this.table = ref<DinertTablePageProps<T, D, FI>['table'] | any>(this.options.table)\n\n this.form = ref<DinertTablePageProps<T, D, FI>['form'] | any>(this.options.form)\n\n this.footer = ref<DinertTablePageProps<T, D, FI>['footer']>(this.options.footer)\n\n this.header = ref<DinertTablePageProps<T, D, FI>['header']>(this.options.header)\n\n this.showSearch = ref<DinertTablePageProps<T, D, FI>['search']>(this.options.search)\n\n this.params = {}\n this.oldParams = {};\n\n // 在组件挂载时调用\n ([undefined, true].includes(options.initMounteFlag)) && this.initMonunt()\n\n // 监听表格选择的方法,方便表格数据回显\n this.tableSelectEvent()\n }\n\n initMonunt() {\n onMounted(() => {\n this.tableRef.value = this.tablePageRef.value?.tableRef\n this.tableOriginRef.value = this.tablePageRef.value?.tableRef?.tableRef\n\n this.formRef.value = this.tablePageRef.value?.formRef\n this.formOriginRef.value = this.tablePageRef.value?.formRef?.formRef\n })\n }\n\n // 获取请求参数\n getTableParams: (params: P) => (Partial<P>) = () => ({} as P)\n ajaxTableDataAfter: (res: R) => void = () => undefined\n\n sizeChange(size: number) {\n\n const pageSize = this.table.value.pagination.pageSize\n this.table.value.pagination.pageSize = size\n const pagination = this.table.value.pagination\n if ((pageSize as any) > size\n || (pagination.currentPage as any) <= Math.ceil((pagination.total as any) / (pagination.pageSize as any))) {\n this.search({name: 'size', pageSize: size})\n }\n\n }\n\n currentChange(currentPage: number) {\n this.table.value.pagination.currentPage = currentPage\n this.search({name: 'current', currentPage})\n }\n\n async getTableData(options: (MergeProp<P, AjaxTableProps>)) {\n const res = await this.ajaxTableData(options)\n this.changeTableData(res)\n\n typeof this.ajaxTableDataAfter === 'function' && this.ajaxTableDataAfter(res)\n\n this.table.value.key = !this.table.value.key\n return res\n }\n\n // 获取请求的所有参数\n getAjaxTableDataParams(options: MergeProp<P, AjaxTableProps> | any): MergeProp<P, AjaxTableProps> {\n this.params = this.getTableParams(options)\n\n const isSame = lodash.isEqual(this.params, this.oldParams) // 判断当前提交的参数和上一次提交的参数是否相同\n\n if (options.name === 'search') {\n if (!isSame) {\n this.table.value.pagination.currentPage = 1\n this.params = this.getTableParams(options)\n }\n\n this.oldParams = lodash.cloneDeep(this.params)\n } else if (options.name === 'reset') {\n this.resetPagination()\n this.params = this.getTableParams(options)\n\n this.oldParams = lodash.cloneDeep(this.params)\n } else if (options.name === 'delete') {\n if (this.table.value.data && this.table.value.data.length) {\n if (this.table.value.data.length === 1 && (this.table.value as any).pagination.currentPage > 1) {\n this.table.value.pagination.currentPage = (this.table.value.pagination as any).currentPage - 1\n\n this.params = this.getTableParams(options)\n }\n }\n } else if (['current', 'size', 'reset'].includes(options.name || '')) {\n this.oldParams = lodash.cloneDeep(this.params)\n }\n\n if (!['size', 'current'].includes(options.name || '') || !this.table.value.rowKey || !this.table.value.echoSelect) {\n this.selectTableDatas.value = []\n }\n\n return this.params\n }\n\n // 请求\n ajaxTableData(options: (MergeProp<P, AjaxTableProps>)): Promise<R> {\n return new Promise(resolve => {\n resolve(this.getAjaxTableDataParams(options) as any)\n })\n }\n\n changeTableData(res: R | any) {\n if (res && res.data && res.data.length) {\n for (let i = 0; i < res.data.length; i++) {\n res.data[i].index = i + 1 + (res.pageNum as number) * (res.pageSize as number)\n }\n this.table.value.data = res.data\n this.table.value.pagination.total = res.total\n }\n }\n\n\n // 查询\n search(options: (P & AjaxTableProps) | any = {name: 'search'}) {\n\n for (const prop in this.form.value?.model) {\n if ([null, undefined, ''].includes((this.form.value.model as any)[prop])) {\n delete this.form.value?.model[prop]\n }\n }\n return this.getTableData(options)\n }\n\n // 重置查询\n resetSearch(options: (P & AjaxTableProps) | any = {name: 'reset'}) {\n this.resetParams()\n this.search(options)\n }\n\n\n // 重置分页参数\n resetPagination() {\n this.table.value.pagination = {...this.firstOptions.table?.pagination}\n }\n\n // 重置表格请求参数\n resetParams() {\n if (lodash.isEmpty(this.firstOptions.form?.model)) { // 判断查询的默认参数是否为空\n for (const prop in this.form.value?.model) {\n delete this.form.value?.model[prop]\n }\n } else {\n for (const prop in this.form.value?.model) {\n delete this.form.value?.model[prop]\n }\n for (const prop in this.firstOptions.form?.model) {\n this.form.value.model[prop] = this.firstOptions.form?.model[prop]\n }\n }\n }\n\n // 清空参数\n clearParams() {\n for (const prop in this.form.value?.model) {\n delete this.form.value.model[prop]\n }\n }\n\n // 根据key获取表格中的数据\n getTableDataKeys(key: string = 'id') {\n this.ids.value = lodash.map(this.table.value.data || [], key)\n return this.ids.value\n }\n\n // 回显选中\n echoOperations() {\n const rowKey = this.table.value.rowKey as any\n const keys = (this.selectTableDatas.value || []).map((item: any) => item[rowKey])\n if (this.tablePageRef.value) {\n (this.table.value.data || []).forEach((item: any) => {\n if (keys.includes(item[rowKey])) {\n this.tablePageRef.value?.tableRef?.tableRef?.toggleRowSelection(item, true)\n } else {\n this.tablePageRef.value?.tableRef?.tableRef?.toggleRowSelection(item, false)\n }\n })\n }\n\n }\n\n // 懒加载使用\n lazyAddKey<T = any>(arr: any = [], children: string = 'children'): T {\n return arr.map((item: any) => {\n if (item[children]) {\n item.children2 = [...item[children]]\n item.hasChildren = true\n delete item[children]\n }\n return {\n ...item,\n children2: item.children2 ? this.lazyAddKey(item.children2) : []\n }\n })\n }\n\n // 监听表格选择事件,包括全选和单选\n tableSelectEvent() {\n const rowKey: any = this.table.value.rowKey\n if (this.table.value) {\n if (!this.table.value.onSelect) {\n this.table.value.onSelect = (selection: T[]) => {\n if (rowKey) {\n this.table.value.data.forEach((item: any) => {\n for (let i = 0; i < this.selectTableDatas.value.length; i++) {\n if (item[rowKey] === (this.selectTableDatas.value[i]as any)[rowKey]) {\n this.selectTableDatas.value.splice(i, 1)\n }\n }\n })\n this.selectTableDatas.value = lodash.uniqBy(selection.concat(this.selectTableDatas.value), rowKey)\n } else {\n this.selectTableDatas.value = selection\n }\n }\n }\n if (!this.table.value['onSelect-all']) {\n this.table.value['onSelect-all'] = (selection: T[]) => {\n if (rowKey) {\n if (selection.length === 0) {\n this.table.value.data.forEach((item: any) => {\n for (let i = 0; i < this.selectTableDatas.value.length; i++) {\n if (item[rowKey] === (this.selectTableDatas.value[i] as any)[rowKey]) {\n this.selectTableDatas.value.splice(i, 1)\n }\n }\n })\n } else {\n this.selectTableDatas.value = lodash.uniqBy(selection.concat(this.selectTableDatas.value), rowKey)\n }\n\n } else {\n this.selectTableDatas.value = selection\n }\n }\n }\n }\n }\n}\n\n\nexport default TablePage\n"],"names":["TablePage","options","ref","getUuid","lodash","onMounted","_a","_c","_b","_d","_f","_e","size","pageSize","pagination","currentPage","res","isSame","resolve","i","prop","_g","key","rowKey","keys","item","arr","children","selection"],"mappings":";;;AAoBA,MAAMA,EAAqD;AAAA,EA4DvD,YAAYC,GAAsE;AA3DxB,SAAA,aAAAC,EAAI,EAAC,UAAU,CAAA,GAAI,OAAO,IAAG,GAO1D,KAAA,mBAAAA,EAAI,CAAA,CAAE,GACP,KAAA,kBAAAA,EAAI,CAAA,CAAE,GAIb,KAAA,MAAAA,EAAI,CAAA,CAAE,GAK3B,KAAA,eAAoEA,EAAI,IAAI,GAE5E,KAAA,WAA4EA,EAAI,IAAI,GACpF,KAAA,iBAA8EA,EAAI,IAAI,GAEtF,KAAA,UAA4EA,EAAI,IAAI,GACpF,KAAA,gBAA6EA,EAAI,IAAI,GAErF,KAAiB,iBAAiD;AAAA,MAC9D,OAAO;AAAA,QACH,QAAQ;AAAA,QACR,WAAW,eAAeC,EAAQ;AAAA,QAClC,cAAc,CAAC;AAAA,QACf,MAAM,CAAC;AAAA,QACP,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,YAAY;AAAA,UACR,OAAO;AAAA,UACP,aAAa;AAAA,UACb,UAAU;AAAA,QACd;AAAA,MACJ;AAAA,MACA,MAAM;AAAA,QACF,OAAO,CAAC;AAAA,QACR,UAAU,CAAC;AAAA,MACf;AAAA,MACA,QAAQ;AAAA,MACR,QAAQ;AAAA,IAAA,GAIZ,KAAiB,eAA+C;AAAA,MAC5D,OAAO;AAAA,QACH,cAAc,CAAC;AAAA,QACf,MAAM,CAAC;AAAA,QACP,KAAK;AAAA,QACL,YAAY,CAAC;AAAA,MACjB;AAAA,MACA,MAAM,EAAC,OAAO,IAAI,UAAU,CAAA,EAAE;AAAA,IAAA,GAyClC,KAAA,iBAA8C,OAAO,CAAA,IACrD,KAAA,qBAAuC,MAAM;AAAA,OApCpC,KAAA,UAAUC,EAAO,aAAaA,EAAO,UAAUH,CAAO,GAAG,KAAK,cAAc,GAEjF,KAAK,eAAeG,EAAO,UAAU,KAAK,OAAO,GAEjD,KAAK,QAAQF,EAAmD,KAAK,QAAQ,KAAK,GAElF,KAAK,OAAOA,EAAkD,KAAK,QAAQ,IAAI,GAE/E,KAAK,SAASA,EAA8C,KAAK,QAAQ,MAAM,GAE/E,KAAK,SAASA,EAA8C,KAAK,QAAQ,MAAM,GAE/E,KAAK,aAAaA,EAA8C,KAAK,QAAQ,MAAM,GAEnF,KAAK,SAAS,IACd,KAAK,YAAY,IAGhB,CAAC,QAAW,EAAI,EAAE,SAASD,EAAQ,cAAc,KAAM,KAAK,cAG7D,KAAK,iBAAiB;AAAA,EAC1B;AAAA,EAEA,aAAa;AACT,IAAAI,EAAU,MAAM;;AACZ,WAAK,SAAS,SAAQC,IAAA,KAAK,aAAa,UAAlB,gBAAAA,EAAyB,UAC/C,KAAK,eAAe,SAAQC,KAAAC,IAAA,KAAK,aAAa,UAAlB,gBAAAA,EAAyB,aAAzB,gBAAAD,EAAmC,UAE/D,KAAK,QAAQ,SAAQE,IAAA,KAAK,aAAa,UAAlB,gBAAAA,EAAyB,SAC9C,KAAK,cAAc,SAAQC,KAAAC,IAAA,KAAK,aAAa,UAAlB,gBAAAA,EAAyB,YAAzB,gBAAAD,EAAkC;AAAA,IAAA,CAChE;AAAA,EACL;AAAA,EAMA,WAAWE,GAAc;AAErB,UAAMC,IAAW,KAAK,MAAM,MAAM,WAAW;AACxC,SAAA,MAAM,MAAM,WAAW,WAAWD;AACjC,UAAAE,IAAa,KAAK,MAAM,MAAM;AAC/B,KAAAD,IAAmBD,KAChBE,EAAW,eAAuB,KAAK,KAAMA,EAAW,QAAiBA,EAAW,QAAgB,MACxG,KAAK,OAAO,EAAC,MAAM,QAAQ,UAAUF,GAAK;AAAA,EAGlD;AAAA,EAEA,cAAcG,GAAqB;AAC1B,SAAA,MAAM,MAAM,WAAW,cAAcA,GAC1C,KAAK,OAAO,EAAC,MAAM,WAAW,aAAAA,EAAY,CAAA;AAAA,EAC9C;AAAA,EAEA,MAAM,aAAad,GAAyC;AACxD,UAAMe,IAAM,MAAM,KAAK,cAAcf,CAAO;AAC5C,gBAAK,gBAAgBe,CAAG,GAExB,OAAO,KAAK,sBAAuB,cAAc,KAAK,mBAAmBA,CAAG,GAE5E,KAAK,MAAM,MAAM,MAAM,CAAC,KAAK,MAAM,MAAM,KAClCA;AAAA,EACX;AAAA;AAAA,EAGA,uBAAuBf,GAA2E;AACzF,SAAA,SAAS,KAAK,eAAeA,CAAO;AAEzC,UAAMgB,IAASb,EAAO,QAAQ,KAAK,QAAQ,KAAK,SAAS;AAErD,WAAAH,EAAQ,SAAS,YACZgB,MACI,KAAA,MAAM,MAAM,WAAW,cAAc,GACrC,KAAA,SAAS,KAAK,eAAehB,CAAO,IAG7C,KAAK,YAAYG,EAAO,UAAU,KAAK,MAAM,KACtCH,EAAQ,SAAS,WACxB,KAAK,gBAAgB,GAChB,KAAA,SAAS,KAAK,eAAeA,CAAO,GAEzC,KAAK,YAAYG,EAAO,UAAU,KAAK,MAAM,KACtCH,EAAQ,SAAS,WACpB,KAAK,MAAM,MAAM,QAAQ,KAAK,MAAM,MAAM,KAAK,UAC3C,KAAK,MAAM,MAAM,KAAK,WAAW,KAAM,KAAK,MAAM,MAAc,WAAW,cAAc,MACpF,KAAA,MAAM,MAAM,WAAW,cAAe,KAAK,MAAM,MAAM,WAAmB,cAAc,GAExF,KAAA,SAAS,KAAK,eAAeA,CAAO,KAG1C,CAAC,WAAW,QAAQ,OAAO,EAAE,SAASA,EAAQ,QAAQ,EAAE,MAC/D,KAAK,YAAYG,EAAO,UAAU,KAAK,MAAM,KAG7C,CAAC,CAAC,QAAQ,SAAS,EAAE,SAASH,EAAQ,QAAQ,EAAE,KAAK,CAAC,KAAK,MAAM,MAAM,UAAU,CAAC,KAAK,MAAM,MAAM,gBAC9F,KAAA,iBAAiB,QAAQ,KAG3B,KAAK;AAAA,EAChB;AAAA;AAAA,EAGA,cAAcA,GAAqD;AACxD,WAAA,IAAI,QAAQ,CAAWiB,MAAA;AAClB,MAAAA,EAAA,KAAK,uBAAuBjB,CAAO,CAAQ;AAAA,IAAA,CACtD;AAAA,EACL;AAAA,EAEA,gBAAgBe,GAAc;AAC1B,QAAIA,KAAOA,EAAI,QAAQA,EAAI,KAAK,QAAQ;AACpC,eAASG,IAAI,GAAGA,IAAIH,EAAI,KAAK,QAAQG;AAC7B,QAAAH,EAAA,KAAKG,CAAC,EAAE,QAAQA,IAAI,IAAKH,EAAI,UAAsBA,EAAI;AAE1D,WAAA,MAAM,MAAM,OAAOA,EAAI,MAC5B,KAAK,MAAM,MAAM,WAAW,QAAQA,EAAI;AAAA,IAC5C;AAAA,EACJ;AAAA;AAAA,EAIA,OAAOf,IAAsC,EAAC,MAAM,YAAW;;AAE3D,eAAWmB,MAAQd,IAAA,KAAK,KAAK,UAAV,gBAAAA,EAAiB;AAChC,MAAI,CAAC,MAAM,QAAW,EAAE,EAAE,SAAU,KAAK,KAAK,MAAM,MAAcc,CAAI,CAAC,OACnEZ,IAAO,KAAK,KAAK,UAAjB,eAAAA,EAAwB,MAAMY;AAG/B,WAAA,KAAK,aAAanB,CAAO;AAAA,EACpC;AAAA;AAAA,EAGA,YAAYA,IAAsC,EAAC,MAAM,WAAU;AAC/D,SAAK,YAAY,GACjB,KAAK,OAAOA,CAAO;AAAA,EACvB;AAAA;AAAA,EAIA,kBAAkB;;AACT,SAAA,MAAM,MAAM,aAAa,EAAC,IAAGK,IAAA,KAAK,aAAa,UAAlB,gBAAAA,EAAyB;EAC/D;AAAA;AAAA,EAGA,cAAc;;AACV,QAAIF,EAAO,SAAQE,IAAA,KAAK,aAAa,SAAlB,gBAAAA,EAAwB,KAAK;AAC5C,iBAAWc,MAAQZ,IAAA,KAAK,KAAK,UAAV,gBAAAA,EAAiB;AAChC,SAAAD,IAAO,KAAK,KAAK,UAAjB,eAAAA,EAAwB,MAAMa;AAAA,SAE/B;AACH,iBAAWA,MAAQX,IAAA,KAAK,KAAK,UAAV,gBAAAA,EAAiB;AAChC,SAAAE,IAAO,KAAK,KAAK,UAAjB,eAAAA,EAAwB,MAAMS;AAElC,iBAAWA,MAAQV,IAAA,KAAK,aAAa,SAAlB,gBAAAA,EAAwB;AAClC,aAAA,KAAK,MAAM,MAAMU,CAAI,KAAIC,IAAA,KAAK,aAAa,SAAlB,gBAAAA,EAAwB,MAAMD;AAAA,IAEpE;AAAA,EACJ;AAAA;AAAA,EAGA,cAAc;;AACV,eAAWA,MAAQd,IAAA,KAAK,KAAK,UAAV,gBAAAA,EAAiB;AAChC,aAAO,KAAK,KAAK,MAAM,MAAMc,CAAI;AAAA,EAEzC;AAAA;AAAA,EAGA,iBAAiBE,IAAc,MAAM;AAC5B,gBAAA,IAAI,QAAQlB,EAAO,IAAI,KAAK,MAAM,MAAM,QAAQ,CAAC,GAAGkB,CAAG,GACrD,KAAK,IAAI;AAAA,EACpB;AAAA;AAAA,EAGA,iBAAiB;AACP,UAAAC,IAAS,KAAK,MAAM,MAAM,QAC1BC,KAAQ,KAAK,iBAAiB,SAAS,CAAA,GAAI,IAAI,CAACC,MAAcA,EAAKF,CAAM,CAAC;AAC5E,IAAA,KAAK,aAAa,UACjB,KAAK,MAAM,MAAM,QAAQ,IAAI,QAAQ,CAACE,MAAc;;AACjD,MAAID,EAAK,SAASC,EAAKF,CAAM,CAAC,KAC1BhB,KAAAC,KAAAF,IAAA,KAAK,aAAa,UAAlB,gBAAAA,EAAyB,aAAzB,gBAAAE,EAAmC,aAAnC,QAAAD,EAA6C,mBAAmBkB,GAAM,OAEtEf,KAAAC,KAAAF,IAAA,KAAK,aAAa,UAAlB,gBAAAA,EAAyB,aAAzB,gBAAAE,EAAmC,aAAnC,QAAAD,EAA6C,mBAAmBe,GAAM;AAAA,IAC1E,CACH;AAAA,EAGT;AAAA;AAAA,EAGA,WAAoBC,IAAW,IAAIC,IAAmB,YAAe;AAC1D,WAAAD,EAAI,IAAI,CAACD,OACRA,EAAKE,CAAQ,MACbF,EAAK,YAAY,CAAC,GAAGA,EAAKE,CAAQ,CAAC,GACnCF,EAAK,cAAc,IACnB,OAAOA,EAAKE,CAAQ,IAEjB;AAAA,MACH,GAAGF;AAAA,MACH,WAAWA,EAAK,YAAY,KAAK,WAAWA,EAAK,SAAS,IAAI,CAAC;AAAA,IAAA,EAEtE;AAAA,EACL;AAAA;AAAA,EAGA,mBAAmB;AACT,UAAAF,IAAc,KAAK,MAAM,MAAM;AACjC,IAAA,KAAK,MAAM,UACN,KAAK,MAAM,MAAM,aAClB,KAAK,MAAM,MAAM,WAAW,CAACK,MAAmB;AAC5C,MAAIL,KACA,KAAK,MAAM,MAAM,KAAK,QAAQ,CAACE,MAAc;AACzC,iBAASN,IAAI,GAAGA,IAAI,KAAK,iBAAiB,MAAM,QAAQA;AAChD,UAAAM,EAAKF,CAAM,MAAO,KAAK,iBAAiB,MAAMJ,CAAC,EAASI,CAAM,KAC9D,KAAK,iBAAiB,MAAM,OAAOJ,GAAG,CAAC;AAAA,MAE/C,CACH,GACI,KAAA,iBAAiB,QAAQf,EAAO,OAAOwB,EAAU,OAAO,KAAK,iBAAiB,KAAK,GAAGL,CAAM,KAEjG,KAAK,iBAAiB,QAAQK;AAAA,IAClC,IAGH,KAAK,MAAM,MAAM,cAAc,MAChC,KAAK,MAAM,MAAM,cAAc,IAAI,CAACA,MAAmB;AACnD,MAAIL,IACIK,EAAU,WAAW,IACrB,KAAK,MAAM,MAAM,KAAK,QAAQ,CAACH,MAAc;AACzC,iBAASN,IAAI,GAAGA,IAAI,KAAK,iBAAiB,MAAM,QAAQA;AAChD,UAAAM,EAAKF,CAAM,MAAO,KAAK,iBAAiB,MAAMJ,CAAC,EAAUI,CAAM,KAC/D,KAAK,iBAAiB,MAAM,OAAOJ,GAAG,CAAC;AAAA,MAE/C,CACH,IAEI,KAAA,iBAAiB,QAAQf,EAAO,OAAOwB,EAAU,OAAO,KAAK,iBAAiB,KAAK,GAAGL,CAAM,IAIrG,KAAK,iBAAiB,QAAQK;AAAA,IAClC;AAAA,EAIhB;AACJ;"}