@touchvue/ui 1.0.0-beta.41 → 1.0.0-beta.42
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/es/components/input/src/input.vue.d.ts +2 -0
- package/es/components/tab/src/tab.vue.d.ts +1 -0
- package/es/components/table/src/table-head.vue.d.ts +4 -0
- package/es/packages/components/input/src/input.vue2.mjs +53 -41
- package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
- package/es/packages/components/tab/src/tab-item.vue2.mjs +11 -2
- package/es/packages/components/tab/src/tab-item.vue2.mjs.map +1 -1
- package/es/packages/components/tab/src/tab.vue2.mjs +10 -1
- package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/table-head.vue2.mjs +56 -11
- package/es/packages/components/table/src/table-head.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/table.vue2.mjs +28 -10
- package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
- package/es/packages/locale/index.mjs +1 -1
- package/es/packages/locale/index.mjs.map +1 -1
- package/lib/components/input/src/input.vue.d.ts +2 -0
- package/lib/components/tab/src/tab.vue.d.ts +1 -0
- package/lib/components/table/src/table-head.vue.d.ts +4 -0
- package/lib/packages/components/input/src/input.vue2.js +53 -41
- package/lib/packages/components/input/src/input.vue2.js.map +1 -1
- package/lib/packages/components/tab/src/tab-item.vue2.js +10 -1
- package/lib/packages/components/tab/src/tab-item.vue2.js.map +1 -1
- package/lib/packages/components/tab/src/tab.vue2.js +25 -16
- package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
- package/lib/packages/components/table/src/table-head.vue2.js +55 -10
- package/lib/packages/components/table/src/table-head.vue2.js.map +1 -1
- package/lib/packages/components/table/src/table.vue2.js +27 -9
- package/lib/packages/components/table/src/table.vue2.js.map +1 -1
- package/lib/packages/locale/index.js +1 -1
- package/lib/packages/locale/index.js.map +1 -1
- package/package.json +1 -1
- package/theme/components/index.css +59 -8
- package/theme/index.css +59 -8
- package/theme/skin/default.css +59 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, createElementVNode, Fragment, renderList, createVNode, normalizeClass, toDisplayString, createCommentVNode, computed } from 'vue';
|
|
1
|
+
import { defineComponent, inject, ref, watch, onMounted, resolveComponent, openBlock, createElementBlock, createElementVNode, Fragment, renderList, createVNode, normalizeClass, toDisplayString, createCommentVNode, computed } from 'vue';
|
|
2
2
|
|
|
3
3
|
const __default__ = defineComponent({
|
|
4
4
|
name: "ToTableHead"
|
|
@@ -11,9 +11,41 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
11
11
|
},
|
|
12
12
|
emits: ["change"],
|
|
13
13
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
14
|
+
const tableRef = inject("TableRef");
|
|
14
15
|
const emit = __emit;
|
|
15
16
|
const props = __props;
|
|
16
17
|
const row = ref(null);
|
|
18
|
+
const sortSet = ref({});
|
|
19
|
+
watch(
|
|
20
|
+
() => props.data,
|
|
21
|
+
(val) => {
|
|
22
|
+
val.forEach((item) => {
|
|
23
|
+
if (item.sortable) {
|
|
24
|
+
sortSet.value[item.prop] = sortSet.value[item.prop] || "";
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
},
|
|
28
|
+
{ deep: true }
|
|
29
|
+
);
|
|
30
|
+
onMounted(() => {
|
|
31
|
+
props.data.forEach((item) => {
|
|
32
|
+
if (item.sortable) {
|
|
33
|
+
sortSet.value[item.prop] = sortSet.value[item.prop] || "";
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
const sortClick = (column) => {
|
|
38
|
+
if (!column.sortable)
|
|
39
|
+
return false;
|
|
40
|
+
if (sortSet.value[column.prop] === "asc") {
|
|
41
|
+
sortSet.value[column.prop] = "desc";
|
|
42
|
+
} else if (sortSet.value[column.prop] === "desc") {
|
|
43
|
+
sortSet.value[column.prop] = "";
|
|
44
|
+
} else {
|
|
45
|
+
sortSet.value[column.prop] = "asc";
|
|
46
|
+
}
|
|
47
|
+
tableRef.handleTheadCellClick(column, sortSet.value[column.prop]);
|
|
48
|
+
};
|
|
17
49
|
const setThClass = (column) => {
|
|
18
50
|
return computed(() => {
|
|
19
51
|
const classes = [];
|
|
@@ -22,6 +54,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
22
54
|
} else if (column.thWrap === false) {
|
|
23
55
|
classes.push("is-nowrap");
|
|
24
56
|
}
|
|
57
|
+
if (sortSet.value[column.prop]) {
|
|
58
|
+
classes.push(`type-${sortSet.value[column.prop]}`);
|
|
59
|
+
}
|
|
25
60
|
return classes;
|
|
26
61
|
});
|
|
27
62
|
};
|
|
@@ -58,16 +93,26 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
58
93
|
"model-value": _ctx.checkedAll,
|
|
59
94
|
onChange: change
|
|
60
95
|
}, null, 8, ["model-value"])
|
|
61
|
-
])) : column._show !== false ? (openBlock(), createElementBlock(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
96
|
+
])) : column._show !== false ? (openBlock(), createElementBlock("th", {
|
|
97
|
+
key: column.prop,
|
|
98
|
+
class: normalizeClass(["to-table-th", setThClass(column).value]),
|
|
99
|
+
onClick: ($event) => sortClick(column)
|
|
100
|
+
}, [
|
|
101
|
+
createElementVNode(
|
|
102
|
+
"span",
|
|
103
|
+
null,
|
|
104
|
+
toDisplayString(column.label),
|
|
105
|
+
1
|
|
106
|
+
/* TEXT */
|
|
107
|
+
),
|
|
108
|
+
column.sortable ? (openBlock(), createElementBlock("span", {
|
|
109
|
+
key: 0,
|
|
110
|
+
class: "to-table-sorticon"
|
|
111
|
+
}, [
|
|
112
|
+
createElementVNode("span", { class: "to-table-sorticon-item ascending" }),
|
|
113
|
+
createElementVNode("span", { class: "to-table-sorticon-item descending" })
|
|
114
|
+
])) : createCommentVNode("v-if", true)
|
|
115
|
+
], 10, ["onClick"])) : createCommentVNode("v-if", true)
|
|
71
116
|
],
|
|
72
117
|
64
|
|
73
118
|
/* STABLE_FRAGMENT */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-head.vue2.mjs","sources":["../../../../../../packages/components/table/src/table-head.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTableHead'\n});\n</script>\n<template>\n\t<thead ref=\"row\" class=\"to-table-head\">\n\t\t<tr class=\"to-table-head-row\">\n\t\t\t<template v-for=\"column in props.data\">\n\t\t\t\t<th v-if=\"column.type === 'check'\" :key=\"column.prop + 'check'\" class=\"to-table-th is-check\">\n\t\t\t\t\t<ToCheckbox :model-value=\"checkedAll\" @change=\"change\"></ToCheckbox>\n\t\t\t\t</th>\n\t\t\t\t<th v-else-if=\"column._show !== false\" :key=\"column.prop\" class=\"to-table-th\" :class=\"setThClass(column).value\">\n\t\t\t\t\t{{ column.label }}\n\t\t\t\t</th>\n\t\t\t</template>\n\t\t</tr>\n\t</thead>\n</template>\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\n\nconst emit = defineEmits(['change'])\ninterface Props {\n\tdata?: { prop?: string; label?: string; type?: string; toggler?: boolean; _show: boolean; thWrap?: boolean }[]\n\tcheckedAll?: boolean\n}\nconst props = withDefaults(defineProps<Props>(), {\n\tdata: () => [],\n\tcheckedAll: false\n})\n\nconst row = ref(null)\n\nconst setThClass = column => {\n\treturn computed(() => {\n\t\tconst classes: string[] = []\n\t\tif (column.thWrap) {\n\t\t\tclasses.push('is-wrap')\n\t\t} else if (column.thWrap === false) {\n\t\t\tclasses.push('is-nowrap')\n\t\t}\n\t\treturn classes\n\t})\n}\nfunction change(checked) {\n\temit('change', checked)\n}\n\ndefineExpose({\n\trow\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_createElementVNode","_openBlock","_Fragment","_renderList","_createVNode","checkedAll","_toDisplayString"],"mappings":";;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,aAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"table-head.vue2.mjs","sources":["../../../../../../packages/components/table/src/table-head.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTableHead'\n});\n</script>\n<template>\n\t<thead ref=\"row\" class=\"to-table-head\">\n\t\t<tr class=\"to-table-head-row\">\n\t\t\t<template v-for=\"column in props.data\">\n\t\t\t\t<th v-if=\"column.type === 'check'\" :key=\"column.prop + 'check'\" class=\"to-table-th is-check\">\n\t\t\t\t\t<ToCheckbox :model-value=\"checkedAll\" @change=\"change\"></ToCheckbox>\n\t\t\t\t</th>\n\t\t\t\t<th v-else-if=\"column._show !== false\" :key=\"column.prop\" class=\"to-table-th\" :class=\"setThClass(column).value\" @click=\"sortClick(column)\">\n\t\t\t\t\t<span>{{ column.label }}</span>\n\t\t\t\t\t<span v-if=\"column.sortable\" class=\"to-table-sorticon\">\n\t\t\t\t\t\t<span class=\"to-table-sorticon-item ascending\"></span>\n\t\t\t\t\t\t<span class=\"to-table-sorticon-item descending\"></span>\n\t\t\t\t\t</span>\n\t\t\t\t</th>\n\t\t\t</template>\n\t\t</tr>\n\t</thead>\n</template>\n<script setup lang=\"ts\">\nimport { computed, inject, onMounted, ref, watch } from 'vue'\nimport { TableProvideType } from './table.vue'\n\nconst tableRef: TableProvideType = inject('TableRef')\nconst emit = defineEmits(['change'])\ninterface Props {\n\tdata?: { prop?: string; label?: string; type?: string; toggler?: boolean; _show: boolean; thWrap?: boolean; sortable?: boolean; sortType?: boolean }[]\n\tcheckedAll?: boolean\n}\nconst props = withDefaults(defineProps<Props>(), {\n\tdata: () => [],\n\tcheckedAll: false\n})\n\nconst row = ref(null)\nconst sortSet = ref({})\n\nwatch(\n\t() => props.data,\n\tval => {\n\t\tval.forEach(item => {\n\t\t\tif (item.sortable) {\n\t\t\t\tsortSet.value[item.prop] = sortSet.value[item.prop] || ''\n\t\t\t}\n\t\t})\n\t},\n\t{ deep: true }\n)\n\nonMounted(() => {\n\tprops.data.forEach(item => {\n\t\tif (item.sortable) {\n\t\t\tsortSet.value[item.prop] = sortSet.value[item.prop] || ''\n\t\t}\n\t})\n})\n\nconst sortClick = column => {\n\tif (!column.sortable) return false\n\tif (sortSet.value[column.prop] === 'asc') {\n\t\tsortSet.value[column.prop] = 'desc'\n\t} else if (sortSet.value[column.prop] === 'desc') {\n\t\tsortSet.value[column.prop] = ''\n\t} else {\n\t\tsortSet.value[column.prop] = 'asc'\n\t}\n\ttableRef.handleTheadCellClick(column, sortSet.value[column.prop])\n}\nconst setThClass = column => {\n\treturn computed(() => {\n\t\tconst classes: string[] = []\n\t\tif (column.thWrap) {\n\t\t\tclasses.push('is-wrap')\n\t\t} else if (column.thWrap === false) {\n\t\t\tclasses.push('is-nowrap')\n\t\t}\n\t\tif (sortSet.value[column.prop]) {\n\t\t\tclasses.push(`type-${sortSet.value[column.prop]}`)\n\t\t}\n\t\treturn classes\n\t})\n}\nfunction change(checked) {\n\temit('change', checked)\n}\n\ndefineExpose({\n\trow\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_createElementVNode","_openBlock","_Fragment","_renderList","_createVNode","checkedAll","_toDisplayString"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, computed, watch, nextTick, onMounted, openBlock, createElementBlock, unref, normalizeClass, normalizeStyle, createElementVNode, Fragment, renderList, createVNode, createSlots, withCtx, renderSlot, normalizeProps, guardReactiveProps, toDisplayString, createCommentVNode } from 'vue';
|
|
1
|
+
import { defineComponent, ref, computed, watch, nextTick, onMounted, provide, openBlock, createElementBlock, unref, normalizeClass, normalizeStyle, createElementVNode, Fragment, renderList, createVNode, createSlots, withCtx, renderSlot, normalizeProps, guardReactiveProps, toDisplayString, createCommentVNode } from 'vue';
|
|
2
2
|
import TableHead from './table-head.vue.mjs';
|
|
3
3
|
import TableBody from './table-body.vue.mjs';
|
|
4
4
|
import { langKey, t } from '../../../locale/index.mjs';
|
|
@@ -21,9 +21,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
21
21
|
thWrap: { type: Boolean, default: false },
|
|
22
22
|
emptyText: { default: "" },
|
|
23
23
|
modelValue: { default: "" },
|
|
24
|
-
valueKeys: { default: "_id" }
|
|
24
|
+
valueKeys: { default: "_id" },
|
|
25
|
+
sortFunction: { type: [Function, null], default: null }
|
|
25
26
|
},
|
|
26
|
-
emits: ["change", "update:modelValue"],
|
|
27
|
+
emits: ["change", "update:modelValue", "sort"],
|
|
27
28
|
setup(__props, { emit: __emit }) {
|
|
28
29
|
const emit = __emit;
|
|
29
30
|
const props = __props;
|
|
@@ -299,6 +300,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
299
300
|
});
|
|
300
301
|
return flag;
|
|
301
302
|
});
|
|
303
|
+
function sortChange(sortInfo) {
|
|
304
|
+
emit("sort", sortInfo);
|
|
305
|
+
}
|
|
302
306
|
const hasCheck = computed(() => {
|
|
303
307
|
let flag = false;
|
|
304
308
|
props.columns.map((item) => {
|
|
@@ -366,6 +370,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
366
370
|
}
|
|
367
371
|
}
|
|
368
372
|
}
|
|
373
|
+
const handleTheadCellClick = (column, type) => {
|
|
374
|
+
if (props.sortFunction) {
|
|
375
|
+
props.sortFunction(column, type);
|
|
376
|
+
}
|
|
377
|
+
};
|
|
378
|
+
provide("TableRef", {
|
|
379
|
+
handleTheadCellClick
|
|
380
|
+
});
|
|
369
381
|
return (_ctx, _cache) => {
|
|
370
382
|
return openBlock(), createElementBlock("div", {
|
|
371
383
|
ref_key: "$el",
|
|
@@ -418,7 +430,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
418
430
|
ref: bodyHead,
|
|
419
431
|
"checked-all": checkedAll.value,
|
|
420
432
|
data: _ctx.columns,
|
|
421
|
-
onChange: checkedAllChange
|
|
433
|
+
onChange: checkedAllChange,
|
|
434
|
+
onSort: sortChange
|
|
422
435
|
}, null, 8, ["checked-all", "data"]),
|
|
423
436
|
createVNode(TableBody, {
|
|
424
437
|
ref_key: "bodyBody",
|
|
@@ -483,7 +496,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
483
496
|
ref_key: "topHead",
|
|
484
497
|
ref: topHead,
|
|
485
498
|
data: _ctx.columns,
|
|
486
|
-
onChange: checkedAllChange
|
|
499
|
+
onChange: checkedAllChange,
|
|
500
|
+
onSort: sortChange
|
|
487
501
|
}, null, 8, ["data"])
|
|
488
502
|
],
|
|
489
503
|
512
|
|
@@ -514,7 +528,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
514
528
|
ref_key: "leftHead",
|
|
515
529
|
ref: leftHead,
|
|
516
530
|
data: _ctx.columns.slice(0, Number(props.fixLeft)),
|
|
517
|
-
onChange: checkedAllChange
|
|
531
|
+
onChange: checkedAllChange,
|
|
532
|
+
onSort: sortChange
|
|
518
533
|
}, null, 8, ["data"]),
|
|
519
534
|
createVNode(TableBody, {
|
|
520
535
|
ref_key: "leftBody",
|
|
@@ -567,7 +582,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
567
582
|
ref_key: "leftTopHead",
|
|
568
583
|
ref: leftTopHead,
|
|
569
584
|
data: _ctx.columns.slice(0, Number(props.fixLeft)),
|
|
570
|
-
onChange: checkedAllChange
|
|
585
|
+
onChange: checkedAllChange,
|
|
586
|
+
onSort: sortChange
|
|
571
587
|
}, null, 8, ["data"])
|
|
572
588
|
],
|
|
573
589
|
512
|
|
@@ -598,7 +614,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
598
614
|
ref_key: "rightHead",
|
|
599
615
|
ref: rightHead,
|
|
600
616
|
data: _ctx.columns.slice(_ctx.columns.length - Number(props.fixRight), _ctx.columns.length),
|
|
601
|
-
onChange: checkedAllChange
|
|
617
|
+
onChange: checkedAllChange,
|
|
618
|
+
onSort: sortChange
|
|
602
619
|
}, null, 8, ["data"]),
|
|
603
620
|
createVNode(TableBody, {
|
|
604
621
|
ref_key: "rightBody",
|
|
@@ -650,8 +667,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
650
667
|
createVNode(TableHead, {
|
|
651
668
|
ref_key: "rightTopHead",
|
|
652
669
|
ref: rightTopHead,
|
|
653
|
-
data: _ctx.columns.slice(_ctx.columns.length - Number(
|
|
654
|
-
onChange: checkedAllChange
|
|
670
|
+
data: _ctx.columns.slice(_ctx.columns.length - Number(props.fixRight), _ctx.columns.length),
|
|
671
|
+
onChange: checkedAllChange,
|
|
672
|
+
onSort: sortChange
|
|
655
673
|
}, null, 8, ["data"])
|
|
656
674
|
],
|
|
657
675
|
512
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.vue2.mjs","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTable'\n});\n</script>\n<template>\n\t<div ref=\"$el\" :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-table\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<div ref=\"body\" class=\"to-table-wrapper\" @scroll=\"scrollHandle\">\n\t\t\t<table ref=\"bodyTable\" class=\"to-table-table\">\n\t\t\t\t<colgroup>\n\t\t\t\t\t<col v-for=\"(item, index) in columns\" :key=\"index\" :class=\"item.type ? `type-${item.type}` : ''\" class=\"to-table-col\" :style=\"{ width: getColWidth(item) }\" />\n\t\t\t\t</colgroup>\n\t\t\t\t<TableHead ref=\"bodyHead\" :checked-all=\"checkedAll\" :data=\"columns\" @change=\"checkedAllChange\"></TableHead>\n\t\t\t\t<TableBody ref=\"bodyBody\" :type=\"hasRadio ? 'radio' : hasCheck ? 'check' : ''\" :data=\"data\" :checked-all=\"checkedAll\" :column-data=\"columns\" @change=\"change\">\n\t\t\t\t\t<template v-for=\"columnItem in flattenColumns\" #[columnItem.prop]=\"slotProps\">\n\t\t\t\t\t\t<slot :name=\"columnItem.prop\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #detail=\"slotProps\">\n\t\t\t\t\t\t<slot name=\"detail\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t</TableBody>\n\t\t\t</table>\n\t\t\t<div v-if=\"!data.length\" class=\"to-table-empty\">{{ props.emptyText || t('to.table.emptyText') }}</div>\n\t\t</div>\n\t\t<div v-if=\"Number(fixTop) > 0\" ref=\"top\" class=\"to-table-top\">\n\t\t\t<table ref=\"topTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"topHead\" :data=\"columns\" @change=\"checkedAllChange\"></TableHead>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixLeft) > 0\" ref=\"left\" class=\"to-table-left\">\n\t\t\t<table ref=\"leftTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"leftHead\" :data=\"columns.slice(0, Number(props.fixLeft))\" @change=\"checkedAllChange\"></TableHead>\n\t\t\t\t<TableBody ref=\"leftBody\" :data=\"data\" :column-data=\"columns.slice(0, Number(props.fixLeft))\" @change=\"change\">\n\t\t\t\t\t<template v-for=\"columnItem in flattenColumns\" #[columnItem.prop]=\"slotProps\">\n\t\t\t\t\t\t<slot :name=\"columnItem.prop\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #detail=\"slotProps\">\n\t\t\t\t\t\t<slot name=\"detail\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t</TableBody>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixLeft) > 0 && Number(fixTop) > 0\" ref=\"leftTop\" class=\"to-table-left-top\">\n\t\t\t<table ref=\"leftTopTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"leftTopHead\" :data=\"columns.slice(0, Number(props.fixLeft))\" @change=\"checkedAllChange\"></TableHead>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixRight) > 0\" ref=\"right\" class=\"to-table-right\">\n\t\t\t<table ref=\"rightTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"rightHead\" :data=\"columns.slice(columns.length - Number(props.fixRight), columns.length)\" @change=\"checkedAllChange\"></TableHead>\n\t\t\t\t<TableBody ref=\"rightBody\" :data=\"data\" :column-data=\"columns.slice(columns.length - Number(fixRight), columns.length)\" @change=\"change\">\n\t\t\t\t\t<template v-for=\"columnItem in flattenColumns\" #[columnItem.prop]=\"slotProps\">\n\t\t\t\t\t\t<slot :name=\"columnItem.prop\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #detail=\"slotProps\">\n\t\t\t\t\t\t<slot name=\"detail\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t</TableBody>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixRight) > 0 && Number(fixTop) > 0\" ref=\"rightTop\" class=\"to-table-right-top\">\n\t\t\t<table ref=\"rightTopTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"rightTopHead\" :data=\"columns.slice(columns.length - Number(fixRight), columns.length)\" @change=\"checkedAllChange\"></TableHead>\n\t\t\t</table>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport TableHead from './table-head.vue'\nimport TableBody from './table-body.vue'\nimport { computed, onMounted, ref, watch, nextTick } from 'vue'\nimport { t, langKey } from '@touchvue/locale'\n\nconst emit = defineEmits(['change', 'update:modelValue'])\nexport type modelType = any[] | string | number\n// 定义参数\nexport interface Props {\n\tflex?: boolean\n\tcolumns?: { prop?: string; label?: string; type?: string; toggler?: boolean; _show: boolean; width?: number | string; wrap?: boolean }[]\n\tdata?: Record<string, any>[]\n\theight?: number | string\n\tfixTop?: number | string\n\tfixLeft?: number | string\n\tfixRight?: number | string\n\tmode?: string\n\twrap?: boolean\n\tthWrap?: boolean\n\temptyText?: string\n\tmodelValue?: modelType\n\tvalueKeys?: string | number\n}\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\tcolumns: () => [],\n\tdata: () => [],\n\theight: '',\n\tfixLeft: 0,\n\tfixRight: 0,\n\tfixTop: 0,\n\twrap: false,\n\tthWrap: false,\n\temptyText: '',\n\tmodelValue: '',\n\tvalueKeys: '_id',\n\tflex: false\n})\n\n// 获取 ref\nconst $el = ref(null)\nconst top = ref(null)\nconst topTable = ref(null)\nconst topHead = ref(null)\nconst body = ref(null)\nconst bodyTable = ref(null)\nconst bodyHead = ref(null)\nconst bodyBody = ref(null)\nconst left = ref(null)\nconst leftTable = ref(null)\nconst leftHead = ref(null)\nconst leftBody = ref(null)\nconst leftTop = ref(null)\nconst leftTopTable = ref(null)\nconst leftTopHead = ref(null)\nconst right = ref(null)\nconst rightTable = ref(null)\nconst rightHead = ref(null)\nconst rightBody = ref(null)\nconst rightTop = ref(null)\nconst rightTopTable = ref(null)\nconst rightTopHead = ref(null)\n\n// 定义变量\nconst checkedAll = ref(false)\n\n// 设置样式\nconst setClass = computed(() => {\n\tconst classes: string[] = []\n\tif (props.height === 'full') classes.push('height-full')\n\tif (props.mode) classes.push(`mode-${props.mode}`)\n\tif (props.wrap) classes.push('is-wrap')\n\tif (isSetWidth()) {\n\t\tclasses.push('is-fixed')\n\t}\n\treturn classes\n})\nconst setStyle = computed(() => {\n\tconst obj: Record<string, string> = {}\n\n\tif (props.height && props.height !== 'full') {\n\t\tobj.height = isNaN(Number(props.height as string)) ? String(props.height) : `${props.height}em`\n\t}\n\n\treturn obj\n})\n\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tnextTick(() => {\n\t\t\tbodyBody.value.setCheckData(val, props.valueKeys)\n\t\t\tif (Number(props.fixLeft) > 0) {\n\t\t\t\tleftBody.value.setCheckData(val, props.valueKeys)\n\t\t\t}\n\t\t\tif (Number(props.fixRight) > 0) {\n\t\t\t\trightBody.value.setCheckData(val, props.valueKeys)\n\t\t\t}\n\t\t})\n\t},\n\t{ immediate: true, deep: true }\n)\n\nfunction isSetWidth() {\n\treturn props.columns.some(item => item.width)\n}\n\n// 固定表头/表身\nfunction getBarWidth() {\n\tvar scrollTester = document.createElement('div')\n\tscrollTester.id = 'scrollTester'\n\tscrollTester.style.width = '200px'\n\tscrollTester.style.height = '200px'\n\tscrollTester.style.position = 'absolute'\n\tscrollTester.style.visibility = 'hidden'\n\tscrollTester.style.overflow = 'scroll'\n\tdocument.body.appendChild(scrollTester)\n\tvar barWidth = document.getElementById('scrollTester').offsetWidth - document.getElementById('scrollTester').scrollWidth\n\tdocument.body.removeChild(scrollTester)\n\tscrollTester = null\n\treturn barWidth\n}\nfunction db(fn, wait = 50) {\n\tlet timer = null\n\treturn function (...args) {\n\t\tif (timer) clearTimeout(timer)\n\t\ttimer = setTimeout(() => {\n\t\t\tfn.apply(this, args)\n\n\t\t\tclearTimeout(timer)\n\t\t\ttimer = null\n\t\t}, wait)\n\t}\n}\nfunction adjust() {\n\tdb(() => {\n\t\t// setBottomLine()\n\t\t// setNodata()\n\t\tsetFix()\n\t}, 200)()\n}\nwatch(\n\t() => props.data,\n\t() => {\n\t\tnextTick(() => {\n\t\t\tsetFix()\n\t\t})\n\t},\n\t{ immediate: true, deep: true }\n)\nfunction setFix() {\n\tnextTick(() => {\n\t\tsetFixDiv()\n\t\tsyncThWidth()\n\t\tsyncTrHeight()\n\t})\n\t// setTimeout(() => {\n\t// \t// if (this.type === 'v') {\n\t// \t// \treturn\n\t// \t// }\n\t// \tsetFixDiv()\n\t// \tsyncThWidth()\n\t// \tsyncTrHeight()\n\t// }, 0)\n}\nfunction hasVScroll() {\n\treturn bodyTable.value.offsetHeight > $el.value.offsetHeight\n}\nfunction hasHScroll() {\n\treturn bodyTable.value.offsetWidth > $el.value.offsetWidth\n}\nfunction setFixDiv() {\n\tif (Number(props.fixTop) > 0 && top.value && topTable.value) {\n\t\tif (hasVScroll()) {\n\t\t\ttop.value.style.width = body.value.offsetWidth - getBarWidth() + 'px'\n\t\t}\n\t\ttopTable.value.style.width = bodyTable.value.offsetWidth + 'px'\n\t\tbodyTable.value.style.width = bodyTable.value.offsetWidth + 'px'\n\t}\n\tif (Number(props.fixLeft) > 0 && left.value && $el.value) {\n\t\tif (hasHScroll()) {\n\t\t\tleft.value.style.height = $el.value.offsetHeight - getBarWidth() + 'px'\n\t\t}\n\t}\n\tif (Number(props.fixRight) > 0 && right.value && $el.value) {\n\t\tif (hasHScroll()) {\n\t\t\tright.value.style.height = $el.value.offsetHeight - getBarWidth() + 'px'\n\t\t}\n\t\tif (hasVScroll()) {\n\t\t\tright.value.style.right = getBarWidth() + 'px'\n\t\t\tif (Number(props.fixTop) > 0) {\n\t\t\t\trightTop.value.style.right = getBarWidth() + 'px'\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction syncThWidth() {\n\tif (props.columns.length > 0 && bodyHead.value && bodyHead.value.row) {\n\t\tconst trs = bodyHead.value.row.children\n\t\tif (Number(props.fixTop) > 0 && topHead.value && topHead.value.row) {\n\t\t\tconst topTrs = topHead.value.row.children\n\t\t\tfor (let i = 0; i < topTrs.length; i++) {\n\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\tconst topThs = topTrs[i]?.children\n\t\t\t\tif (ths && topThs) {\n\t\t\t\t\tfor (let j = 0; j < ths.length; j++) {\n\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\tconst topTh = topThs[j]\n\t\t\t\t\t\tif (th && topTh) {\n\t\t\t\t\t\t\ttopTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (Number(props.fixLeft) > 0 && leftHead.value && leftHead.value.row) {\n\t\t\tconst leftTrs = leftHead.value.row.children\n\t\t\tfor (let i = 0; i < leftTrs.length; i++) {\n\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\tconst leftThs = leftTrs[i]?.children\n\t\t\t\tif (ths && leftThs && leftThs.length > 0) {\n\t\t\t\t\tfor (let j = 0; j < leftThs.length; j++) {\n\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\tconst leftTh = leftThs[j]\n\t\t\t\t\t\tif (th && leftTh) {\n\t\t\t\t\t\t\tleftTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\tleftTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (Number(props.fixTop) > 0 && leftTopHead.value && leftTopHead.value.row) {\n\t\t\t\tconst leftTopTrs = leftTopHead.value.row.children\n\t\t\t\tfor (let i = 0; i < leftTopTrs.length; i++) {\n\t\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\t\tconst leftTopThs = leftTopTrs[i]?.children\n\t\t\t\t\tif (ths && leftTopThs && leftTopThs.length > 0) {\n\t\t\t\t\t\tfor (let j = 0; j < leftTopThs.length; j++) {\n\t\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\t\tconst leftTopTh = leftTopThs[j]\n\t\t\t\t\t\t\tif (th && leftTopTh) {\n\t\t\t\t\t\t\t\tleftTopTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\t\tleftTopTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (Number(props.fixRight) > 0 && rightHead.value && rightHead.value.row) {\n\t\t\tconst rightTrs = rightHead.value.row.children\n\t\t\tfor (let i = 0; i < rightTrs.length; i++) {\n\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\tconst rightThs = rightTrs[i]?.children\n\t\t\t\tif (ths && rightThs && rightThs.length > 0) {\n\t\t\t\t\tfor (let j = ths.length - rightThs.length; j < ths.length; j++) {\n\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\tconst rightTh = rightThs[j - ths.length + rightThs.length]\n\t\t\t\t\t\tif (th && rightTh) {\n\t\t\t\t\t\t\trightTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\trightTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (Number(props.fixTop) > 0 && rightTopHead.value && rightTopHead.value.row) {\n\t\t\t\tconst rightTopTrs = rightTopHead.value.row.children\n\t\t\t\tfor (let i = 0; i < rightTopTrs.length; i++) {\n\t\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\t\tconst rightTopThs = rightTopTrs[i]?.children\n\t\t\t\t\tif (ths && rightTopThs && rightTopThs.length > 0) {\n\t\t\t\t\t\tfor (let j = ths.length - rightTopThs.length; j < ths.length; j++) {\n\t\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\t\tconst rightTopTh = rightTopThs[j - ths.length + rightTopThs.length]\n\t\t\t\t\t\t\tif (th && rightTopTh) {\n\t\t\t\t\t\t\t\trightTopTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\t\trightTopTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\nfunction syncTrHeight() {\n\t// if (this.type === 'v' || !props.syncHeight) { return }\n\tif (!(props.fixRight || props.fixLeft)) return\n\tif (bodyBody.value?.$el.children.length) {\n\t\tfor (let i = 0; i < bodyBody.value.$el.children.length; i++) {\n\t\t\tconst tr = bodyBody.value.$el.children[i]\n\t\t\tif (Number(props.fixRight) > 0 && rightBody.value) {\n\t\t\t\trightBody.value.$el.children[i].style.height = tr.getBoundingClientRect().height + 'px'\n\t\t\t}\n\t\t\tif (Number(props.fixLeft) > 0 && leftBody.value) {\n\t\t\t\tleftBody.value.$el.children[i].style.height = tr.getBoundingClientRect().height + 'px'\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction scrollHandle() {\n\tvar scrollLeft = body.value.scrollLeft\n\tvar scrollTop = body.value.scrollTop\n\tif (typeof scrollLeft !== 'undefined') {\n\t\tif (props.fixTop && topTable.value) {\n\t\t\ttopTable.value.style.left = 0 - scrollLeft + 'px'\n\t\t}\n\t\tif (props.fixRight && rightTable.value) {\n\t\t\trightTable.value.style.top = 0 - scrollTop + 'px'\n\t\t}\n\t\tif (props.fixLeft && leftTable.value) {\n\t\t\tleftTable.value.style.top = 0 - scrollTop + 'px'\n\t\t}\n\t}\n}\n\nonMounted(() => {\n\tadjust()\n})\n\n// 选择支持\nconst hasRadio = computed(() => {\n\tlet flag = false\n\tprops.columns.map(item => {\n\t\tif (item.type === 'radio') {\n\t\t\tflag = true\n\t\t}\n\t})\n\treturn flag\n})\nconst hasCheck = computed(() => {\n\tlet flag = false\n\tprops.columns.map(item => {\n\t\tif (item.type === 'check') {\n\t\t\tflag = true\n\t\t}\n\t})\n\treturn flag\n})\nfunction change(rows, checked, isAll) {\n\tif (rows) {\n\t\t//type=check\n\t\tlet ids: modelType = ''\n\t\tif (Array.isArray(rows)) {\n\t\t\tids = rows.map(item => item[props.valueKeys])\n\t\t} else {\n\t\t\tids = rows[props.valueKeys]\n\t\t}\n\t\temit('update:modelValue', ids)\n\t} else {\n\t\temit('update:modelValue', '')\n\t}\n\temit('change', rows, checked, isAll)\n\tcheckedAll.value = isAll\n}\nfunction checkedAllChange(isAll) {\n\tif (isAll) {\n\t\tlet ids = props.data.map(item => item[props.valueKeys])\n\t\temit('update:modelValue', ids)\n\t\temit('change', props.data, true, true)\n\t} else {\n\t\temit('update:modelValue', [])\n\t\temit('change', [], false, false)\n\t}\n\tbodyBody.value.checkAll(isAll)\n\tif (Number(props.fixLeft) > 0) {\n\t\tleftBody.value.checkAll(isAll)\n\t}\n\tif (Number(props.fixRight) > 0) {\n\t\trightBody.value.checkAll(isAll)\n\t}\n}\n\n// todo 默认全选的需求\n\n// 多级表头支持\nconst flattenColumns = computed(() => {\n\t// 打平多级 columns 数组,用于 slot 遍历\n\tlet arr = []\n\tfunction setArr(data) {\n\t\tdata.map(column => {\n\t\t\tlet tempColumn = JSON.parse(JSON.stringify(column))\n\t\t\tif (tempColumn.children) {\n\t\t\t\tdelete tempColumn.children\n\t\t\t}\n\t\t\tarr.push(tempColumn)\n\t\t\tif (column.children) {\n\t\t\t\tsetArr(column.children)\n\t\t\t}\n\t\t})\n\t}\n\tsetArr(props.columns)\n\treturn arr\n})\n\nfunction getColWidth(column) {\n\tif (column.width) {\n\t\tif (isNaN(Number(column.width))) {\n\t\t\treturn column.width\n\t\t} else {\n\t\t\treturn column.width + 'em'\n\t\t}\n\t}\n}\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_unref","flex","_normalizeClass","_createElementVNode","_openBlock","_Fragment","columns","_normalizeStyle","_createVNode","data","_withCtx","_renderSlot","_renderList","fixTop","fixLeft","fixRight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.vue2.mjs","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTable'\n});\n</script>\n<template>\n\t<div ref=\"$el\" :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-table\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<div ref=\"body\" class=\"to-table-wrapper\" @scroll=\"scrollHandle\">\n\t\t\t<table ref=\"bodyTable\" class=\"to-table-table\">\n\t\t\t\t<colgroup>\n\t\t\t\t\t<col v-for=\"(item, index) in columns\" :key=\"index\" :class=\"item.type ? `type-${item.type}` : ''\" class=\"to-table-col\" :style=\"{ width: getColWidth(item) }\" />\n\t\t\t\t</colgroup>\n\t\t\t\t<TableHead ref=\"bodyHead\" :checked-all=\"checkedAll\" :data=\"columns\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t\t<TableBody ref=\"bodyBody\" :type=\"hasRadio ? 'radio' : hasCheck ? 'check' : ''\" :data=\"data\" :checked-all=\"checkedAll\" :column-data=\"columns\" @change=\"change\">\n\t\t\t\t\t<template v-for=\"columnItem in flattenColumns\" #[columnItem.prop]=\"slotProps\">\n\t\t\t\t\t\t<slot :name=\"columnItem.prop\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #detail=\"slotProps\">\n\t\t\t\t\t\t<slot name=\"detail\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t</TableBody>\n\t\t\t</table>\n\t\t\t<div v-if=\"!data.length\" class=\"to-table-empty\">{{ props.emptyText || t('to.table.emptyText') }}</div>\n\t\t</div>\n\t\t<div v-if=\"Number(fixTop) > 0\" ref=\"top\" class=\"to-table-top\">\n\t\t\t<table ref=\"topTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"topHead\" :data=\"columns\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixLeft) > 0\" ref=\"left\" class=\"to-table-left\">\n\t\t\t<table ref=\"leftTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"leftHead\" :data=\"columns.slice(0, Number(props.fixLeft))\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t\t<TableBody ref=\"leftBody\" :data=\"data\" :column-data=\"columns.slice(0, Number(props.fixLeft))\" @change=\"change\">\n\t\t\t\t\t<template v-for=\"columnItem in flattenColumns\" #[columnItem.prop]=\"slotProps\">\n\t\t\t\t\t\t<slot :name=\"columnItem.prop\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #detail=\"slotProps\">\n\t\t\t\t\t\t<slot name=\"detail\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t</TableBody>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixLeft) > 0 && Number(fixTop) > 0\" ref=\"leftTop\" class=\"to-table-left-top\">\n\t\t\t<table ref=\"leftTopTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"leftTopHead\" :data=\"columns.slice(0, Number(props.fixLeft))\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixRight) > 0\" ref=\"right\" class=\"to-table-right\">\n\t\t\t<table ref=\"rightTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"rightHead\" :data=\"columns.slice(columns.length - Number(props.fixRight), columns.length)\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t\t<TableBody ref=\"rightBody\" :data=\"data\" :column-data=\"columns.slice(columns.length - Number(fixRight), columns.length)\" @change=\"change\">\n\t\t\t\t\t<template v-for=\"columnItem in flattenColumns\" #[columnItem.prop]=\"slotProps\">\n\t\t\t\t\t\t<slot :name=\"columnItem.prop\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #detail=\"slotProps\">\n\t\t\t\t\t\t<slot name=\"detail\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t</TableBody>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixRight) > 0 && Number(fixTop) > 0\" ref=\"rightTop\" class=\"to-table-right-top\">\n\t\t\t<table ref=\"rightTopTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"rightTopHead\" :data=\"columns.slice(columns.length - Number(props.fixRight), columns.length)\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t</table>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport TableHead from './table-head.vue'\nimport TableBody from './table-body.vue'\nimport { computed, onMounted, ref, watch, nextTick, provide } from 'vue'\nimport { t, langKey } from '@touchvue/locale'\n\nconst emit = defineEmits(['change', 'update:modelValue', 'sort'])\nexport type modelType = any[] | string | number\n// 定义参数\nexport interface Props {\n\tflex?: boolean\n\tcolumns?: { prop?: string; label?: string; type?: string; toggler?: boolean; _show: boolean; width?: number | string; wrap?: boolean }[]\n\tdata?: Record<string, any>[]\n\theight?: number | string\n\tfixTop?: number | string\n\tfixLeft?: number | string\n\tfixRight?: number | string\n\tmode?: string\n\twrap?: boolean\n\tthWrap?: boolean\n\temptyText?: string\n\tmodelValue?: modelType\n\tvalueKeys?: string | number\n\tsortFunction?: ((column, type) => any) | null\n}\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\tcolumns: () => [],\n\tdata: () => [],\n\theight: '',\n\tfixLeft: 0,\n\tfixRight: 0,\n\tfixTop: 0,\n\twrap: false,\n\tthWrap: false,\n\temptyText: '',\n\tmodelValue: '',\n\tvalueKeys: '_id',\n\tflex: false,\n\tsortFunction: null\n})\n\n// 获取 ref\nconst $el = ref(null)\nconst top = ref(null)\nconst topTable = ref(null)\nconst topHead = ref(null)\nconst body = ref(null)\nconst bodyTable = ref(null)\nconst bodyHead = ref(null)\nconst bodyBody = ref(null)\nconst left = ref(null)\nconst leftTable = ref(null)\nconst leftHead = ref(null)\nconst leftBody = ref(null)\nconst leftTop = ref(null)\nconst leftTopTable = ref(null)\nconst leftTopHead = ref(null)\nconst right = ref(null)\nconst rightTable = ref(null)\nconst rightHead = ref(null)\nconst rightBody = ref(null)\nconst rightTop = ref(null)\nconst rightTopTable = ref(null)\nconst rightTopHead = ref(null)\n\n// 定义变量\nconst checkedAll = ref(false)\n\n// 设置样式\nconst setClass = computed(() => {\n\tconst classes: string[] = []\n\tif (props.height === 'full') classes.push('height-full')\n\tif (props.mode) classes.push(`mode-${props.mode}`)\n\tif (props.wrap) classes.push('is-wrap')\n\tif (isSetWidth()) {\n\t\tclasses.push('is-fixed')\n\t}\n\treturn classes\n})\nconst setStyle = computed(() => {\n\tconst obj: Record<string, string> = {}\n\n\tif (props.height && props.height !== 'full') {\n\t\tobj.height = isNaN(Number(props.height as string)) ? String(props.height) : `${props.height}em`\n\t}\n\n\treturn obj\n})\n\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tnextTick(() => {\n\t\t\tbodyBody.value.setCheckData(val, props.valueKeys)\n\t\t\tif (Number(props.fixLeft) > 0) {\n\t\t\t\tleftBody.value.setCheckData(val, props.valueKeys)\n\t\t\t}\n\t\t\tif (Number(props.fixRight) > 0) {\n\t\t\t\trightBody.value.setCheckData(val, props.valueKeys)\n\t\t\t}\n\t\t})\n\t},\n\t{ immediate: true, deep: true }\n)\n\nfunction isSetWidth() {\n\treturn props.columns.some(item => item.width)\n}\n\n// 固定表头/表身\nfunction getBarWidth() {\n\tvar scrollTester = document.createElement('div')\n\tscrollTester.id = 'scrollTester'\n\tscrollTester.style.width = '200px'\n\tscrollTester.style.height = '200px'\n\tscrollTester.style.position = 'absolute'\n\tscrollTester.style.visibility = 'hidden'\n\tscrollTester.style.overflow = 'scroll'\n\tdocument.body.appendChild(scrollTester)\n\tvar barWidth = document.getElementById('scrollTester').offsetWidth - document.getElementById('scrollTester').scrollWidth\n\tdocument.body.removeChild(scrollTester)\n\tscrollTester = null\n\treturn barWidth\n}\nfunction db(fn, wait = 50) {\n\tlet timer = null\n\treturn function (...args) {\n\t\tif (timer) clearTimeout(timer)\n\t\ttimer = setTimeout(() => {\n\t\t\tfn.apply(this, args)\n\n\t\t\tclearTimeout(timer)\n\t\t\ttimer = null\n\t\t}, wait)\n\t}\n}\nfunction adjust() {\n\tdb(() => {\n\t\t// setBottomLine()\n\t\t// setNodata()\n\t\tsetFix()\n\t}, 200)()\n}\nwatch(\n\t() => props.data,\n\t() => {\n\t\tnextTick(() => {\n\t\t\tsetFix()\n\t\t})\n\t},\n\t{ immediate: true, deep: true }\n)\nfunction setFix() {\n\tnextTick(() => {\n\t\tsetFixDiv()\n\t\tsyncThWidth()\n\t\tsyncTrHeight()\n\t})\n\t// setTimeout(() => {\n\t// \t// if (this.type === 'v') {\n\t// \t// \treturn\n\t// \t// }\n\t// \tsetFixDiv()\n\t// \tsyncThWidth()\n\t// \tsyncTrHeight()\n\t// }, 0)\n}\nfunction hasVScroll() {\n\treturn bodyTable.value.offsetHeight > $el.value.offsetHeight\n}\nfunction hasHScroll() {\n\treturn bodyTable.value.offsetWidth > $el.value.offsetWidth\n}\nfunction setFixDiv() {\n\tif (Number(props.fixTop) > 0 && top.value && topTable.value) {\n\t\tif (hasVScroll()) {\n\t\t\ttop.value.style.width = body.value.offsetWidth - getBarWidth() + 'px'\n\t\t}\n\t\ttopTable.value.style.width = bodyTable.value.offsetWidth + 'px'\n\t\tbodyTable.value.style.width = bodyTable.value.offsetWidth + 'px'\n\t}\n\tif (Number(props.fixLeft) > 0 && left.value && $el.value) {\n\t\tif (hasHScroll()) {\n\t\t\tleft.value.style.height = $el.value.offsetHeight - getBarWidth() + 'px'\n\t\t}\n\t}\n\tif (Number(props.fixRight) > 0 && right.value && $el.value) {\n\t\tif (hasHScroll()) {\n\t\t\tright.value.style.height = $el.value.offsetHeight - getBarWidth() + 'px'\n\t\t}\n\t\tif (hasVScroll()) {\n\t\t\tright.value.style.right = getBarWidth() + 'px'\n\t\t\tif (Number(props.fixTop) > 0) {\n\t\t\t\trightTop.value.style.right = getBarWidth() + 'px'\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction syncThWidth() {\n\tif (props.columns.length > 0 && bodyHead.value && bodyHead.value.row) {\n\t\tconst trs = bodyHead.value.row.children\n\t\tif (Number(props.fixTop) > 0 && topHead.value && topHead.value.row) {\n\t\t\tconst topTrs = topHead.value.row.children\n\t\t\tfor (let i = 0; i < topTrs.length; i++) {\n\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\tconst topThs = topTrs[i]?.children\n\t\t\t\tif (ths && topThs) {\n\t\t\t\t\tfor (let j = 0; j < ths.length; j++) {\n\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\tconst topTh = topThs[j]\n\t\t\t\t\t\tif (th && topTh) {\n\t\t\t\t\t\t\ttopTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (Number(props.fixLeft) > 0 && leftHead.value && leftHead.value.row) {\n\t\t\tconst leftTrs = leftHead.value.row.children\n\t\t\tfor (let i = 0; i < leftTrs.length; i++) {\n\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\tconst leftThs = leftTrs[i]?.children\n\t\t\t\tif (ths && leftThs && leftThs.length > 0) {\n\t\t\t\t\tfor (let j = 0; j < leftThs.length; j++) {\n\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\tconst leftTh = leftThs[j]\n\t\t\t\t\t\tif (th && leftTh) {\n\t\t\t\t\t\t\tleftTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\tleftTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (Number(props.fixTop) > 0 && leftTopHead.value && leftTopHead.value.row) {\n\t\t\t\tconst leftTopTrs = leftTopHead.value.row.children\n\t\t\t\tfor (let i = 0; i < leftTopTrs.length; i++) {\n\t\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\t\tconst leftTopThs = leftTopTrs[i]?.children\n\t\t\t\t\tif (ths && leftTopThs && leftTopThs.length > 0) {\n\t\t\t\t\t\tfor (let j = 0; j < leftTopThs.length; j++) {\n\t\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\t\tconst leftTopTh = leftTopThs[j]\n\t\t\t\t\t\t\tif (th && leftTopTh) {\n\t\t\t\t\t\t\t\tleftTopTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\t\tleftTopTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (Number(props.fixRight) > 0 && rightHead.value && rightHead.value.row) {\n\t\t\tconst rightTrs = rightHead.value.row.children\n\t\t\tfor (let i = 0; i < rightTrs.length; i++) {\n\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\tconst rightThs = rightTrs[i]?.children\n\t\t\t\tif (ths && rightThs && rightThs.length > 0) {\n\t\t\t\t\tfor (let j = ths.length - rightThs.length; j < ths.length; j++) {\n\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\tconst rightTh = rightThs[j - ths.length + rightThs.length]\n\t\t\t\t\t\tif (th && rightTh) {\n\t\t\t\t\t\t\trightTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\trightTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (Number(props.fixTop) > 0 && rightTopHead.value && rightTopHead.value.row) {\n\t\t\t\tconst rightTopTrs = rightTopHead.value.row.children\n\t\t\t\tfor (let i = 0; i < rightTopTrs.length; i++) {\n\t\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\t\tconst rightTopThs = rightTopTrs[i]?.children\n\t\t\t\t\tif (ths && rightTopThs && rightTopThs.length > 0) {\n\t\t\t\t\t\tfor (let j = ths.length - rightTopThs.length; j < ths.length; j++) {\n\t\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\t\tconst rightTopTh = rightTopThs[j - ths.length + rightTopThs.length]\n\t\t\t\t\t\t\tif (th && rightTopTh) {\n\t\t\t\t\t\t\t\trightTopTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\t\trightTopTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\nfunction syncTrHeight() {\n\t// if (this.type === 'v' || !props.syncHeight) { return }\n\tif (!(props.fixRight || props.fixLeft)) return\n\tif (bodyBody.value?.$el.children.length) {\n\t\tfor (let i = 0; i < bodyBody.value.$el.children.length; i++) {\n\t\t\tconst tr = bodyBody.value.$el.children[i]\n\t\t\tif (Number(props.fixRight) > 0 && rightBody.value) {\n\t\t\t\trightBody.value.$el.children[i].style.height = tr.getBoundingClientRect().height + 'px'\n\t\t\t}\n\t\t\tif (Number(props.fixLeft) > 0 && leftBody.value) {\n\t\t\t\tleftBody.value.$el.children[i].style.height = tr.getBoundingClientRect().height + 'px'\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction scrollHandle() {\n\tvar scrollLeft = body.value.scrollLeft\n\tvar scrollTop = body.value.scrollTop\n\tif (typeof scrollLeft !== 'undefined') {\n\t\tif (props.fixTop && topTable.value) {\n\t\t\ttopTable.value.style.left = 0 - scrollLeft + 'px'\n\t\t}\n\t\tif (props.fixRight && rightTable.value) {\n\t\t\trightTable.value.style.top = 0 - scrollTop + 'px'\n\t\t}\n\t\tif (props.fixLeft && leftTable.value) {\n\t\t\tleftTable.value.style.top = 0 - scrollTop + 'px'\n\t\t}\n\t}\n}\n\nonMounted(() => {\n\tadjust()\n})\n\n// 选择支持\nconst hasRadio = computed(() => {\n\tlet flag = false\n\tprops.columns.map(item => {\n\t\tif (item.type === 'radio') {\n\t\t\tflag = true\n\t\t}\n\t})\n\treturn flag\n})\n\n// 排序支持\nfunction sortChange(sortInfo) {\n\temit('sort', sortInfo)\n}\nconst hasCheck = computed(() => {\n\tlet flag = false\n\tprops.columns.map(item => {\n\t\tif (item.type === 'check') {\n\t\t\tflag = true\n\t\t}\n\t})\n\treturn flag\n})\nfunction change(rows, checked, isAll) {\n\tif (rows) {\n\t\t//type=check\n\t\tlet ids: modelType = ''\n\t\tif (Array.isArray(rows)) {\n\t\t\tids = rows.map(item => item[props.valueKeys])\n\t\t} else {\n\t\t\tids = rows[props.valueKeys]\n\t\t}\n\t\temit('update:modelValue', ids)\n\t} else {\n\t\temit('update:modelValue', '')\n\t}\n\temit('change', rows, checked, isAll)\n\tcheckedAll.value = isAll\n}\nfunction checkedAllChange(isAll) {\n\tif (isAll) {\n\t\tlet ids = props.data.map(item => item[props.valueKeys])\n\t\temit('update:modelValue', ids)\n\t\temit('change', props.data, true, true)\n\t} else {\n\t\temit('update:modelValue', [])\n\t\temit('change', [], false, false)\n\t}\n\tbodyBody.value.checkAll(isAll)\n\tif (Number(props.fixLeft) > 0) {\n\t\tleftBody.value.checkAll(isAll)\n\t}\n\tif (Number(props.fixRight) > 0) {\n\t\trightBody.value.checkAll(isAll)\n\t}\n}\n\n// todo 默认全选的需求\n\n// 多级表头支持\nconst flattenColumns = computed(() => {\n\t// 打平多级 columns 数组,用于 slot 遍历\n\tlet arr = []\n\tfunction setArr(data) {\n\t\tdata.map(column => {\n\t\t\tlet tempColumn = JSON.parse(JSON.stringify(column))\n\t\t\tif (tempColumn.children) {\n\t\t\t\tdelete tempColumn.children\n\t\t\t}\n\t\t\tarr.push(tempColumn)\n\t\t\tif (column.children) {\n\t\t\t\tsetArr(column.children)\n\t\t\t}\n\t\t})\n\t}\n\tsetArr(props.columns)\n\treturn arr\n})\n\nfunction getColWidth(column) {\n\tif (column.width) {\n\t\tif (isNaN(Number(column.width))) {\n\t\t\treturn column.width\n\t\t} else {\n\t\t\treturn column.width + 'em'\n\t\t}\n\t}\n}\nconst handleTheadCellClick = (column, type) => {\n\tif (props.sortFunction) {\n\t\tprops.sortFunction(column, type)\n\t}\n}\nexport interface TableProvideType {\n\thandleTheadCellClick: (column, type) => void\n}\n\nprovide<TableProvideType>('TableRef', {\n\thandleTheadCellClick\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_unref","flex","_normalizeClass","_createElementVNode","_openBlock","_Fragment","columns","_normalizeStyle","_createVNode","data","_withCtx","_renderSlot","_renderList","fixTop","fixLeft","fixRight"],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ let i18nHandler = function() {
|
|
|
23
23
|
};
|
|
24
24
|
const t = function(path, ...options) {
|
|
25
25
|
let value = i18nHandler.apply(this, arguments);
|
|
26
|
-
if (value !== null && value !== void 0)
|
|
26
|
+
if (value !== null && value !== void 0 && value !== path)
|
|
27
27
|
return value;
|
|
28
28
|
const array = path.split(".");
|
|
29
29
|
let current = lang;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../packages/locale/index.js"],"sourcesContent":["import defaultLang from './lang/zh-CN'\nimport { getCurrentInstance, ref } from 'vue'\nimport Format from './format'\n\nconst format = Format()\nlet lang = defaultLang\n// 响应式语言标记,用于触发组件更新\nexport const langKey = ref(0)\n// 语言变更监听器\nconst listeners = new Set()\n\nlet i18nHandler = function () {\n\t// Vue 3 兼容:尝试获取当前实例的 $t 方法\n\tlet vuei18n = null\n\n\ttry {\n\t\tconst instance = getCurrentInstance()\n\t\tif (instance) {\n\t\t\t// 优先从全局属性获取\n\t\t\tvuei18n = instance.appContext?.app?.config?.globalProperties?.$t\n\t\t\t// 其次从代理对象获取\n\t\t\t// if (!vuei18n && instance.proxy?.$t) {\n\t\t\t// vuei18n = instance.proxy?.$t;\n\t\t\t// }\n\t\t}\n\t} catch (e) {\n\t\t// 在非组件上下文中调用时,getCurrentInstance 可能会失败\n\t\t// 这种情况下继续使用内置的翻译逻辑\n\t}\n\n\tif (typeof vuei18n === 'function') {\n\t\treturn vuei18n.apply(this, arguments)\n\t}\n\n\t// 如果没有找到 vue-i18n,返回 null 让后续逻辑处理\n\treturn null\n}\n\nexport const t = function (path, ...options) {\n\tlet value = i18nHandler.apply(this, arguments)\n\tif (value !== null && value !== undefined) return value\n\n\tconst array = path.split('.')\n\tlet current = lang\n\n\tfor (let i = 0, j = array.length; i < j; i++) {\n\t\tconst property = array[i]\n\t\tvalue = current[property]\n\t\tif (i === j - 1) return format(value, options)\n\t\tif (!value) return ''\n\t\tcurrent = value\n\t}\n\treturn ''\n}\n\nexport const use = function (l) {\n\tlang = l || lang\n\t// 更新响应式标记,触发组件重新渲染\n\tlangKey.value++\n\t// 通知所有监听器\n\tlisteners.forEach(fn => fn(lang))\n}\n\n// 添加语言变更监听器\nexport const onLangChange = function (fn) {\n\tlisteners.add(fn)\n\treturn () => listeners.delete(fn)\n}\n\nexport const i18n = function (fn) {\n\ti18nHandler = fn || i18nHandler\n}\n\nexport default { use, t, i18n, langKey: langKey.value, onLangChange }\n"],"names":["defaultLang"],"mappings":";;;;AAIA,MAAM,SAAS,MAAO,EAAA,CAAA;AACtB,IAAI,IAAO,GAAAA,gBAAA,CAAA;AAEE,MAAA,OAAA,GAAU,IAAI,CAAC,EAAA;AAE5B,MAAM,SAAA,uBAAgB,GAAI,EAAA,CAAA;AAE1B,IAAI,cAAc,WAAY;AAX9B,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAaC,EAAA,IAAI,OAAU,GAAA,IAAA,CAAA;AAEd,EAAI,IAAA;AACH,IAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,IAAA,IAAI,QAAU,EAAA;AAEb,MAAU,OAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAA,CAAS,eAAT,IAAqB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAArB,mBAA0B,MAA1B,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkC,qBAAlC,IAAoD,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAA,CAAA;AAAA,KAK/D;AAAA,WACQ,CAAP,EAAA;AAAA,GAGF;AAEA,EAAI,IAAA,OAAO,YAAY,UAAY,EAAA;AAClC,IAAO,OAAA,OAAA,CAAQ,KAAM,CAAA,IAAA,EAAM,SAAS,CAAA,CAAA;AAAA,GACrC;AAGA,EAAO,OAAA,IAAA,CAAA;AACR,CAAA,CAAA;AAEa,MAAA,CAAA,GAAI,SAAU,IAAA,EAAA,GAAS,OAAS,EAAA;AAC5C,EAAA,IAAI,KAAQ,GAAA,WAAA,CAAY,KAAM,CAAA,IAAA,EAAM,SAAS,CAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../packages/locale/index.js"],"sourcesContent":["import defaultLang from './lang/zh-CN'\nimport { getCurrentInstance, ref } from 'vue'\nimport Format from './format'\n\nconst format = Format()\nlet lang = defaultLang\n// 响应式语言标记,用于触发组件更新\nexport const langKey = ref(0)\n// 语言变更监听器\nconst listeners = new Set()\n\nlet i18nHandler = function () {\n\t// Vue 3 兼容:尝试获取当前实例的 $t 方法\n\tlet vuei18n = null\n\n\ttry {\n\t\tconst instance = getCurrentInstance()\n\t\tif (instance) {\n\t\t\t// 优先从全局属性获取\n\t\t\tvuei18n = instance.appContext?.app?.config?.globalProperties?.$t\n\t\t\t// 其次从代理对象获取\n\t\t\t// if (!vuei18n && instance.proxy?.$t) {\n\t\t\t// vuei18n = instance.proxy?.$t;\n\t\t\t// }\n\t\t}\n\t} catch (e) {\n\t\t// 在非组件上下文中调用时,getCurrentInstance 可能会失败\n\t\t// 这种情况下继续使用内置的翻译逻辑\n\t}\n\n\tif (typeof vuei18n === 'function') {\n\t\treturn vuei18n.apply(this, arguments)\n\t}\n\n\t// 如果没有找到 vue-i18n,返回 null 让后续逻辑处理\n\treturn null\n}\n\nexport const t = function (path, ...options) {\n\tlet value = i18nHandler.apply(this, arguments)\n\t// 当 vue-i18n 返回的值等于 key 本身时(表示未找到翻译),回退到内置语言包\n\tif (value !== null && value !== undefined && value !== path) return value\n\n\tconst array = path.split('.')\n\tlet current = lang\n\n\tfor (let i = 0, j = array.length; i < j; i++) {\n\t\tconst property = array[i]\n\t\tvalue = current[property]\n\t\tif (i === j - 1) return format(value, options)\n\t\tif (!value) return ''\n\t\tcurrent = value\n\t}\n\treturn ''\n}\n\nexport const use = function (l) {\n\tlang = l || lang\n\t// 更新响应式标记,触发组件重新渲染\n\tlangKey.value++\n\t// 通知所有监听器\n\tlisteners.forEach(fn => fn(lang))\n}\n\n// 添加语言变更监听器\nexport const onLangChange = function (fn) {\n\tlisteners.add(fn)\n\treturn () => listeners.delete(fn)\n}\n\nexport const i18n = function (fn) {\n\ti18nHandler = fn || i18nHandler\n}\n\nexport default { use, t, i18n, langKey: langKey.value, onLangChange }\n"],"names":["defaultLang"],"mappings":";;;;AAIA,MAAM,SAAS,MAAO,EAAA,CAAA;AACtB,IAAI,IAAO,GAAAA,gBAAA,CAAA;AAEE,MAAA,OAAA,GAAU,IAAI,CAAC,EAAA;AAE5B,MAAM,SAAA,uBAAgB,GAAI,EAAA,CAAA;AAE1B,IAAI,cAAc,WAAY;AAX9B,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAaC,EAAA,IAAI,OAAU,GAAA,IAAA,CAAA;AAEd,EAAI,IAAA;AACH,IAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,IAAA,IAAI,QAAU,EAAA;AAEb,MAAU,OAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAA,CAAS,eAAT,IAAqB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAArB,mBAA0B,MAA1B,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkC,qBAAlC,IAAoD,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAA,CAAA;AAAA,KAK/D;AAAA,WACQ,CAAP,EAAA;AAAA,GAGF;AAEA,EAAI,IAAA,OAAO,YAAY,UAAY,EAAA;AAClC,IAAO,OAAA,OAAA,CAAQ,KAAM,CAAA,IAAA,EAAM,SAAS,CAAA,CAAA;AAAA,GACrC;AAGA,EAAO,OAAA,IAAA,CAAA;AACR,CAAA,CAAA;AAEa,MAAA,CAAA,GAAI,SAAU,IAAA,EAAA,GAAS,OAAS,EAAA;AAC5C,EAAA,IAAI,KAAQ,GAAA,WAAA,CAAY,KAAM,CAAA,IAAA,EAAM,SAAS,CAAA,CAAA;AAE7C,EAAA,IAAI,KAAU,KAAA,IAAA,IAAQ,KAAU,KAAA,KAAA,CAAA,IAAa,KAAU,KAAA,IAAA;AAAM,IAAO,OAAA,KAAA,CAAA;AAEpE,EAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAC5B,EAAA,IAAI,OAAU,GAAA,IAAA,CAAA;AAEd,EAAA,KAAA,IAAS,IAAI,CAAG,EAAA,CAAA,GAAI,MAAM,MAAQ,EAAA,CAAA,GAAI,GAAG,CAAK,EAAA,EAAA;AAC7C,IAAM,MAAA,QAAA,GAAW,MAAM,CAAC,CAAA,CAAA;AACxB,IAAA,KAAA,GAAQ,QAAQ,QAAQ,CAAA,CAAA;AACxB,IAAA,IAAI,MAAM,CAAI,GAAA,CAAA;AAAG,MAAO,OAAA,MAAA,CAAO,OAAO,OAAO,CAAA,CAAA;AAC7C,IAAA,IAAI,CAAC,KAAA;AAAO,MAAO,OAAA,EAAA,CAAA;AACnB,IAAU,OAAA,GAAA,KAAA,CAAA;AAAA,GACX;AACA,EAAO,OAAA,EAAA,CAAA;AACR,EAAA;AAEa,MAAA,GAAA,GAAM,SAAU,CAAG,EAAA;AAC/B,EAAA,IAAA,GAAO,CAAK,IAAA,IAAA,CAAA;AAEZ,EAAQ,OAAA,CAAA,KAAA,EAAA,CAAA;AAER,EAAA,SAAA,CAAU,OAAQ,CAAA,CAAA,EAAA,KAAM,EAAG,CAAA,IAAI,CAAC,CAAA,CAAA;AACjC,EAAA;AAGa,MAAA,YAAA,GAAe,SAAU,EAAI,EAAA;AACzC,EAAA,SAAA,CAAU,IAAI,EAAE,CAAA,CAAA;AAChB,EAAO,OAAA,MAAM,SAAU,CAAA,MAAA,CAAO,EAAE,CAAA,CAAA;AACjC,EAAA;AAEa,MAAA,IAAA,GAAO,SAAU,EAAI,EAAA;AACjC,EAAA,WAAA,GAAc,EAAM,IAAA,WAAA,CAAA;AACrB,EAAA;AAEA,YAAe,EAAE,GAAK,EAAA,CAAA,EAAG,MAAM,OAAS,EAAA,OAAA,CAAQ,OAAO,YAAa,EAAA;;;;"}
|
|
@@ -4,6 +4,8 @@ declare function __VLS_template(): {
|
|
|
4
4
|
prefix?(_: {}): any;
|
|
5
5
|
html?(_: {}): any;
|
|
6
6
|
default?(_: {}): any;
|
|
7
|
+
default?(_: {}): any;
|
|
8
|
+
suffix?(_: {}): any;
|
|
7
9
|
suffix?(_: {}): any;
|
|
8
10
|
};
|
|
9
11
|
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
@@ -26,6 +26,7 @@ export interface TabProps {
|
|
|
26
26
|
export interface ITabProvide {
|
|
27
27
|
addTab: (item: TabItem) => void;
|
|
28
28
|
removeTab: (val: string | number) => void;
|
|
29
|
+
updateTabLabel: (val: string | number, label: string) => void;
|
|
29
30
|
selectValue: Ref<string, string>;
|
|
30
31
|
}
|
|
31
32
|
declare function __VLS_template(): {
|
|
@@ -6,6 +6,8 @@ interface Props {
|
|
|
6
6
|
toggler?: boolean;
|
|
7
7
|
_show: boolean;
|
|
8
8
|
thWrap?: boolean;
|
|
9
|
+
sortable?: boolean;
|
|
10
|
+
sortType?: boolean;
|
|
9
11
|
}[];
|
|
10
12
|
checkedAll?: boolean;
|
|
11
13
|
}
|
|
@@ -23,6 +25,8 @@ declare const _default: import("vue").DefineComponent<Props, {
|
|
|
23
25
|
toggler?: boolean;
|
|
24
26
|
_show: boolean;
|
|
25
27
|
thWrap?: boolean;
|
|
28
|
+
sortable?: boolean;
|
|
29
|
+
sortType?: boolean;
|
|
26
30
|
}[];
|
|
27
31
|
checkedAll: boolean;
|
|
28
32
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -637,42 +637,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
637
637
|
/* TEXT */
|
|
638
638
|
)
|
|
639
639
|
])) : vue.createCommentVNode("v-if", true),
|
|
640
|
-
props.suggestion || _ctx.$slots.default || _ctx.$slots.suffix || props.step ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
640
|
+
(props.suggestion || _ctx.$slots.default || _ctx.$slots.suffix || props.step) && __props.type !== "textarea" ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
641
641
|
key: 9,
|
|
642
642
|
class: "to-input-suffix"
|
|
643
643
|
}, [
|
|
644
644
|
vue.renderSlot(_ctx.$slots, "default"),
|
|
645
|
-
vue.renderSlot(_ctx.$slots, "suffix")
|
|
646
|
-
props.suggestion ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
647
|
-
key: 0,
|
|
648
|
-
class: "to-input-suggestion"
|
|
649
|
-
}, [
|
|
650
|
-
(vue.openBlock(true), vue.createElementBlock(
|
|
651
|
-
vue.Fragment,
|
|
652
|
-
null,
|
|
653
|
-
vue.renderList(props.suggestion.split(","), (item, i) => {
|
|
654
|
-
return vue.openBlock(), vue.createBlock(vue.unref(index$2.ToButton), {
|
|
655
|
-
key: i,
|
|
656
|
-
fillet: "normal",
|
|
657
|
-
color: "info",
|
|
658
|
-
mode: "text",
|
|
659
|
-
onClick: ($event) => addSuggestion(item)
|
|
660
|
-
}, {
|
|
661
|
-
default: vue.withCtx(() => [
|
|
662
|
-
vue.createTextVNode(
|
|
663
|
-
vue.toDisplayString(item),
|
|
664
|
-
1
|
|
665
|
-
/* TEXT */
|
|
666
|
-
)
|
|
667
|
-
]),
|
|
668
|
-
_: 2
|
|
669
|
-
/* DYNAMIC */
|
|
670
|
-
}, 1032, ["onClick"]);
|
|
671
|
-
}),
|
|
672
|
-
128
|
|
673
|
-
/* KEYED_FRAGMENT */
|
|
674
|
-
))
|
|
675
|
-
])) : vue.createCommentVNode("v-if", true)
|
|
645
|
+
vue.renderSlot(_ctx.$slots, "suffix")
|
|
676
646
|
])) : vue.createCommentVNode("v-if", true),
|
|
677
647
|
props.step ? vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(index$1.ToIcon), {
|
|
678
648
|
key: 10,
|
|
@@ -684,17 +654,59 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
684
654
|
[vue.unref(dis.default), Number(data.value) === Number(props.max) || props.disabled]
|
|
685
655
|
]) : vue.createCommentVNode("v-if", true)
|
|
686
656
|
]),
|
|
687
|
-
props.maxlength !== Infinity && props.count
|
|
657
|
+
props.type === "textarea" && (props.maxlength !== Infinity && props.count || _ctx.$slots.suffix || _ctx.$slots.default || props.suggestion) ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
688
658
|
key: 1,
|
|
689
|
-
class: "to-input-
|
|
659
|
+
class: "to-input-suffix"
|
|
690
660
|
}, [
|
|
691
|
-
vue.
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
661
|
+
props.maxlength !== Infinity && props.count ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
662
|
+
key: 0,
|
|
663
|
+
class: "to-input-count"
|
|
664
|
+
}, [
|
|
665
|
+
vue.createElementVNode(
|
|
666
|
+
"span",
|
|
667
|
+
{ class: "to-input-count-text" },
|
|
668
|
+
vue.toDisplayString(getDataLength.value) + "/" + vue.toDisplayString(props.maxlength),
|
|
669
|
+
1
|
|
670
|
+
/* TEXT */
|
|
671
|
+
)
|
|
672
|
+
])) : vue.createCommentVNode("v-if", true),
|
|
673
|
+
_ctx.$slots.suffix || _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
674
|
+
key: 1,
|
|
675
|
+
class: "to-input-suffix-slot"
|
|
676
|
+
}, [
|
|
677
|
+
__props.type === "textarea" ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : vue.createCommentVNode("v-if", true),
|
|
678
|
+
__props.type === "textarea" ? vue.renderSlot(_ctx.$slots, "suffix", { key: 1 }) : vue.createCommentVNode("v-if", true)
|
|
679
|
+
])) : vue.createCommentVNode("v-if", true),
|
|
680
|
+
props.suggestion ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
681
|
+
key: 2,
|
|
682
|
+
class: "to-input-suggestion"
|
|
683
|
+
}, [
|
|
684
|
+
(vue.openBlock(true), vue.createElementBlock(
|
|
685
|
+
vue.Fragment,
|
|
686
|
+
null,
|
|
687
|
+
vue.renderList(props.suggestion.split(","), (item, i) => {
|
|
688
|
+
return vue.openBlock(), vue.createBlock(vue.unref(index$2.ToButton), {
|
|
689
|
+
key: i,
|
|
690
|
+
fillet: "normal",
|
|
691
|
+
color: "info",
|
|
692
|
+
mode: "text",
|
|
693
|
+
onClick: ($event) => addSuggestion(item)
|
|
694
|
+
}, {
|
|
695
|
+
default: vue.withCtx(() => [
|
|
696
|
+
vue.createTextVNode(
|
|
697
|
+
vue.toDisplayString(item),
|
|
698
|
+
1
|
|
699
|
+
/* TEXT */
|
|
700
|
+
)
|
|
701
|
+
]),
|
|
702
|
+
_: 2
|
|
703
|
+
/* DYNAMIC */
|
|
704
|
+
}, 1032, ["onClick"]);
|
|
705
|
+
}),
|
|
706
|
+
128
|
|
707
|
+
/* KEYED_FRAGMENT */
|
|
708
|
+
))
|
|
709
|
+
])) : vue.createCommentVNode("v-if", true)
|
|
698
710
|
])) : vue.createCommentVNode("v-if", true),
|
|
699
711
|
errorTip.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
|
|
700
712
|
key: 2,
|