@dinert/element-plus 1.1.11 → 1.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/element-plus.umd.js +2 -1
- package/dist/element-plus.umd.js.map +1 -1
- package/es/node_modules/dompurify/dist/purify.es.mjs +502 -0
- package/es/node_modules/dompurify/dist/purify.es.mjs.map +1 -0
- package/es/node_modules/vue-dompurify-html/dist/vue-dompurify-html.mjs +41 -0
- package/es/node_modules/vue-dompurify-html/dist/vue-dompurify-html.mjs.map +1 -0
- package/es/packages/components/form/src/cascader.mjs +5 -7
- package/es/packages/components/form/src/cascader.mjs.map +1 -1
- package/es/packages/components/form/src/date.mjs +9 -10
- package/es/packages/components/form/src/date.mjs.map +1 -1
- package/es/packages/components/form/src/index.mjs +75 -71
- package/es/packages/components/form/src/index.mjs.map +1 -1
- package/es/packages/components/form/src/input-autocomplete.mjs +4 -6
- package/es/packages/components/form/src/input-autocomplete.mjs.map +1 -1
- package/es/packages/components/form/src/input-number.mjs +3 -5
- package/es/packages/components/form/src/input-number.mjs.map +1 -1
- package/es/packages/components/form/src/input.mjs +3 -5
- package/es/packages/components/form/src/input.mjs.map +1 -1
- package/es/packages/components/form/src/select-v2.mjs +5 -7
- package/es/packages/components/form/src/select-v2.mjs.map +1 -1
- package/es/packages/components/form/src/select.mjs +5 -7
- package/es/packages/components/form/src/select.mjs.map +1 -1
- package/es/packages/components/form/src/tree-select.mjs +4 -6
- package/es/packages/components/form/src/tree-select.mjs.map +1 -1
- package/es/packages/components/form/utils/index.mjs.map +1 -1
- package/es/packages/components/table/src/recuve-table-column.mjs +83 -79
- package/es/packages/components/table/src/recuve-table-column.mjs.map +1 -1
- package/es/packages/components/tooltip/src/index.mjs +15 -15
- package/es/packages/components/tooltip/src/index.mjs.map +1 -1
- package/es/style.css +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.mjs","sources":["../../../../../packages/components/form/src/select.tsx"],"sourcesContent":["import {computed, defineComponent, PropType} from 'vue'\
|
|
1
|
+
{"version":3,"file":"select.mjs","sources":["../../../../../packages/components/form/src/select.tsx"],"sourcesContent":["import {computed, defineComponent, PropType} from 'vue'\n\nimport type {RewriteFormProps, CustomFormItemProps} from '@packages/components/form/types'\n\nexport default defineComponent({\n name: 'dinert-select',\n props: {\n form: {\n type: Object as PropType<RewriteFormProps>,\n default: () => ({})\n },\n formItem: {\n type: Object as PropType<CustomFormItemProps>,\n default: () => ({})\n },\n },\n setup(props) {\n\n const options = computed<CustomFormItemProps[keyof CustomFormItemProps]['select']>(() => {\n const options = props.formItem.options || []\n return options\n })\n\n return {\n options,\n }\n },\n render() {\n const options = this.options.options || []\n return (\n <el-select\n v-model={this.form.model[this.formItem.key]}\n clearable\n {...this.options}\n v-slots={this.$slots}\n key={this.formItem.key}\n >\n {\n options.map(item => {\n return (<el-option\n key={item.value}\n {...{\n ...item,\n label: item[(this.options.label || 'label')],\n value: this.options.value === 'object' ? item : item[(this.options.value || 'value')]\n }}\n\n >\n </el-option>)\n })\n }\n </el-select>\n )\n }\n})\n\n"],"names":["defineComponent","name","props","form","type","Object","default","formItem","setup","options","computed","render","_createVNode","_resolveComponent","_mergeProps","model","key","$event","map","item","value","label","$slots"],"mappings":";AAIA,MAAeA,sBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,MAAM;AAAA,MACFC,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDC,UAAU;AAAA,MACNH,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACpB;AAAA,EACH;AAAA,EACDE,MAAMN,GAAO;AAOT,WAAO;AAAA,MACHO,SANYC,EAAmE,MAC/DR,EAAMK,SAASE,WAAW,CAAA,CAE7C;AAAA;EAKJ;AAAA,EACDE,SAAS;AACL,UAAMF,IAAU,KAAKA,QAAQA,WAAW,CAAA;AACxC,WAAAG,EAAAC,EAAA,WAAA,GAAAC,EAAA;AAAA,MAAA,YAEiB,KAAKX,KAAKY,MAAM,KAAKR,SAASS,GAAG;AAAA,MAAC,uBAAAC,CAAAA,MAAlC,KAAKd,KAAKY,MAAM,KAAKR,SAASS,GAAG,IAACC;AAAAA,MAAA,WAAA;AAAA,OAEvC,KAAKR,SAAO;AAAA,MAAA,KAEX,KAAKF,SAASS;AAAAA,IAAG,CAAA,GAAA;AAAA,MAAAV,SAAAA,MAGlBG,CAAAA,EAAQS,IAAIC,CAAAA,MACRP,EAAAC,EAAA,WAAA,GAAAC,EAAA;AAAA,QAAA,KACSK,EAAKC;AAAAA,MAAK,GAAA;AAAA,QAEX,GAAGD;AAAAA,QACHE,OAAOF,EAAM,KAAKV,QAAQY,SAAS,OAAO;AAAA,QAC1CD,OAAO,KAAKX,QAAQW,UAAU,WAAWD,IAAOA,EAAM,KAAKV,QAAQW,SAAS,OAAO;AAAA,MAAE,CAAA,GAAA,IAAA,CAKhG,CAAC;AAAA,MAAA,GAfG,KAAKE;AAAAA,IAAM,CAAA;AAAA,EAmBhC;AACJ,CAAC;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { defineComponent as o, computed as r, createVNode as s, resolveComponent as
|
|
2
|
-
|
|
3
|
-
const d = /* @__PURE__ */ o({
|
|
1
|
+
import { defineComponent as o, computed as r, createVNode as s, resolveComponent as n, mergeProps as i } from "vue";
|
|
2
|
+
const p = /* @__PURE__ */ o({
|
|
4
3
|
name: "dinert-tree-select",
|
|
5
4
|
props: {
|
|
6
5
|
form: {
|
|
@@ -24,11 +23,10 @@ const d = /* @__PURE__ */ o({
|
|
|
24
23
|
};
|
|
25
24
|
},
|
|
26
25
|
render() {
|
|
27
|
-
return s(
|
|
26
|
+
return s(n("el-tree-select"), i({
|
|
28
27
|
modelValue: this.form.model[this.formItem.key],
|
|
29
28
|
"onUpdate:modelValue": (e) => this.form.model[this.formItem.key] = e,
|
|
30
29
|
clearable: !0,
|
|
31
|
-
placeholder: i(this.formItem.label, "select"),
|
|
32
30
|
filterable: this.options.filterable === void 0 ? !0 : this.options.filterable,
|
|
33
31
|
"node-key": this.options.nodeKey
|
|
34
32
|
}, this.options, {
|
|
@@ -37,6 +35,6 @@ const d = /* @__PURE__ */ o({
|
|
|
37
35
|
}
|
|
38
36
|
});
|
|
39
37
|
export {
|
|
40
|
-
|
|
38
|
+
p as default
|
|
41
39
|
};
|
|
42
40
|
//# sourceMappingURL=tree-select.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-select.mjs","sources":["../../../../../packages/components/form/src/tree-select.tsx"],"sourcesContent":["import {computed, defineComponent} from 'vue'\
|
|
1
|
+
{"version":3,"file":"tree-select.mjs","sources":["../../../../../packages/components/form/src/tree-select.tsx"],"sourcesContent":["import {computed, defineComponent} from 'vue'\n\nimport type {RewriteFormProps, CustomFormItemProps} from '@packages/components/form/types'\nimport type {PropType} from 'vue'\n\nexport default defineComponent({\n name: 'dinert-tree-select',\n props: {\n form: {\n type: Object as PropType<RewriteFormProps>,\n default: () => ({})\n },\n formItem: {\n type: Object as PropType<CustomFormItemProps>,\n default: () => ({})\n },\n },\n setup(props) {\n\n const options = computed<CustomFormItemProps[keyof CustomFormItemProps]['tree-select']>(() => {\n const options = props.formItem.options || {options: [], data: []}\n options.data = options.options\n return options\n })\n\n return {\n options\n }\n },\n render() {\n return (\n <el-tree-select\n v-model={this.form.model[this.formItem.key]}\n clearable\n filterable={this.options.filterable === undefined ? true : this.options.filterable}\n node-key={this.options.nodeKey}\n {...this.options}\n v-slots={this.$slots}\n key={this.formItem.key}\n >\n </el-tree-select>\n )\n }\n})\n\n"],"names":["defineComponent","name","props","form","type","Object","default","formItem","setup","options","computed","data","render","_createVNode","_resolveComponent","_mergeProps","model","key","$event","filterable","undefined","nodeKey","$slots"],"mappings":";AAKA,MAAeA,sBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,MAAM;AAAA,MACFC,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDC,UAAU;AAAA,MACNH,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACpB;AAAA,EACH;AAAA,EACDE,MAAMN,GAAO;AAQT,WAAO;AAAA,MACHO,SAPYC,EAAwE,MAAM;AAC1F,cAAMD,IAAUP,EAAMK,SAASE,WAAW;AAAA,UAACA,SAAS,CAAE;AAAA,UAAEE,MAAM,CAAA;AAAA;AAC9DF,eAAAA,EAAQE,OAAOF,EAAQA,SAChBA;AAAAA,MACX,CAAC;AAAA;EAKJ;AAAA,EACDG,SAAS;AACL,WAAAC,EAAAC,EAAA,gBAAA,GAAAC,EAAA;AAAA,MAAA,YAEiB,KAAKZ,KAAKa,MAAM,KAAKT,SAASU,GAAG;AAAA,MAAC,uBAAAC,CAAAA,MAAlC,KAAKf,KAAKa,MAAM,KAAKT,SAASU,GAAG,IAACC;AAAAA,MAAA,WAAA;AAAA,MAAA,YAE/B,KAAKT,QAAQU,eAAeC,SAAY,KAAO,KAAKX,QAAQU;AAAAA,MAAU,YACxE,KAAKV,QAAQY;AAAAA,OACnB,KAAKZ,SAAO;AAAA,MAAA,KAEX,KAAKF,SAASU;AAAAA,KADV,GAAA,KAAKK,MAAM;AAAA,EAKhC;AACJ,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/form/utils/index.ts"],"sourcesContent":["\nexport const labelMouseEnter = (e: MouseEvent, item: any, _this: any) => {\n const el = (e.target as any).parentElement.parentElement\n const labelEl = window.getComputedStyle(el, null)\n const isRequried = item.rules ? 12 : item.beforeWidth || 0\n const labelWidth\n = parseInt(labelEl.getPropertyValue('max-width')) - isRequried\n - parseInt(labelEl.getPropertyValue('padding-right'))\n const tooltipWidth = (e.target as any).previousElementSibling.offsetWidth\n if (tooltipWidth >= labelWidth) {\n _this.form.formItem[item.key].labelDisabled = false\n\n } else {\n _this.form.formItem[item.key].labelDisabled = true\n }\n}\n\nexport const findTreeNode = (treeData: any, key: string, value: string) => {\n const result: any[] = []\n function filterResult(treeData: any) {\n treeData.forEach((item: any) => {\n if ((Array.isArray(value) && value.includes(item[key])) || value === item[key]) {\n result.push(item)\n }\n if (item.children && item.children.length) {\n filterResult(item.children)\n }\n })\n }\n filterResult(treeData)\n return result\n}\n\n\nexport const getTooltipValue = (value: any, item: any): any => {\n const type = item.type\n const options = item.options || {}\n const tempArr: string[] = []\n if (['input', 'input-autocomplete', 'input-number'].includes(type)) {\n return value\n } else if (['select', 'tree-select', 'select-v2'].includes(type)) {\n if (options && options.options && options.options.length) {\n let newVal = null\n if (options.valueKey) {\n newVal = value && value[options.valueKey]\n }\n const selectItem = findTreeNode(options.options, options.value === 'object' ? options.valueKey : options.value || 'value', newVal || value)\n selectItem.forEach(item => {\n tempArr.push(item[options.label || 'label'])\n })\n return tempArr.join(',')\n }\n } else if (['cascader'].includes(type)) {\n if (options && options.options && options.options.length) {\n if (options.props?.emitPath === undefined || options.props?.emitPath === true) {\n value = value && value[0]\n }\n\n const selectItem = findTreeNode(options.options, options.props?.value || 'value', value)[0]\n return selectItem && selectItem[options.props?.label || 'label']\n }\n }\n return null\n}\n\nexport const valueMouseEnter = (e: MouseEvent, item: any, value: any, _this) => {\n const showCom = ['input', 'input-autocomplete', 'cascader', 'input-number', 'select', 'tree-select', 'select-v2']\n\n if (!value || item.showLabel || !showCom.includes(item.type)) {\n _this.form.formItem[item.key].tempValueDisabled = true\n\n return\n }\n let el: HTMLElement | null = null\n if (['input', 'input-autocomplete', 'cascader', 'input-number'].includes(item.type)) {\n el = (e.target as any).parentElement.querySelector('.el-input__inner') as HTMLElement\n } else if (['select', 'tree-select', 'select-v2'].includes(item.type)) {\n el = (e.target as any).parentElement.querySelector('.el-select__selected-item.el-select__placeholder') as HTMLElement\n el = el || (e.target as any).parentElement.querySelector('.el-select__selection') as HTMLElement\n }\n\n if (el) {\n const inputEl = window.getComputedStyle(el, null)\n const textWidth\n = el.offsetWidth\n - parseInt(inputEl.getPropertyValue('padding-right'))\n - parseInt(inputEl.getPropertyValue('padding-left'))\n const tooltipEl = (e.target as any).previousElementSibling\n const tooltipWidth = tooltipEl.offsetWidth\n\n if (tooltipWidth >= textWidth) {\n _this.form.formItem[item.key].tempValueDisabled = false\n } else {\n _this.form.formItem[item.key].tempValueDisabled = true\n\n }\n } else {\n _this.form.formItem[item.key].tempValueDisabled = false\n }\n\n}\n\nexport const customPlaceholder = (customName: any, type: string = 'input', name: string = '请输入') => {\n name = type === 'select' ? '请选择' : name\n return name + (customName || '')\n}\n\nexport const formItemSlot = (customName: any, name: string = 'formItem_') => {\n return name + (customName || '')\n}\n"],"names":["labelMouseEnter","e","item","_this","el","labelEl","isRequried","labelWidth","findTreeNode","treeData","key","value","result","filterResult","getTooltipValue","_a","_b","_c","_d","type","options","tempArr","newVal","selectItem","valueMouseEnter","showCom","inputEl","textWidth","customPlaceholder","customName","name","formItemSlot"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/form/utils/index.ts"],"sourcesContent":["\nexport const labelMouseEnter = (e: MouseEvent, item: any, _this: any) => {\n const el = (e.target as any).parentElement.parentElement\n const labelEl = window.getComputedStyle(el, null)\n const isRequried = item.rules ? 12 : item.beforeWidth || 0\n const labelWidth\n = parseInt(labelEl.getPropertyValue('max-width')) - isRequried\n - parseInt(labelEl.getPropertyValue('padding-right'))\n const tooltipWidth = (e.target as any).previousElementSibling.offsetWidth\n if (tooltipWidth >= labelWidth) {\n _this.form.formItem[item.key].labelDisabled = false\n\n } else {\n _this.form.formItem[item.key].labelDisabled = true\n }\n}\n\nexport const findTreeNode = (treeData: any, key: string, value: string) => {\n const result: any[] = []\n function filterResult(treeData: any) {\n treeData.forEach((item: any) => {\n if ((Array.isArray(value) && value.includes(item[key])) || value === item[key]) {\n result.push(item)\n }\n if (item.children && item.children.length) {\n filterResult(item.children)\n }\n })\n }\n filterResult(treeData)\n return result\n}\n\n\nexport const getTooltipValue = (value: any, item: any): any => {\n const type = item.type\n const options = item.options || {}\n const tempArr: string[] = []\n if (['input', 'input-autocomplete', 'input-number'].includes(type)) {\n return value\n } else if (['select', 'tree-select', 'select-v2'].includes(type)) {\n if (options && options.options && options.options.length) {\n let newVal = null\n if (options.valueKey) {\n newVal = value && value[options.valueKey]\n }\n const selectItem = findTreeNode(options.options, options.value === 'object' ? options.valueKey : options.value || 'value', newVal || value)\n selectItem.forEach(item => {\n tempArr.push(item[options.label || 'label'])\n })\n return tempArr.join(',')\n }\n } else if (['cascader'].includes(type)) {\n if (options && options.options && options.options.length) {\n if (options.props?.emitPath === undefined || options.props?.emitPath === true) {\n value = value && value[0]\n }\n\n const selectItem = findTreeNode(options.options, options.props?.value || 'value', value)[0]\n return selectItem && selectItem[options.props?.label || 'label']\n }\n }\n return null\n}\n\nexport const valueMouseEnter = (e: MouseEvent, item: any, value: any, _this) => {\n const showCom = ['input', 'input-autocomplete', 'cascader', 'input-number', 'select', 'tree-select', 'select-v2']\n\n if (!value || item.showLabel || !showCom.includes(item.type)) {\n _this.form.formItem[item.key].tempValueDisabled = true\n\n return\n }\n let el: HTMLElement | null = null\n if (['input', 'input-autocomplete', 'cascader', 'input-number'].includes(item.type)) {\n el = (e.target as any).parentElement.querySelector('.el-input__inner') as HTMLElement\n } else if (['select', 'tree-select', 'select-v2'].includes(item.type)) {\n el = (e.target as any).parentElement.querySelector('.el-select__selected-item.el-select__placeholder') as HTMLElement\n el = el || (e.target as any).parentElement.querySelector('.el-select__selection') as HTMLElement\n }\n\n if (el) {\n const inputEl = window.getComputedStyle(el, null)\n const textWidth\n = el.offsetWidth\n - parseInt(inputEl.getPropertyValue('padding-right'))\n - parseInt(inputEl.getPropertyValue('padding-left'))\n const tooltipEl = (e.target as any).previousElementSibling\n const tooltipWidth = tooltipEl.offsetWidth\n\n if (tooltipWidth >= textWidth) {\n _this.form.formItem[item.key].tempValueDisabled = false\n } else {\n _this.form.formItem[item.key].tempValueDisabled = true\n\n }\n } else {\n _this.form.formItem[item.key].tempValueDisabled = false\n }\n\n}\n\nexport const customPlaceholder = (customName: any, type: string = 'input', name: string = '请输入') => {\n name = type === 'select' ? '请选择' : name\n return name + ((customName) || '')\n}\n\nexport const formItemSlot = (customName: any, name: string = 'formItem_') => {\n return name + (customName || '')\n}\n"],"names":["labelMouseEnter","e","item","_this","el","labelEl","isRequried","labelWidth","findTreeNode","treeData","key","value","result","filterResult","getTooltipValue","_a","_b","_c","_d","type","options","tempArr","newVal","selectItem","valueMouseEnter","showCom","inputEl","textWidth","customPlaceholder","customName","name","formItemSlot"],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { getPropByPath as S, dataTransformRod as
|
|
3
|
-
import { treeNode as
|
|
4
|
-
import { Setting as
|
|
5
|
-
|
|
1
|
+
import { defineComponent as $, ref as A, watch as F, nextTick as P, createVNode as t, Fragment as w, resolveComponent as a, mergeProps as x, withDirectives as E, resolveDirective as H, createTextVNode as R, computed as N, isVNode as K } from "vue";
|
|
2
|
+
import { getPropByPath as S, dataTransformRod as _ } from "../../../utils/tools.mjs";
|
|
3
|
+
import { treeNode as W, allShow as B, treeProps as I, allowDrop as M, checkTree as q, nodeDragEnd as z } from "../hooks/index.mjs";
|
|
4
|
+
import { Setting as G, ArrowDown as J } from "../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
|
|
5
|
+
import { buildVueDompurifyHTMLDirective as L } from "../../../../node_modules/vue-dompurify-html/dist/vue-dompurify-html.mjs";
|
|
6
|
+
function O(i) {
|
|
6
7
|
return typeof i == "function" || Object.prototype.toString.call(i) === "[object Object]" && !K(i);
|
|
7
8
|
}
|
|
8
9
|
const Q = (i) => {
|
|
@@ -14,7 +15,7 @@ const Q = (i) => {
|
|
|
14
15
|
index: 60,
|
|
15
16
|
selection: 40,
|
|
16
17
|
expand: 40
|
|
17
|
-
}, L = /* @__PURE__ */
|
|
18
|
+
}, X = L({}), ne = /* @__PURE__ */ $({
|
|
18
19
|
name: "dinert-recuve-table-column",
|
|
19
20
|
props: {
|
|
20
21
|
onlyClass: {
|
|
@@ -37,191 +38,194 @@ const Q = (i) => {
|
|
|
37
38
|
default: () => []
|
|
38
39
|
}
|
|
39
40
|
},
|
|
41
|
+
directives: {
|
|
42
|
+
DompurifyHtml: X
|
|
43
|
+
},
|
|
40
44
|
emits: ["CheckedChange"],
|
|
41
45
|
setup(i, {
|
|
42
46
|
emit: f
|
|
43
47
|
}) {
|
|
44
|
-
const r =
|
|
45
|
-
return
|
|
46
|
-
var
|
|
47
|
-
return (
|
|
48
|
+
const r = A();
|
|
49
|
+
return F(() => {
|
|
50
|
+
var n;
|
|
51
|
+
return (n = i.table) == null ? void 0 : n.key;
|
|
48
52
|
}, () => {
|
|
49
|
-
|
|
50
|
-
var
|
|
51
|
-
r.value &&
|
|
53
|
+
P(() => {
|
|
54
|
+
var n;
|
|
55
|
+
r.value && W(r.value, (n = i.table) == null ? void 0 : n.tableColumns);
|
|
52
56
|
});
|
|
53
57
|
}, {
|
|
54
58
|
immediate: !0
|
|
55
59
|
}), {
|
|
56
|
-
settingRender: (
|
|
57
|
-
value:
|
|
60
|
+
settingRender: (n) => t(a("el-popover"), {
|
|
61
|
+
value: n.popoverValue
|
|
58
62
|
}, {
|
|
59
63
|
default: () => {
|
|
60
64
|
var C;
|
|
61
|
-
return
|
|
65
|
+
return t("ul", {
|
|
62
66
|
class: "el-popover-classify"
|
|
63
|
-
}, [
|
|
67
|
+
}, [t("li", null, [t(a("el-button"), {
|
|
64
68
|
class: "allSelect",
|
|
65
69
|
link: !0,
|
|
66
70
|
type: "primary",
|
|
67
71
|
onClick: async () => {
|
|
68
72
|
var s;
|
|
69
|
-
return
|
|
73
|
+
return B(r.value, ((s = n.table) == null ? void 0 : s.tableColumns) || []);
|
|
70
74
|
}
|
|
71
75
|
}, {
|
|
72
76
|
default: () => [R("全选")]
|
|
73
|
-
})]),
|
|
77
|
+
})]), t(a("el-tree"), {
|
|
74
78
|
ref: r,
|
|
75
79
|
draggable: !0,
|
|
76
|
-
data: (C =
|
|
80
|
+
data: (C = n.table) == null ? void 0 : C.tableColumns,
|
|
77
81
|
"default-expand-all": !0,
|
|
78
|
-
defaultCheckedKeys:
|
|
82
|
+
defaultCheckedKeys: n.defaultCheckedKeys,
|
|
79
83
|
"show-checkbox": !0,
|
|
80
84
|
"node-key": "prop",
|
|
81
|
-
props:
|
|
82
|
-
allowDrop:
|
|
85
|
+
props: I,
|
|
86
|
+
allowDrop: M,
|
|
83
87
|
onCheckChange: async (s, p, k) => {
|
|
84
|
-
await
|
|
88
|
+
await q(s, p, k), f("CheckedChange", s, p, k);
|
|
85
89
|
},
|
|
86
|
-
onNodeDragEnd: (s, p) =>
|
|
90
|
+
onNodeDragEnd: (s, p) => z(s, p, r.value)
|
|
87
91
|
}, {
|
|
88
92
|
default: ({
|
|
89
93
|
data: s
|
|
90
|
-
}) =>
|
|
94
|
+
}) => t("div", {
|
|
91
95
|
class: "text-dot tree-item"
|
|
92
|
-
}, [
|
|
96
|
+
}, [t(a("el-tooltip"), {
|
|
93
97
|
content: s.label,
|
|
94
98
|
placement: "top",
|
|
95
99
|
disabled: s.label && s.label.length < 8
|
|
96
100
|
}, {
|
|
97
|
-
default: () =>
|
|
101
|
+
default: () => t("span", null, [s.label])
|
|
98
102
|
})])
|
|
99
103
|
})]);
|
|
100
104
|
},
|
|
101
|
-
reference: () =>
|
|
105
|
+
reference: () => t(a("el-icon"), {
|
|
102
106
|
class: "setting-icon"
|
|
103
107
|
}, {
|
|
104
|
-
default: () => [
|
|
108
|
+
default: () => [t(G, null, null)]
|
|
105
109
|
})
|
|
106
110
|
}),
|
|
107
|
-
moreRender: (
|
|
111
|
+
moreRender: (n, C, {
|
|
108
112
|
value: s,
|
|
109
113
|
scope: p,
|
|
110
114
|
isSlotValue: k,
|
|
111
|
-
slotValue:
|
|
115
|
+
slotValue: D
|
|
112
116
|
}) => {
|
|
113
|
-
const h =
|
|
117
|
+
const h = n.operations || {}, b = N(() => {
|
|
114
118
|
let l = 0;
|
|
115
119
|
const o = [];
|
|
116
120
|
return Object.keys(h).forEach((d) => {
|
|
117
121
|
const c = h[d];
|
|
118
|
-
(typeof c.show != "function" && [!0, void 0].includes(c.show) || typeof c.show == "function" && [!0, void 0].includes(c.show(p,
|
|
122
|
+
(typeof c.show != "function" && [!0, void 0].includes(c.show) || typeof c.show == "function" && [!0, void 0].includes(c.show(p, n, c))) && o.push({
|
|
119
123
|
key: d,
|
|
120
124
|
...c,
|
|
121
125
|
sort: typeof c.sort > "u" ? l : c.sort
|
|
122
126
|
}), l += 10;
|
|
123
127
|
}), o.sort((d, c) => d.sort - c.sort), o;
|
|
124
128
|
});
|
|
125
|
-
let
|
|
126
|
-
|
|
127
|
-
const
|
|
128
|
-
return
|
|
129
|
-
const o = typeof l.message == "function" ? l.message(p,
|
|
130
|
-
return l.key === "delete" || l.second ?
|
|
129
|
+
let g = n.maxOperations || 3;
|
|
130
|
+
g = b.value.length > g ? g - 1 : g;
|
|
131
|
+
const V = N(() => b.value.slice(0, g)), u = N(() => b.value.slice(g, b.value.length));
|
|
132
|
+
return b.value && b.value.length ? t(w, null, [V.value.map((l) => {
|
|
133
|
+
const o = typeof l.message == "function" ? l.message(p, n, l) : l.message;
|
|
134
|
+
return l.key === "delete" || l.second ? t(a("el-popconfirm"), x({
|
|
131
135
|
title: l.key === "delete" ? "是否删除该数据?" : "二次确认"
|
|
132
136
|
}, {
|
|
133
137
|
...l.confirm
|
|
134
138
|
}, {
|
|
135
|
-
onConfirm: () => l.click && l.click(p,
|
|
139
|
+
onConfirm: () => l.click && l.click(p, n, l)
|
|
136
140
|
}), {
|
|
137
|
-
reference: () =>
|
|
141
|
+
reference: () => t(a("el-button"), x({
|
|
138
142
|
...l,
|
|
139
143
|
type: l.type || l.key === "delete" ? "danger" : "primary",
|
|
140
144
|
link: l.link === void 0 ? !0 : l.link
|
|
141
145
|
}, {
|
|
142
146
|
key: l.key
|
|
143
|
-
}),
|
|
147
|
+
}), O(o) ? o : {
|
|
144
148
|
default: () => [o]
|
|
145
149
|
})
|
|
146
|
-
}) :
|
|
150
|
+
}) : t(a("el-button"), x({
|
|
147
151
|
...l,
|
|
148
152
|
type: l.type || "primary",
|
|
149
153
|
link: l.link === void 0 ? !0 : l.link
|
|
150
154
|
}, {
|
|
151
|
-
onClick: () => l.click && l.click(p,
|
|
155
|
+
onClick: () => l.click && l.click(p, n, l),
|
|
152
156
|
key: l.key
|
|
153
|
-
}),
|
|
157
|
+
}), O(o) ? o : {
|
|
154
158
|
default: () => [o]
|
|
155
159
|
});
|
|
156
|
-
}), u.value.length &&
|
|
160
|
+
}), u.value.length && b.value.length > g && t(a("el-dropdown"), {
|
|
157
161
|
teleported: !0,
|
|
158
|
-
onCommand: (l) => l.click && l.click(p,
|
|
162
|
+
onCommand: (l) => l.click && l.click(p, n, l)
|
|
159
163
|
}, {
|
|
160
|
-
default: () =>
|
|
164
|
+
default: () => t(a("el-button"), {
|
|
161
165
|
type: "primary",
|
|
162
166
|
link: !0,
|
|
163
167
|
text: !0
|
|
164
168
|
}, {
|
|
165
|
-
default: () => [R("更多"),
|
|
166
|
-
default: () => [
|
|
169
|
+
default: () => [R("更多"), t(a("el-icon"), null, {
|
|
170
|
+
default: () => [t(J, null, null)]
|
|
167
171
|
})]
|
|
168
172
|
}),
|
|
169
173
|
dropdown: () => {
|
|
170
174
|
let l;
|
|
171
|
-
return
|
|
172
|
-
const d = typeof o.message == "function" ? o.message(p,
|
|
173
|
-
return
|
|
175
|
+
return t(a("el-dropdown-menu"), null, O(l = u.value.map((o) => {
|
|
176
|
+
const d = typeof o.message == "function" ? o.message(p, n, o) : o.message;
|
|
177
|
+
return t(a("el-dropdown-item"), {
|
|
174
178
|
command: o
|
|
175
|
-
},
|
|
179
|
+
}, O(d) ? d : {
|
|
176
180
|
default: () => [d]
|
|
177
181
|
});
|
|
178
182
|
})) ? l : {
|
|
179
183
|
default: () => [l]
|
|
180
184
|
});
|
|
181
185
|
}
|
|
182
|
-
}) || null]) :
|
|
186
|
+
}) || null]) : t("div", {
|
|
183
187
|
class: "cell-item-text"
|
|
184
|
-
}, [k &&
|
|
188
|
+
}, [k && D || s]);
|
|
185
189
|
}
|
|
186
190
|
};
|
|
187
191
|
},
|
|
188
192
|
render() {
|
|
189
193
|
const i = this.$slots, f = i.default, r = i.header;
|
|
190
|
-
return
|
|
194
|
+
return t(w, null, [
|
|
191
195
|
// eslint-disable-next-line array-callback-return, consistent-return
|
|
192
196
|
this.tableColumns && this.tableColumns.map((e) => {
|
|
193
|
-
var
|
|
197
|
+
var V;
|
|
194
198
|
let v = typeof e.show == "function" ? e.show(e) : e.show;
|
|
195
199
|
v = v === void 0 || v === !0;
|
|
196
|
-
const
|
|
197
|
-
let
|
|
198
|
-
const
|
|
199
|
-
if (y != null && y.includes("time") ? h = h || 170 : (y != null && y.includes("status") || y != null && y.includes("state")) && (h = h ||
|
|
200
|
-
return
|
|
200
|
+
const n = e.checked === void 0 || e.checked === !0, C = !["index", "selection", "expand"].includes(e.type), s = e.prop === "operations" && e.fixed === void 0 ? "right" : e.fixed, p = e.showOverflowTooltip === void 0 && e.prop !== "operations" ? !0 : e.showOverflowTooltip, k = `${e.prop || ""} ${e.className || ""} ${e.setting ? "setting" : ""}`;
|
|
201
|
+
let D = e.prop === "operations" && e.align === void 0 ? "center" : e.align, h = e.prop === "operations" && e.width === void 0 ? 200 : e.width;
|
|
202
|
+
const b = e.formatter && typeof e.formatter == "function", g = Q(e), y = (V = e.prop) == null ? void 0 : V.toLocaleLowerCase();
|
|
203
|
+
if (y != null && y.includes("time") ? h = h || 170 : (y != null && y.includes("status") || y != null && y.includes("state")) && (h = h || 100, D = e.align || "center"), v && n && C)
|
|
204
|
+
return t(a("el-table-column"), x(g, {
|
|
201
205
|
key: e.prop,
|
|
202
206
|
fixed: s,
|
|
203
207
|
"show-overflow-tooltip": p,
|
|
204
208
|
className: k,
|
|
205
209
|
width: h,
|
|
206
210
|
minWidth: e.minWidth,
|
|
207
|
-
align:
|
|
211
|
+
align: D
|
|
208
212
|
}), {
|
|
209
213
|
default: (u) => {
|
|
210
|
-
var
|
|
211
|
-
const l = S(u.row, e.prop || ""), o =
|
|
214
|
+
var j, m;
|
|
215
|
+
const l = S(u.row, e.prop || ""), o = _(l, (j = this.table) == null ? void 0 : j.errData), d = f == null ? void 0 : f({
|
|
212
216
|
...u,
|
|
213
217
|
prop: e.prop
|
|
214
218
|
}), c = d && d[0] && d[0].children;
|
|
215
|
-
if (
|
|
216
|
-
|
|
217
|
-
return
|
|
219
|
+
if (b) {
|
|
220
|
+
let T = e.formatter && e.formatter(u, e, l, u.$index);
|
|
221
|
+
return T = _(T, (m = this.table) == null ? void 0 : m.errData), t(w, null, [c ? t("div", {
|
|
218
222
|
class: "cell-item"
|
|
219
223
|
}, [f == null ? void 0 : f({
|
|
220
224
|
...u,
|
|
221
225
|
prop: e.prop
|
|
222
|
-
})]) :
|
|
226
|
+
})]) : E(t("div", {
|
|
223
227
|
class: "cell-item"
|
|
224
|
-
}, null), [[
|
|
228
|
+
}, null), [[H("dompurify-html"), T]]), t(a("dinert-recuve-table-column"), {
|
|
225
229
|
table: this.table,
|
|
226
230
|
key: e.prop,
|
|
227
231
|
tableColumns: e.children,
|
|
@@ -229,14 +233,14 @@ const Q = (i) => {
|
|
|
229
233
|
"only-class": this.onlyClass
|
|
230
234
|
}, i)]);
|
|
231
235
|
} else
|
|
232
|
-
return
|
|
236
|
+
return t(w, null, [t("div", {
|
|
233
237
|
class: "cell-item"
|
|
234
238
|
}, [this.moreRender(e, this, {
|
|
235
239
|
value: o,
|
|
236
240
|
scope: u,
|
|
237
241
|
isSlotValue: c,
|
|
238
242
|
slotValue: d
|
|
239
|
-
})]),
|
|
243
|
+
})]), t(a("dinert-recuve-table-column"), {
|
|
240
244
|
table: this.table,
|
|
241
245
|
key: e.prop,
|
|
242
246
|
tableColumns: e.children,
|
|
@@ -251,16 +255,16 @@ const Q = (i) => {
|
|
|
251
255
|
data: e,
|
|
252
256
|
prop: e.prop
|
|
253
257
|
}), o = l && l[0] && l[0].children;
|
|
254
|
-
return r ?
|
|
258
|
+
return r ? t(w, null, [R(" "), t("span", null, [o ? r == null ? void 0 : r({
|
|
255
259
|
...u,
|
|
256
260
|
data: e,
|
|
257
261
|
prop: e.prop
|
|
258
|
-
}) : u.column.label]), e.setting && ((d = this.table) == null ? void 0 : d.setting) !== !1 && this.settingRender(this)]) :
|
|
262
|
+
}) : u.column.label]), e.setting && ((d = this.table) == null ? void 0 : d.setting) !== !1 && this.settingRender(this)]) : t(w, null, [t("span", null, [u.column.label]), e.setting && ((c = this.table) == null ? void 0 : c.setting) !== !1 && this.settingRender(this)]);
|
|
259
263
|
}
|
|
260
264
|
});
|
|
261
|
-
if (v &&
|
|
265
|
+
if (v && n) {
|
|
262
266
|
const u = e.align === void 0 ? "center" : "left", l = e.width === void 0 ? U[e.type || ""] || 60 : e.width;
|
|
263
|
-
return
|
|
267
|
+
return t(a("el-table-column"), x(e, {
|
|
264
268
|
key: e.prop,
|
|
265
269
|
fixed: s,
|
|
266
270
|
align: u,
|
|
@@ -273,6 +277,6 @@ const Q = (i) => {
|
|
|
273
277
|
}
|
|
274
278
|
});
|
|
275
279
|
export {
|
|
276
|
-
|
|
280
|
+
ne as default
|
|
277
281
|
};
|
|
278
282
|
//# sourceMappingURL=recuve-table-column.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recuve-table-column.mjs","sources":["../../../../../packages/components/table/src/recuve-table-column.tsx"],"sourcesContent":["import {defineComponent, watch, ref, nextTick, computed} from 'vue'\n\nimport {getPropByPath, dataTransformRod} from '@packages/utils/tools'\nimport {treeNode, allowDrop, checkTree, nodeDragEnd, allShow, treeProps} from '@packages/components/table/hooks'\nimport {Setting, ArrowDown} from '@element-plus/icons-vue'\nimport type {TableColumnCtx} from 'element-plus'\n\n\nimport type Node from 'element-plus/es/components/tree/src/model/node'\nimport type {\n RecuveTableColumnProps,\n RewriteTableProps,\n RewriteTableColumnCtx,\n OperationsProps\n} from '@packages/components/table/types/index'\n\nimport type {PropType} from 'vue'\n\nimport type {ElSelect} from 'element-plus'\n\n\nconst filterColumn = (column: any) => {\n const obj: any = {}\n for (const prop in column) {\n if (prop !== 'children') {\n obj[prop] = column[prop]\n }\n }\n return obj\n}\n\nconst mapWidth: Record<string, any> = {\n index: 60,\n selection: 40,\n expand: 40\n}\n\n\nexport default defineComponent({\n name: 'dinert-recuve-table-column',\n props: {\n onlyClass: {\n type: String,\n default: ''\n },\n popoverValue: {\n type: Boolean,\n default: false\n },\n table: {\n type: Object as PropType<RewriteTableProps>,\n },\n tableColumns: {\n type: Array as PropType<RewriteTableColumnCtx[]>,\n default: () => ([])\n },\n defaultCheckedKeys: {\n type: Array,\n default: () => ([])\n }\n },\n emits: ['CheckedChange'],\n setup(props, {emit}) {\n const selectTable = ref<InstanceType<typeof ElSelect>>()\n\n watch(() => props.table?.key, () => {\n nextTick(() => {\n selectTable.value && treeNode(selectTable.value, props.table?.tableColumns)\n })\n }, {\n immediate: true\n })\n const settingRender = (props: RecuveTableColumnProps) => {\n return (\n <el-popover\n value={props.popoverValue}\n v-slots={\n {\n default: () => (\n <ul class=\"el-popover-classify\">\n <li>\n <el-button class=\"allSelect\" link\n type={'primary'} onClick={async () => allShow(selectTable.value, props.table?.tableColumns || [])}\n >全选</el-button>\n </li>\n <el-tree\n ref={selectTable}\n draggable\n data={props.table?.tableColumns}\n default-expand-all\n defaultCheckedKeys={props.defaultCheckedKeys}\n show-checkbox\n node-key={'prop'}\n props={treeProps}\n allowDrop={allowDrop}\n onCheckChange={async (data: Node, checked: boolean, childChecked: boolean) => {\n // eslint-disable-next-line @typescript-eslint/await-thenable\n await checkTree(data, checked, childChecked)\n emit('CheckedChange', data, checked, childChecked)\n }}\n onNodeDragEnd={(currentNode: Node, targetNode: Node) => nodeDragEnd(currentNode, targetNode, (selectTable.value as any))}\n v-slots={\n {\n default: ({data}: {data: Node}) => (\n <div class=\"text-dot tree-item\">\n <el-tooltip content={data.label}\n placement={'top'}\n disabled={data.label && data.label.length < 8}\n v-slots={\n {\n default: () => (<span>{ data.label }</span>)\n }\n }\n >\n </el-tooltip>\n </div>\n )\n }\n }\n >\n\n </el-tree>\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 const moreRender = (column: RewriteTableColumnCtx, _this: any, {\n value,\n scope,\n isSlotValue,\n slotValue\n }: any) => {\n const itemOperations = column.operations || {}\n const operations = computed(() => {\n let index = 0\n const result: any = []\n Object.keys((itemOperations)).forEach(key => {\n const tempObj = itemOperations[key]\n if ((typeof tempObj.show !== 'function' && [true, undefined].includes(tempObj.show))\n || (typeof tempObj.show === 'function' && [true, undefined].includes(tempObj.show(scope, column, tempObj)))\n ) {\n result.push({\n key: key,\n ...tempObj,\n sort: typeof tempObj.sort === 'undefined' ? index : tempObj.sort,\n })\n }\n\n index += 10\n })\n\n result.sort((a: any, b: any) => {\n return a.sort - b.sort\n })\n return result\n })\n let maxOperations = 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\n if (operations.value && operations.value.length) {\n return (\n <>\n {defaultFunctions.value.map((item2: OperationsProps) => {\n const message = typeof item2.message === 'function' ? item2.message(scope, column, item2) : item2.message\n\n\n if (item2.key === 'delete' || item2.second) {\n return (\n <el-popconfirm title={item2.key === 'delete' ? '是否删除该数据?' : '二次确认'} {...{...item2.confirm}} onConfirm={() => item2.click && item2.click(scope, column, item2)}>\n {{\n reference: () => {\n return (<el-button {...{\n ...item2,\n type: item2.type || item2.key === 'delete' ? 'danger' : 'primary',\n link: item2.link === undefined ? true : item2.link\n }}\n key={(item2 as any).key}>\n {message}\n </el-button>)\n }\n }}\n </el-popconfirm>\n\n )\n }\n return (<el-button {...{\n ...item2,\n type: item2.type || 'primary',\n link: item2.link === undefined ? true : item2.link\n }}\n onClick={() => item2.click && item2.click(scope, column, item2)}\n key={(item2 as any).key}>\n {message}\n </el-button>)\n\n })}\n\n {(seniorFunctions.value.length && operations.value.length > maxOperations\n && <el-dropdown teleported={true}\n onCommand={(item: any) => (item.click && item.click(scope, column, item))}\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\n return (\n <el-dropdown-menu>\n {\n seniorFunctions.value.map((item: any) => {\n const message = typeof item.message === 'function' ? item.message(scope, column, item) : item.message\n\n return (\n <el-dropdown-item command={item}>{message}</el-dropdown-item>\n )\n })\n }\n </el-dropdown-menu>\n )\n }\n }}>\n\n </el-dropdown>) || null\n\n }\n </>\n )\n }\n return <div class=\"cell-item-text\">{ (isSlotValue && slotValue) || value}</div>\n }\n\n return {\n settingRender,\n moreRender\n }\n },\n render() {\n const solts = this.$slots\n const defaultSlot = solts.default\n const headerSlot = solts.header\n return (\n <>\n {\n // eslint-disable-next-line array-callback-return, consistent-return\n this.tableColumns && this.tableColumns.map(item => {\n let show = typeof item.show === 'function' ? item.show(item) : item.show\n show = show === undefined || show === true\n const checked = item.checked === undefined || item.checked === true\n const custom = !['index', 'selection', 'expand'].includes((item.type as string))\n const fixed = item.prop === 'operations' && item.fixed === undefined ? 'right' : item.fixed\n const showOverflowTooltip = item.showOverflowTooltip === undefined && item.prop !== 'operations' ? true : item.showOverflowTooltip\n const className = `${item.prop || ''} ${item.className || ''} ${item.setting ? 'setting' : ''}`\n let align = item.prop === 'operations' && item.align === undefined ? 'center' : item.align\n let width = item.prop === 'operations' && item.width === undefined ? 200 : item.width\n const formatter = item.formatter && typeof item.formatter === 'function'\n const noChildItem = filterColumn(item)\n const propLowerCase = item.prop?.toLocaleLowerCase()\n if (propLowerCase?.includes('time')) {\n width = width ? width : 170\n } else if (propLowerCase?.includes('status') || propLowerCase?.includes('state')) {\n width = width ? width : 80\n align = item.align || 'center'\n }\n\n if (show && checked && custom) {\n return (\n <el-table-column\n {...noChildItem}\n key={item.prop}\n fixed={fixed}\n show-overflow-tooltip={showOverflowTooltip}\n className={className}\n width={width}\n minWidth={item.minWidth}\n align={align}\n v-slots= {{\n default: (scope: any) => {\n const deepValue = getPropByPath(scope.row, item.prop || '')\n const value = dataTransformRod(deepValue, this.table?.errData)\n\n const slotValue = defaultSlot?.({...scope, prop: item.prop})\n const isSlotValue = slotValue && slotValue[0] && slotValue[0].children\n\n if (formatter) {\n const htmlValue = item.formatter && item.formatter(scope, (item as TableColumnCtx<any>), deepValue, scope.$index)\n\n return (\n <>\n {isSlotValue\n ? <div class=\"cell-item\">{ defaultSlot?.({...scope, prop: item.prop})}</div>\n : <div class=\"cell-item\" v-dompurify-html={htmlValue}></div>}\n\n <dinert-recuve-table-column table={this.table}\n key={item.prop}\n tableColumns={item.children}\n popover-value={this.popoverValue}\n only-class={this.onlyClass}\n v-slots={solts}\n >\n </dinert-recuve-table-column>\n </>\n )\n } else {\n\n return (\n <>\n <div class=\"cell-item\">\n {this.moreRender(item, this, {\n value,\n scope,\n isSlotValue,\n slotValue\n })}\n </div>\n <dinert-recuve-table-column table={this.table}\n key={item.prop}\n tableColumns={item.children}\n popover-value={this.popoverValue}\n only-class={this.onlyClass}\n v-slots={solts}\n >\n </dinert-recuve-table-column>\n </>\n )\n }\n },\n header: (scope: any) => {\n const slotValue = headerSlot?.({...scope, data: item, prop: item.prop})\n const isSlotValue = slotValue && slotValue[0] && slotValue[0].children\n if (headerSlot) {\n return (\n <> {<span>{isSlotValue ? headerSlot?.({...scope, data: item, prop: item.prop}) : scope.column.label}</span>}\n {item.setting && this.table?.setting !== false && this.settingRender((this as RecuveTableColumnProps))}\n </>\n )\n } else {\n return (\n <>\n <span>{scope.column.label}</span>\n {item.setting && this.table?.setting !== false && this.settingRender(this as RecuveTableColumnProps)}\n </>\n )\n }\n }\n }}\n >\n\n\n </el-table-column>\n )\n } else if (show && checked) {\n const align = item.align === undefined ? 'center' : 'left'\n const width = item.width === undefined ? mapWidth[item.type || ''] || 60 : item.width\n\n return (<el-table-column\n {...item}\n key={item.prop}\n fixed={fixed}\n align={align}\n reserve-selection={item.reserveSelection}\n width={width}\n v-slots={this.$slots}\n >\n </el-table-column>)\n }\n\n })\n }\n\n </>\n )\n }\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","filterColumn","column","obj","prop","mapWidth","index","selection","expand","defineComponent","name","props","onlyClass","type","String","default","popoverValue","Boolean","table","tableColumns","Array","defaultCheckedKeys","emits","setup","emit","selectTable","ref","watch","key","nextTick","value","treeNode","immediate","settingRender","_createVNode","_resolveComponent","allShow","_createTextVNode","treeProps","allowDrop","data","checked","childChecked","checkTree","onNodeDragEnd","currentNode","targetNode","nodeDragEnd","label","length","reference","Setting","moreRender","_this","scope","isSlotValue","slotValue","itemOperations","operations","computed","result","keys","forEach","tempObj","show","undefined","includes","push","sort","a","b","maxOperations","defaultFunctions","slice","seniorFunctions","_Fragment","map","item2","message","second","_mergeProps","confirm","onConfirm","click","link","onClick","item","ArrowDown","dropdown","_slot","render","solts","$slots","defaultSlot","headerSlot","header","custom","fixed","showOverflowTooltip","className","setting","align","width","formatter","noChildItem","propLowerCase","toLocaleLowerCase","minWidth","deepValue","getPropByPath","row","dataTransformRod","_a","errData","children","htmlValue","$index","_withDirectives","_resolveDirective","_b","reserveSelection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recuve-table-column.mjs","sources":["../../../../../packages/components/table/src/recuve-table-column.tsx"],"sourcesContent":["import {defineComponent, watch, ref, nextTick, computed} from 'vue'\n\nimport {getPropByPath, dataTransformRod} from '@packages/utils/tools'\nimport {treeNode, allowDrop, checkTree, nodeDragEnd, allShow, treeProps} from '@packages/components/table/hooks'\nimport {Setting, ArrowDown} from '@element-plus/icons-vue'\nimport type {TableColumnCtx} from 'element-plus'\nimport {buildVueDompurifyHTMLDirective} from 'vue-dompurify-html'\n\n\nimport type Node from 'element-plus/es/components/tree/src/model/node'\nimport type {\n RecuveTableColumnProps,\n RewriteTableProps,\n RewriteTableColumnCtx,\n OperationsProps\n} from '@packages/components/table/types/index'\n\nimport type {PropType} from 'vue'\n\nimport type {ElSelect} from 'element-plus'\n\n\nconst filterColumn = (column: any) => {\n const obj: any = {}\n for (const prop in column) {\n if (prop !== 'children') {\n obj[prop] = column[prop]\n }\n }\n return obj\n}\n\nconst mapWidth: Record<string, any> = {\n index: 60,\n selection: 40,\n expand: 40\n}\n\nconst DompurifyHtml = buildVueDompurifyHTMLDirective({})\n\n\nexport default defineComponent({\n name: 'dinert-recuve-table-column',\n props: {\n onlyClass: {\n type: String,\n default: ''\n },\n popoverValue: {\n type: Boolean,\n default: false\n },\n table: {\n type: Object as PropType<RewriteTableProps>,\n },\n tableColumns: {\n type: Array as PropType<RewriteTableColumnCtx[]>,\n default: () => ([])\n },\n defaultCheckedKeys: {\n type: Array,\n default: () => ([])\n }\n },\n directives: {\n DompurifyHtml: DompurifyHtml\n },\n emits: ['CheckedChange'],\n setup(props, {emit}) {\n const selectTable = ref<InstanceType<typeof ElSelect>>()\n\n watch(() => props.table?.key, () => {\n nextTick(() => {\n selectTable.value && treeNode(selectTable.value, props.table?.tableColumns)\n })\n }, {\n immediate: true\n })\n const settingRender = (props: RecuveTableColumnProps) => {\n return (\n <el-popover\n value={props.popoverValue}\n v-slots={\n {\n default: () => (\n <ul class=\"el-popover-classify\">\n <li>\n <el-button class=\"allSelect\" link\n type={'primary'} onClick={async () => allShow(selectTable.value, props.table?.tableColumns || [])}\n >全选</el-button>\n </li>\n <el-tree\n ref={selectTable}\n draggable\n data={props.table?.tableColumns}\n default-expand-all\n defaultCheckedKeys={props.defaultCheckedKeys}\n show-checkbox\n node-key={'prop'}\n props={treeProps}\n allowDrop={allowDrop}\n onCheckChange={async (data: Node, checked: boolean, childChecked: boolean) => {\n // eslint-disable-next-line @typescript-eslint/await-thenable\n await checkTree(data, checked, childChecked)\n emit('CheckedChange', data, checked, childChecked)\n }}\n onNodeDragEnd={(currentNode: Node, targetNode: Node) => nodeDragEnd(currentNode, targetNode, (selectTable.value as any))}\n v-slots={\n {\n default: ({data}: {data: Node}) => (\n <div class=\"text-dot tree-item\">\n <el-tooltip content={data.label}\n placement={'top'}\n disabled={data.label && data.label.length < 8}\n v-slots={\n {\n default: () => (<span>{ data.label }</span>)\n }\n }\n >\n </el-tooltip>\n </div>\n )\n }\n }\n >\n\n </el-tree>\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 const moreRender = (column: RewriteTableColumnCtx, _this: any, {\n value,\n scope,\n isSlotValue,\n slotValue\n }: any) => {\n const itemOperations = column.operations || {}\n const operations = computed(() => {\n let index = 0\n const result: any = []\n Object.keys((itemOperations)).forEach(key => {\n const tempObj = itemOperations[key]\n if ((typeof tempObj.show !== 'function' && [true, undefined].includes(tempObj.show))\n || (typeof tempObj.show === 'function' && [true, undefined].includes(tempObj.show(scope, column, tempObj)))\n ) {\n result.push({\n key: key,\n ...tempObj,\n sort: typeof tempObj.sort === 'undefined' ? index : tempObj.sort,\n })\n }\n\n index += 10\n })\n\n result.sort((a: any, b: any) => {\n return a.sort - b.sort\n })\n return result\n })\n let maxOperations = 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\n if (operations.value && operations.value.length) {\n return (\n <>\n {defaultFunctions.value.map((item2: OperationsProps) => {\n const message = typeof item2.message === 'function' ? item2.message(scope, column, item2) : item2.message\n\n\n if (item2.key === 'delete' || item2.second) {\n return (\n <el-popconfirm title={item2.key === 'delete' ? '是否删除该数据?' : '二次确认'} {...{...item2.confirm}} onConfirm={() => item2.click && item2.click(scope, column, item2)}>\n {{\n reference: () => {\n return (<el-button {...{\n ...item2,\n type: item2.type || item2.key === 'delete' ? 'danger' : 'primary',\n link: item2.link === undefined ? true : item2.link\n }}\n key={(item2 as any).key}>\n {message}\n </el-button>)\n }\n }}\n </el-popconfirm>\n\n )\n }\n return (<el-button {...{\n ...item2,\n type: item2.type || 'primary',\n link: item2.link === undefined ? true : item2.link\n }}\n onClick={() => item2.click && item2.click(scope, column, item2)}\n key={(item2 as any).key}>\n {message}\n </el-button>)\n\n })}\n\n {(seniorFunctions.value.length && operations.value.length > maxOperations\n && <el-dropdown teleported={true}\n onCommand={(item: any) => (item.click && item.click(scope, column, item))}\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\n return (\n <el-dropdown-menu>\n {\n seniorFunctions.value.map((item: any) => {\n const message = typeof item.message === 'function' ? item.message(scope, column, item) : item.message\n\n return (\n <el-dropdown-item command={item}>{message}</el-dropdown-item>\n )\n })\n }\n </el-dropdown-menu>\n )\n }\n }}>\n\n </el-dropdown>) || null\n\n }\n </>\n )\n }\n return <div class=\"cell-item-text\">{ (isSlotValue && slotValue) || value}</div>\n }\n\n return {\n settingRender,\n moreRender\n }\n },\n render() {\n const solts = this.$slots\n const defaultSlot = solts.default\n const headerSlot = solts.header\n return (\n <>\n {\n // eslint-disable-next-line array-callback-return, consistent-return\n this.tableColumns && this.tableColumns.map(item => {\n let show = typeof item.show === 'function' ? item.show(item) : item.show\n show = show === undefined || show === true\n const checked = item.checked === undefined || item.checked === true\n const custom = !['index', 'selection', 'expand'].includes((item.type as string))\n const fixed = item.prop === 'operations' && item.fixed === undefined ? 'right' : item.fixed\n const showOverflowTooltip = item.showOverflowTooltip === undefined && item.prop !== 'operations' ? true : item.showOverflowTooltip\n const className = `${item.prop || ''} ${item.className || ''} ${item.setting ? 'setting' : ''}`\n let align = item.prop === 'operations' && item.align === undefined ? 'center' : item.align\n let width = item.prop === 'operations' && item.width === undefined ? 200 : item.width\n const formatter = item.formatter && typeof item.formatter === 'function'\n const noChildItem = filterColumn(item)\n const propLowerCase = item.prop?.toLocaleLowerCase()\n if (propLowerCase?.includes('time')) {\n width = width ? width : 170\n } else if (propLowerCase?.includes('status') || propLowerCase?.includes('state')) {\n width = width ? width : 100\n align = item.align || 'center'\n }\n\n if (show && checked && custom) {\n return (\n <el-table-column\n {...noChildItem}\n key={item.prop}\n fixed={fixed}\n show-overflow-tooltip={showOverflowTooltip}\n className={className}\n width={width}\n minWidth={item.minWidth}\n align={align}\n v-slots= {{\n default: (scope: any) => {\n const deepValue = getPropByPath(scope.row, item.prop || '')\n const value = dataTransformRod(deepValue, this.table?.errData)\n\n const slotValue = defaultSlot?.({...scope, prop: item.prop})\n const isSlotValue = slotValue && slotValue[0] && slotValue[0].children\n\n if (formatter) {\n let htmlValue = item.formatter && item.formatter(scope, (item as TableColumnCtx<any>), deepValue, scope.$index)\n htmlValue = dataTransformRod(htmlValue, this.table?.errData)\n return (\n <>\n {isSlotValue\n ? <div class=\"cell-item\">{ defaultSlot?.({...scope, prop: item.prop})}</div>\n : <div class=\"cell-item\" v-dompurify-html={htmlValue}></div>}\n\n <dinert-recuve-table-column table={this.table}\n key={item.prop}\n tableColumns={item.children}\n popover-value={this.popoverValue}\n only-class={this.onlyClass}\n v-slots={solts}\n >\n </dinert-recuve-table-column>\n </>\n )\n } else {\n\n return (\n <>\n <div class=\"cell-item\">\n {this.moreRender(item, this, {\n value,\n scope,\n isSlotValue,\n slotValue\n })}\n </div>\n <dinert-recuve-table-column table={this.table}\n key={item.prop}\n tableColumns={item.children}\n popover-value={this.popoverValue}\n only-class={this.onlyClass}\n v-slots={solts}\n >\n </dinert-recuve-table-column>\n </>\n )\n }\n },\n header: (scope: any) => {\n const slotValue = headerSlot?.({...scope, data: item, prop: item.prop})\n const isSlotValue = slotValue && slotValue[0] && slotValue[0].children\n if (headerSlot) {\n return (\n <> {<span>{isSlotValue ? headerSlot?.({...scope, data: item, prop: item.prop}) : scope.column.label}</span>}\n {item.setting && this.table?.setting !== false && this.settingRender((this as RecuveTableColumnProps))}\n </>\n )\n } else {\n return (\n <>\n <span>{scope.column.label}</span>\n {item.setting && this.table?.setting !== false && this.settingRender(this as RecuveTableColumnProps)}\n </>\n )\n }\n }\n }}\n >\n\n\n </el-table-column>\n )\n } else if (show && checked) {\n const align = item.align === undefined ? 'center' : 'left'\n const width = item.width === undefined ? mapWidth[item.type || ''] || 60 : item.width\n\n return (<el-table-column\n {...item}\n key={item.prop}\n fixed={fixed}\n align={align}\n reserve-selection={item.reserveSelection}\n width={width}\n v-slots={this.$slots}\n >\n </el-table-column>)\n }\n\n })\n }\n\n </>\n )\n }\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","filterColumn","column","obj","prop","mapWidth","index","selection","expand","DompurifyHtml","buildVueDompurifyHTMLDirective","defineComponent","name","props","onlyClass","type","String","default","popoverValue","Boolean","table","tableColumns","Array","defaultCheckedKeys","directives","emits","setup","emit","selectTable","ref","watch","key","nextTick","value","treeNode","immediate","settingRender","_createVNode","_resolveComponent","allShow","_createTextVNode","treeProps","allowDrop","data","checked","childChecked","checkTree","onNodeDragEnd","currentNode","targetNode","nodeDragEnd","label","length","reference","Setting","moreRender","_this","scope","isSlotValue","slotValue","itemOperations","operations","computed","result","keys","forEach","tempObj","show","undefined","includes","push","sort","a","b","maxOperations","defaultFunctions","slice","seniorFunctions","_Fragment","map","item2","message","second","_mergeProps","confirm","onConfirm","click","link","onClick","item","ArrowDown","dropdown","_slot","render","solts","$slots","defaultSlot","headerSlot","header","custom","fixed","showOverflowTooltip","className","setting","align","width","formatter","noChildItem","propLowerCase","toLocaleLowerCase","minWidth","deepValue","getPropByPath","row","dataTransformRod","_a","errData","children","htmlValue","$index","_b","_withDirectives","_resolveDirective","reserveSelection"],"mappings":";;;;;AAMiE,SAAAA,EAAAC,GAAA;AAAA,SAAA,OAAAA,KAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,CAAA,MAAAK,qBAAAA,CAAAA,EAAAL,CAAA;AAAA;AAgBjE,MAAMM,IAAgBC,CAAAA,MAAgB;AAClC,QAAMC,IAAW,CAAA;AACjB,aAAWC,KAAQF;AACf,IAAIE,MAAS,eACTD,EAAIC,CAAI,IAAIF,EAAOE,CAAI;AAG/B,SAAOD;AACX,GAEME,IAAgC;AAAA,EAClCC,OAAO;AAAA,EACPC,WAAW;AAAA,EACXC,QAAQ;AACZ,GAEMC,IAAgBC,EAA+B,CAAA,CAAE,GAGxCC,uBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,WAAW;AAAA,MACPC,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACZ;AAAA,IACDC,cAAc;AAAA,MACVH,MAAMI;AAAAA,MACNF,SAAS;AAAA,IACZ;AAAA,IACDG,OAAO;AAAA,MACHL,MAAMnB;AAAAA,IACT;AAAA,IACDyB,cAAc;AAAA,MACVN,MAAMO;AAAAA,MACNL,SAASA,MAAO,CAAA;AAAA,IACnB;AAAA,IACDM,oBAAoB;AAAA,MAChBR,MAAMO;AAAAA,MACNL,SAASA,MAAO,CAAA;AAAA,IACpB;AAAA,EACH;AAAA,EACDO,YAAY;AAAA,IACRf,eAAeA;AAAAA,EAClB;AAAA,EACDgB,OAAO,CAAC,eAAe;AAAA,EACvBC,MAAMb,GAAO;AAAA,IAACc,MAAAA;AAAAA,EAAI,GAAG;AACjB,UAAMC,IAAcC;AAEpBC,WAAAA,EAAM,MAAMjB;;AAAAA,cAAAA,IAAAA,EAAMO,UAANP,gBAAAA,EAAakB;AAAAA,OAAK,MAAM;AAChCC,MAAAA,EAAS,MAAM;;AACXJ,QAAAA,EAAYK,SAASC,EAASN,EAAYK,QAAOpB,IAAAA,EAAMO,UAANP,gBAAAA,EAAaQ,YAAY;AAAA,MAC9E,CAAC;AAAA,IACL,GAAG;AAAA,MACCc,WAAW;AAAA,IACf,CAAC,GA0LM;AAAA,MACHC,eA1LmBvB,CAAAA,MACnBwB,EAAAC,EAAA,YAAA,GAAA;AAAA,QAAA,OAEezB,EAAMK;AAAAA,SAET;AAAA,QACID,SAASA,MAAAA;;AAAAoB,iBAAAA,EAAA,MAAA;AAAA,YAAA,OAAA;AAAA,UAAA,GAAA,CAAAA,EAAA,MAAA,MAAA,CAAAA,EAAAC,EAAA,WAAA,GAAA;AAAA,YAAA,OAAA;AAAA,YAAA,MAAA;AAAA,YAAA,MAIa;AAAA,YAAS,SAAW,YAAA;;AAAYC,qBAAAA,EAAQX,EAAYK,SAAOpB,IAAAA,EAAMO,UAANP,gBAAAA,EAAaQ,iBAAgB,EAAE;AAAA;AAAA,UAAC,GAAA;AAAA,YAAAJ,SAAAA,MAAA,CAAAuB,EAAA,IAAA,CAAA;AAAA,UAAAH,CAAAA,CAAAA,CAAAA,GAAAA,EAAAC,EAAA,SAAA,GAAA;AAAA,YAAA,KAIhGV;AAAAA,YAAW,WAAA;AAAA,YAAA,OAEVf,IAAAA,EAAMO,UAANP,gBAAAA,EAAaQ;AAAAA,YAAY,sBAAA;AAAA,YAAA,oBAEXR,EAAMU;AAAAA,YAAkB,iBAAA;AAAA,YAAA,YAElC;AAAA,YAAM,OACTkB;AAAAA,YAAS,WACLC;AAAAA,YAAS,eACL,OAAOC,GAAYC,GAAkBC,MAA0B;AAE1E,oBAAMC,EAAUH,GAAMC,GAASC,CAAY,GAC3ClB,EAAK,iBAAiBgB,GAAMC,GAASC,CAAY;AAAA,YACpD;AAAA,YAAA,eACcE,CAACC,GAAmBC,MAAqBC,EAAYF,GAAaC,GAAarB,EAAYK,KAAa;AAAA,aAEnH;AAAA,YACIhB,SAASA,CAAC;AAAA,cAAC0B,MAAAA;AAAAA,YAAkB,MAACN,EAAA,OAAA;AAAA,cAAA,OAAA;AAAA,YAAAA,GAAAA,CAAAA,EAAAC,EAAA,YAAA,GAAA;AAAA,cAAA,SAEDK,EAAKQ;AAAAA,cAAK,WAChB;AAAA,cAAK,UACNR,EAAKQ,SAASR,EAAKQ,MAAMC,SAAS;AAAA,eAExC;AAAA,cACInC,SAASA,MAAAoB,EAAeM,QAAAA,MAAAA,CAAAA,EAAKQ,KAAK,CAAA;AAAA,YACrC,CAAA,CAAA,CAAA;AAAA,UAMpB,CAAA,CAMhB,CAAA;AAAA;AAAA,QACDE,WAAWA,MAAAhB,EAAAC,EAAA,SAAA,GAAA;AAAA,UAAA,OAAA;AAAA,QAAA,GAAA;AAAA,UAAArB,SAAAA,MAAAoB,CAAAA,EAAAiB,GAAA,MAAA,IAAA,CAAA;AAAA,QAAA,CAAA;AAAA,OAMd;AAAA,MAiIbC,YA3HeA,CAACrD,GAA+BsD,GAAY;AAAA,QAC3DvB,OAAAA;AAAAA,QACAwB,OAAAA;AAAAA,QACAC,aAAAA;AAAAA,QACAC,WAAAA;AAAAA,MACC,MAAM;AACP,cAAMC,IAAiB1D,EAAO2D,cAAc,IACtCA,IAAaC,EAAS,MAAM;AAC9B,cAAIxD,IAAQ;AACZ,gBAAMyD,IAAc,CAAA;AACpBnE,wBAAOoE,KAAMJ,CAAe,EAAEK,QAAQlC,CAAAA,MAAO;AACzC,kBAAMmC,IAAUN,EAAe7B,CAAG;AAClC,aAAK,OAAOmC,EAAQC,QAAS,cAAc,CAAC,IAAMC,MAAS,EAAEC,SAASH,EAAQC,IAAI,KAC1E,OAAOD,EAAQC,QAAS,cAAc,CAAC,IAAMC,MAAS,EAAEC,SAASH,EAAQC,KAAKV,GAAOvD,GAAQgE,CAAO,CAAC,MAEzGH,EAAOO,KAAK;AAAA,cACRvC,KAAKA;AAAAA,cACL,GAAGmC;AAAAA,cACHK,MAAM,OAAOL,EAAQK,OAAS,MAAcjE,IAAQ4D,EAAQK;AAAAA,YAChE,CAAC,GAGLjE,KAAS;AAAA,UACb,CAAC,GAEDyD,EAAOQ,KAAK,CAACC,GAAQC,MACVD,EAAED,OAAOE,EAAEF,IACrB,GACMR;AAAAA,QACX,CAAC;AACD,YAAIW,IAAgBxE,EAAOwE,iBAAiB;AAE5CA,QAAAA,IADsBb,EAAW5B,MAAMmB,SACPsB,IAAgBA,IAAgB,IAAIA;AAEpE,cAAMC,IAAmBb,EAAS,MACjBD,EAAW5B,MAAM2C,MAAM,GAAGF,CAAa,CAEvD,GAEKG,IAAkBf,EAAS,MAChBD,EAAW5B,MAAM2C,MAAMF,GAAeb,EAAW5B,MAAMmB,MAAM,CAE7E;AAGD,eAAIS,EAAW5B,SAAS4B,EAAW5B,MAAMmB,SACrCf,EAAAyC,GAESH,MAAAA,CAAAA,EAAiB1C,MAAM8C,IAAKC,CAAAA,MAA2B;AACpD,gBAAMC,IAAU,OAAOD,EAAMC,WAAY,aAAaD,EAAMC,QAAQxB,GAAOvD,GAAQ8E,CAAK,IAAIA,EAAMC;AAGlG,iBAAID,EAAMjD,QAAQ,YAAYiD,EAAME,SAChC7C,EAAAC,EAAA,eAAA,GAAA6C,EAAA;AAAA,YAAA,OAC0BH,EAAMjD,QAAQ,WAAW,aAAa;AAAA,UAAM,GAAA;AAAA,YAAO,GAAGiD,EAAMI;AAAAA,UAAO,GAAA;AAAA,YAAA,WAAcC,MAAML,EAAMM,SAASN,EAAMM,MAAM7B,GAAOvD,GAAQ8E,CAAK;AAAA,UAAC,CAAA,GAAA;AAAA,YAErJ3B,WAAWA,MACPhB,EAAAC,EAAA,WAAA,GAAA6C,EAAA;AAAA,cACI,GAAGH;AAAAA,cACHjE,MAAMiE,EAAMjE,QAAQiE,EAAMjD,QAAQ,WAAW,WAAW;AAAA,cACxDwD,MAAMP,EAAMO,SAASnB,SAAY,KAAOY,EAAMO;AAAAA,YAAI,GAAA;AAAA,cAAA,KAEhDP,EAAcjD;AAAAA,YAAG,CAAA,GAAArC,EAClBuF,CAAO,IAAPA,IAAO;AAAA,cAAAhE,SAAAA,MAAA,CAAPgE,CAAO;AAAA,YAAA,CAAA;AAAA,UAEf,CAAA,IAMjB5C,EAAAC,EAAA,WAAA,GAAA6C,EAAA;AAAA,YACI,GAAGH;AAAAA,YACHjE,MAAMiE,EAAMjE,QAAQ;AAAA,YACpBwE,MAAMP,EAAMO,SAASnB,SAAY,KAAOY,EAAMO;AAAAA,UAAI,GAAA;AAAA,YAAA,SAE7CC,MAAMR,EAAMM,SAASN,EAAMM,MAAM7B,GAAOvD,GAAQ8E,CAAK;AAAA,YAAC,KACzDA,EAAcjD;AAAAA,UAAG,CAAA,GAAArC,EAClBuF,CAAO,IAAPA,IAAO;AAAA,YAAAhE,SAAAA,MAAA,CAAPgE,CAAO;AAAA,UAAA,CAAA;AAAA,QAGf,CAAA,GAECJ,EAAgB5C,MAAMmB,UAAUS,EAAW5B,MAAMmB,SAASsB,KAAarC,EAAAC,EAAA,aAAA,GAAA;AAAA,UAAA,YAC7C;AAAA,UAAI,WAChBmD,CAAAA,MAAeA,EAAKH,SAASG,EAAKH,MAAM7B,GAAOvD,GAAQuF,CAAI;AAAA,WAC7D;AAAA,UACNxE,SAASA,MACLoB,EAAAC,EAAA,WAAA,GAAA;AAAA,YAAA,MAAA;AAAA,YAAA,MAAA;AAAA,YAAA,MAAA;AAAA,UAAA,GAAA;AAAA,YAAArB,SAAAA,MAAA,CAAAuB,EAAAH,IAAAA,GAAAA,EAAAC,EAAA,SAAA,GAAA,MAAA;AAAA,cAAArB,SAAAA,MAAAoB,CAAAA,EAAAqD,GAAA,MAAA,IAAA,CAAA;AAAA,YAAA,CAAA,CAAA;AAAA,UAAA,CAAA;AAAA,UAMJC,UAAUA,MAAM;AAAA,gBAAAC;AAEZ,mBAAAvD,EAAAC,EAAA,kBAAA,GAAA,MAAA5C,EAAAkG,IAGYf,EAAgB5C,MAAM8C,IAAKU,CAAAA,MAAc;AACrC,oBAAMR,IAAU,OAAOQ,EAAKR,WAAY,aAAaQ,EAAKR,QAAQxB,GAAOvD,GAAQuF,CAAI,IAAIA,EAAKR;AAE9F,qBAAA5C,EAAAC,EAAA,kBAAA,GAAA;AAAA,gBAAA,SAC+BmD;AAAAA,cAAI,GAAA/F,EAAGuF,CAAO,IAAPA,IAAO;AAAA,gBAAAhE,SAAAA,MAAA,CAAPgE,CAAO;AAAA,cAAA,CAAA;AAAA,aAEhD,CAAC,IAAAW,IAAA;AAAA,cAAA3E,SAAAA,MAAA,CAAA2E,CAAA;AAAA,YAAA,CAAA;AAAA,UAIlB;AAAA,SACH,KAEc,IAAI,CAAA,IAMnCvD,EAAA,OAAA;AAAA,UAAA,OAAA;AAAA,QAAA,GAAA,CAAsCqB,KAAeC,KAAc1B,CAAK,CAAA;AAAA;;EAO/E;AAAA,EACD4D,SAAS;AACL,UAAMC,IAAQ,KAAKC,QACbC,IAAcF,EAAM7E,SACpBgF,IAAaH,EAAMI;AACzB,WAAA7D,EAAAyC,GAAA,MAAA;AAAA;AAAA,MAIY,KAAKzD,gBAAgB,KAAKA,aAAa0D,IAAIU,CAAAA,MAAQ;;AAC/C,YAAItB,IAAO,OAAOsB,EAAKtB,QAAS,aAAasB,EAAKtB,KAAKsB,CAAI,IAAIA,EAAKtB;AACpEA,QAAAA,IAAOA,MAASC,UAAaD,MAAS;AACtC,cAAMvB,IAAU6C,EAAK7C,YAAYwB,UAAaqB,EAAK7C,YAAY,IACzDuD,IAAS,CAAC,CAAC,SAAS,aAAa,QAAQ,EAAE9B,SAAUoB,EAAK1E,IAAe,GACzEqF,IAAQX,EAAKrF,SAAS,gBAAgBqF,EAAKW,UAAUhC,SAAY,UAAUqB,EAAKW,OAChFC,IAAsBZ,EAAKY,wBAAwBjC,UAAaqB,EAAKrF,SAAS,eAAe,KAAOqF,EAAKY,qBACzGC,IAAa,GAAEb,EAAKrF,QAAQ,EAAG,IAAGqF,EAAKa,aAAa,EAAG,IAAGb,EAAKc,UAAU,YAAY,EAAG;AAC9F,YAAIC,IAAQf,EAAKrF,SAAS,gBAAgBqF,EAAKe,UAAUpC,SAAY,WAAWqB,EAAKe,OACjFC,IAAQhB,EAAKrF,SAAS,gBAAgBqF,EAAKgB,UAAUrC,SAAY,MAAMqB,EAAKgB;AAChF,cAAMC,IAAYjB,EAAKiB,aAAa,OAAOjB,EAAKiB,aAAc,YACxDC,IAAc1G,EAAawF,CAAI,GAC/BmB,KAAgBnB,IAAAA,EAAKrF,SAALqF,gBAAAA,EAAWoB;AAQjC,YAPID,KAAAA,QAAAA,EAAevC,SAAS,UACxBoC,IAAQA,KAAgB,OACjBG,KAAAA,QAAAA,EAAevC,SAAS,aAAauC,KAAAA,QAAAA,EAAevC,SAAS,cACpEoC,IAAQA,KAAgB,KACxBD,IAAQf,EAAKe,SAAS,WAGtBrC,KAAQvB,KAAWuD;AACnB,iBAAA9D,EAAAC,EAAA6C,iBAAAA,GAAAA,EAEYwB,GAAW;AAAA,YAAA,KACVlB,EAAKrF;AAAAA,YAAI,OACPgG;AAAAA,YAAK,yBACWC;AAAAA,YAAmB,WAC/BC;AAAAA,YAAS,OACbG;AAAAA,YAAK,UACFhB,EAAKqB;AAAAA,YAAQ,OAChBN;AAAAA,WACG,GAAA;AAAA,YACNvF,SAAUwC,CAAAA,MAAe;;AACrB,oBAAMsD,IAAYC,EAAcvD,EAAMwD,KAAKxB,EAAKrF,QAAQ,EAAE,GACpD6B,IAAQiF,EAAiBH,IAAWI,IAAA,KAAK/F,UAAL,gBAAA+F,EAAYC,OAAO,GAEvDzD,IAAYqC,KAAAA,gBAAAA,EAAc;AAAA,gBAAC,GAAGvC;AAAAA,gBAAOrD,MAAMqF,EAAKrF;AAAAA,cAAI,IACpDsD,IAAcC,KAAaA,EAAU,CAAC,KAAKA,EAAU,CAAC,EAAE0D;AAE9D,kBAAIX,GAAW;AACX,oBAAIY,IAAY7B,EAAKiB,aAAajB,EAAKiB,UAAUjD,GAAQgC,GAA8BsB,GAAWtD,EAAM8D,MAAM;AAC9GD,uBAAAA,IAAYJ,EAAiBI,IAAWE,IAAA,KAAKpG,UAAL,gBAAAoG,EAAYJ,OAAO,GAC3D/E,EAAAyC,GAESpB,MAAAA,CAAAA,IAAWrB,EAAA,OAAA;AAAA,kBAAA,OAAA;AAAA,gBAAA,GAAA,CACmB2D,KAAAA,gBAAAA,EAAc;AAAA,kBAAC,GAAGvC;AAAAA,kBAAOrD,MAAMqF,EAAKrF;AAAAA,gBAAK,EAAC,CAAA,IAAAqH,EAAApF,EAAA,OAAA;AAAA,kBAAA,OAAA;AAAA,gBAAA,GAAA,IAAA,GAAA,CAAA,CAAAqF,EAC1BJ,gBAAAA,GAAAA,CAAS,KAAQjF,EAAAC,EAAA,4BAAA,GAAA;AAAA,kBAAA,OAE7B,KAAKlB;AAAAA,kBAAK,KACpCqE,EAAKrF;AAAAA,kBAAI,cACAqF,EAAK4B;AAAAA,kBAAQ,iBACZ,KAAKnG;AAAAA,kBAAY,cACpB,KAAKJ;AAAAA,gBAAS,GACjBgF,CAAK,CAAA,CAAA;AAAA,cAK9B;AAEI,uBAAAzD,EAAAyC,GAAA,MAAA,CAAAzC,EAAA,OAAA;AAAA,kBAAA,OAAA;AAAA,gBAAA,GAAA,CAGa,KAAKkB,WAAWkC,GAAM,MAAM;AAAA,kBACzBxD,OAAAA;AAAAA,kBACAwB,OAAAA;AAAAA,kBACAC,aAAAA;AAAAA,kBACAC,WAAAA;AAAAA,gBACH,CAAA,CAAC,CAAA,GAAAtB,EAAAC,EAAA,4BAAA,GAAA;AAAA,kBAAA,OAE6B,KAAKlB;AAAAA,kBAAK,KACpCqE,EAAKrF;AAAAA,kBAAI,cACAqF,EAAK4B;AAAAA,kBAAQ,iBACZ,KAAKnG;AAAAA,kBAAY,cACpB,KAAKJ;AAAAA,gBAAS,GACjBgF,CAAK,CAAA,CAAA;AAAA,YAMjC;AAAA,YACDI,QAASzC,CAAAA,MAAe;;AACpB,oBAAME,IAAYsC,KAAAA,gBAAAA,EAAa;AAAA,gBAAC,GAAGxC;AAAAA,gBAAOd,MAAM8C;AAAAA,gBAAMrF,MAAMqF,EAAKrF;AAAAA,cAAI,IAC/DsD,IAAcC,KAAaA,EAAU,CAAC,KAAKA,EAAU,CAAC,EAAE0D;AAC9D,qBAAIpB,IACA5D,EAAAyC,GAAAtC,MAAAA,CAAAA,EAAAH,IAAAA,GAAAA,EACgBqB,QAAAA,MAAAA,CAAAA,IAAcuC,KAAAA,gBAAAA,EAAa;AAAA,gBAAC,GAAGxC;AAAAA,gBAAOd,MAAM8C;AAAAA,gBAAMrF,MAAMqF,EAAKrF;AAAAA,mBAASqD,EAAMvD,OAAOiD,KAAK,CAAA,GAC/FsC,EAAKc,aAAWY,IAAA,KAAK/F,UAAL,gBAAA+F,EAAYZ,aAAY,MAAS,KAAKnE,cAAe,IAA+B,CAAC,CAAA,IAI9GC,EAAAyC,GAAA,MAAA,CAAAzC,EAAA,QAAA,MAAA,CAEeoB,EAAMvD,OAAOiD,KAAK,CAAA,GACxBsC,EAAKc,aAAWiB,IAAA,KAAKpG,UAAL,gBAAAoG,EAAYjB,aAAY,MAAS,KAAKnE,cAAc,IAA8B,CAAC,CAAA;AAAA,YAIpH;AAAA,WACH;AAMN,YAAI+B,KAAQvB,GAAS;AACxB,gBAAM4D,IAAQf,EAAKe,UAAUpC,SAAY,WAAW,QAC9CqC,IAAQhB,EAAKgB,UAAUrC,SAAY/D,EAASoF,EAAK1E,QAAQ,EAAE,KAAK,KAAK0E,EAAKgB;AAEhF,iBAAApE,EAAAC,EAAA6C,iBAAAA,GAAAA,EACQM,GAAI;AAAA,YAAA,KACHA,EAAKrF;AAAAA,YAAI,OACPgG;AAAAA,YAAK,OACLI;AAAAA,YAAK,qBACOf,EAAKkC;AAAAA,YAAgB,OACjClB;AAAAA,WACE,GAAA,KAAKV,MAAM;AAAA,QAG5B;AAAA,MAEH,CAAA;AAAA,IAAC,CAAA;AAAA,EAKlB;AACJ,CAAC;"}
|