vxe-table 3.9.0-rc.9 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/es/grid/src/grid.js +120 -66
- package/es/grid/style.css +0 -1
- package/es/grid/style.min.css +1 -1
- package/es/index.esm.js +22 -3
- package/es/locale/lang/en-US.js +2 -1
- package/es/locale/lang/es-ES.js +2 -1
- package/es/locale/lang/hu-HU.js +2 -1
- package/es/locale/lang/ja-JP.js +2 -1
- package/es/locale/lang/ko-KR.js +2 -1
- package/es/locale/lang/pt-BR.js +2 -1
- package/es/locale/lang/ru-RU.js +2 -1
- package/es/locale/lang/uk-UA.js +2 -1
- package/es/locale/lang/vi-VN.js +2 -1
- package/es/locale/lang/zh-CHT.js +2 -1
- package/es/locale/lang/zh-CN.js +2 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/panel.js +183 -173
- package/es/table/module/edit/mixin.js +33 -24
- package/es/table/module/export/export-panel.js +32 -4
- package/es/table/module/export/import-panel.js +25 -6
- package/es/table/module/export/mixin.js +11 -11
- package/es/table/module/menu/mixin.js +2 -2
- package/es/table/module/validator/mixin.js +4 -4
- package/es/table/render/index.js +17 -11
- package/es/table/src/body.js +1 -0
- package/es/table/src/columnInfo.js +3 -3
- package/es/table/src/methods.js +54 -42
- package/es/table/src/props.js +65 -15
- package/es/table/src/table.js +91 -57
- package/es/table/src/util.js +3 -2
- package/es/table/style.css +37 -48
- package/es/table/style.min.css +1 -1
- package/es/toolbar/src/toolbar.js +21 -7
- package/es/toolbar/style.css +0 -1
- package/es/toolbar/style.min.css +1 -1
- package/es/ui/index.js +5 -3
- package/es/ui/src/log.js +1 -1
- package/es/vxe-grid/style.css +0 -1
- package/es/vxe-grid/style.min.css +1 -1
- package/es/vxe-table/style.css +37 -48
- package/es/vxe-table/style.min.css +1 -1
- package/es/vxe-toolbar/style.css +0 -1
- package/es/vxe-toolbar/style.min.css +1 -1
- package/lib/colgroup/index.js +3 -3
- package/lib/colgroup/index.min.js +1 -1
- package/lib/column/index.js +3 -3
- package/lib/column/index.min.js +1 -1
- package/lib/components.js +9 -11
- package/lib/components.min.js +1 -1
- package/lib/grid/index.js +3 -3
- package/lib/grid/index.min.js +1 -1
- package/lib/grid/src/grid.js +581 -491
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/grid/style/style.css +0 -1
- package/lib/grid/style/style.min.css +1 -1
- package/lib/index.common.js +3 -4
- package/lib/index.umd.js +9174 -17260
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/en-US.js +2 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -1
- package/lib/locale/lang/es-ES.js +2 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -1
- package/lib/locale/lang/hu-HU.js +2 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -1
- package/lib/locale/lang/ja-JP.js +2 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -1
- package/lib/locale/lang/ko-KR.js +2 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -1
- package/lib/locale/lang/pt-BR.js +2 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -1
- package/lib/locale/lang/ru-RU.js +2 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +2 -1
- package/lib/locale/lang/uk-UA.js +2 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +2 -1
- package/lib/locale/lang/vi-VN.js +2 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +2 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +2 -1
- package/lib/locale/lang/zh-CN.js +2 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/index.js +4 -4
- package/lib/table/index.min.js +1 -1
- package/lib/table/module/custom/mixin.js +53 -44
- package/lib/table/module/custom/mixin.min.js +1 -1
- package/lib/table/module/custom/panel.js +310 -239
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/mixin.js +436 -371
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/export-panel.js +136 -106
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/import-panel.js +75 -54
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/export/mixin.js +592 -597
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/export/util.js +6 -4
- package/lib/table/module/export/util.min.js +1 -1
- package/lib/table/module/filter/mixin.js +147 -118
- package/lib/table/module/filter/mixin.min.js +1 -1
- package/lib/table/module/filter/panel.js +86 -65
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +163 -151
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/module/menu/mixin.js +125 -114
- package/lib/table/module/menu/mixin.min.js +1 -1
- package/lib/table/module/menu/panel.js +36 -34
- package/lib/table/module/menu/panel.min.js +1 -1
- package/lib/table/module/validator/mixin.js +225 -214
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/render/index.js +401 -297
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +411 -349
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +470 -344
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +10 -10
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +46 -55
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +157 -132
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/group.js +1 -1
- package/lib/table/src/group.min.js +1 -1
- package/lib/table/src/header.js +170 -153
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +2758 -2478
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +33 -74
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +465 -424
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +143 -131
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +37 -48
- package/lib/table/style/style.min.css +1 -1
- package/lib/toolbar/index.js +3 -3
- package/lib/toolbar/index.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +332 -284
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/toolbar/style/style.css +0 -1
- package/lib/toolbar/style/style.min.css +1 -1
- package/lib/ui/index.js +50 -41
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/comp.js +2 -3
- package/lib/ui/src/comp.min.js +1 -1
- package/lib/ui/src/dom.js +29 -28
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +6 -4
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/utils.js +7 -7
- package/lib/v-x-e-table/index.js +3 -4
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/vxe-colgroup/index.js +3 -4
- package/lib/vxe-colgroup/index.min.js +1 -1
- package/lib/vxe-column/index.js +3 -4
- package/lib/vxe-column/index.min.js +1 -1
- package/lib/vxe-grid/index.js +3 -4
- package/lib/vxe-grid/index.min.js +1 -1
- package/lib/vxe-grid/style/style.css +0 -1
- package/lib/vxe-grid/style/style.min.css +1 -1
- package/lib/vxe-table/index.js +3 -4
- package/lib/vxe-table/index.min.js +1 -1
- package/lib/vxe-table/style/style.css +37 -48
- package/lib/vxe-table/style/style.min.css +1 -1
- package/lib/vxe-toolbar/index.js +3 -4
- package/lib/vxe-toolbar/index.min.js +1 -1
- package/lib/vxe-toolbar/style/style.css +0 -1
- package/lib/vxe-toolbar/style/style.min.css +1 -1
- package/lib/vxe-ui/index.js +3 -4
- package/lib/vxe-ui/index.min.js +1 -1
- package/lib/vxe-v-x-e-table/index.js +3 -4
- package/lib/vxe-v-x-e-table/index.min.js +1 -1
- package/package.json +5 -4
- package/packages/grid/src/grid.ts +127 -65
- package/packages/locale/lang/en-US.ts +2 -1
- package/packages/locale/lang/es-ES.ts +2 -1
- package/packages/locale/lang/hu-HU.ts +2 -1
- package/packages/locale/lang/ja-JP.ts +2 -1
- package/packages/locale/lang/ko-KR.ts +2 -1
- package/packages/locale/lang/pt-BR.ts +2 -1
- package/packages/locale/lang/ru-RU.ts +2 -1
- package/packages/locale/lang/uk-UA.ts +2 -1
- package/packages/locale/lang/vi-VN.ts +2 -1
- package/packages/locale/lang/zh-CHT.ts +2 -1
- package/packages/locale/lang/zh-CN.ts +2 -1
- package/packages/table/module/custom/panel.ts +186 -175
- package/packages/table/module/edit/mixin.ts +32 -23
- package/packages/table/module/export/export-panel.ts +36 -4
- package/packages/table/module/export/import-panel.ts +29 -6
- package/packages/table/module/export/mixin.ts +11 -11
- package/packages/table/module/menu/mixin.ts +2 -2
- package/packages/table/module/validator/mixin.ts +4 -4
- package/packages/table/render/index.ts +20 -11
- package/packages/table/src/body.ts +1 -0
- package/packages/table/src/columnInfo.ts +3 -3
- package/packages/table/src/methods.ts +53 -42
- package/packages/table/src/props.ts +68 -15
- package/packages/table/src/table.ts +99 -54
- package/packages/table/src/util.ts +3 -2
- package/packages/toolbar/src/toolbar.ts +21 -7
- package/packages/ui/index.ts +3 -1
- package/styles/components/table.scss +82 -17
- package/types/all.d.ts +1 -0
- /package/es/{iconfont.1726453742001.ttf → iconfont.1728348263835.ttf} +0 -0
- /package/es/{iconfont.1726453742001.woff → iconfont.1728348263835.woff} +0 -0
- /package/es/{iconfont.1726453742001.woff2 → iconfont.1728348263835.woff2} +0 -0
- /package/lib/{iconfont.1726453742001.ttf → iconfont.1728348263835.ttf} +0 -0
- /package/lib/{iconfont.1726453742001.woff → iconfont.1728348263835.woff} +0 -0
- /package/lib/{iconfont.1726453742001.woff2 → iconfont.1728348263835.woff2} +0 -0
package/lib/table/src/header.js
CHANGED
|
@@ -9,11 +9,7 @@ var _utils = require("../../ui/src/utils");
|
|
|
9
9
|
var _dom = require("../../ui/src/dom");
|
|
10
10
|
var _util = require("./util");
|
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
-
|
|
13
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
14
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
15
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
|
-
var cellType = 'header';
|
|
12
|
+
const cellType = 'header';
|
|
17
13
|
var _default = exports.default = {
|
|
18
14
|
name: 'VxeTableHeader',
|
|
19
15
|
props: {
|
|
@@ -24,77 +20,88 @@ var _default = exports.default = {
|
|
|
24
20
|
size: String,
|
|
25
21
|
fixedType: String
|
|
26
22
|
},
|
|
27
|
-
data
|
|
23
|
+
data() {
|
|
28
24
|
return {
|
|
29
25
|
headerColumn: []
|
|
30
26
|
};
|
|
31
27
|
},
|
|
32
28
|
watch: {
|
|
33
|
-
tableColumn
|
|
29
|
+
tableColumn() {
|
|
34
30
|
this.uploadColumn();
|
|
35
31
|
}
|
|
36
32
|
},
|
|
37
|
-
created
|
|
33
|
+
created() {
|
|
38
34
|
this.uploadColumn();
|
|
39
35
|
},
|
|
40
|
-
mounted
|
|
41
|
-
|
|
42
|
-
$
|
|
43
|
-
$
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
elemStore[
|
|
52
|
-
elemStore[
|
|
36
|
+
mounted() {
|
|
37
|
+
const {
|
|
38
|
+
$parent: $xetable,
|
|
39
|
+
$el,
|
|
40
|
+
$refs,
|
|
41
|
+
fixedType
|
|
42
|
+
} = this;
|
|
43
|
+
const {
|
|
44
|
+
elemStore
|
|
45
|
+
} = $xetable;
|
|
46
|
+
const prefix = `${fixedType || 'main'}-header-`;
|
|
47
|
+
elemStore[`${prefix}wrapper`] = $el;
|
|
48
|
+
elemStore[`${prefix}table`] = $refs.table;
|
|
49
|
+
elemStore[`${prefix}colgroup`] = $refs.colgroup;
|
|
50
|
+
elemStore[`${prefix}list`] = $refs.thead;
|
|
51
|
+
elemStore[`${prefix}xSpace`] = $refs.xSpace;
|
|
52
|
+
elemStore[`${prefix}repair`] = $refs.repair;
|
|
53
53
|
},
|
|
54
|
-
destroyed
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
elemStore[
|
|
64
|
-
elemStore[
|
|
54
|
+
destroyed() {
|
|
55
|
+
const {
|
|
56
|
+
$parent: $xetable,
|
|
57
|
+
fixedType
|
|
58
|
+
} = this;
|
|
59
|
+
const {
|
|
60
|
+
elemStore
|
|
61
|
+
} = $xetable;
|
|
62
|
+
const prefix = `${fixedType || 'main'}-header-`;
|
|
63
|
+
elemStore[`${prefix}wrapper`] = null;
|
|
64
|
+
elemStore[`${prefix}table`] = null;
|
|
65
|
+
elemStore[`${prefix}colgroup`] = null;
|
|
66
|
+
elemStore[`${prefix}list`] = null;
|
|
67
|
+
elemStore[`${prefix}xSpace`] = null;
|
|
68
|
+
elemStore[`${prefix}repair`] = null;
|
|
65
69
|
},
|
|
66
|
-
render
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
$xetable
|
|
70
|
-
fixedType
|
|
71
|
-
headerColumn
|
|
72
|
-
tableColumn
|
|
73
|
-
fixedColumn
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
70
|
+
render(h) {
|
|
71
|
+
const {
|
|
72
|
+
_e,
|
|
73
|
+
$parent: $xetable,
|
|
74
|
+
fixedType,
|
|
75
|
+
headerColumn,
|
|
76
|
+
tableColumn,
|
|
77
|
+
fixedColumn
|
|
78
|
+
} = this;
|
|
79
|
+
const {
|
|
80
|
+
$listeners: tableListeners,
|
|
81
|
+
tId,
|
|
82
|
+
isGroup,
|
|
83
|
+
visibleColumn,
|
|
84
|
+
resizable,
|
|
85
|
+
border,
|
|
86
|
+
columnKey,
|
|
87
|
+
headerRowClassName,
|
|
88
|
+
headerCellClassName,
|
|
89
|
+
headerRowStyle,
|
|
90
|
+
headerCellStyle,
|
|
91
|
+
showHeaderOverflow: allColumnHeaderOverflow,
|
|
92
|
+
headerAlign: allHeaderAlign,
|
|
93
|
+
align: allAlign,
|
|
94
|
+
highlightCurrentColumn,
|
|
95
|
+
currentColumn,
|
|
96
|
+
scrollXLoad,
|
|
97
|
+
overflowX,
|
|
98
|
+
scrollbarWidth,
|
|
99
|
+
sortOpts,
|
|
100
|
+
mouseConfig,
|
|
101
|
+
columnOpts
|
|
102
|
+
} = $xetable;
|
|
103
|
+
let headerGroups = headerColumn;
|
|
104
|
+
let renderColumnList = tableColumn;
|
|
98
105
|
if (isGroup) {
|
|
99
106
|
renderColumnList = visibleColumn;
|
|
100
107
|
} else {
|
|
@@ -107,7 +114,7 @@ var _default = exports.default = {
|
|
|
107
114
|
headerGroups = [renderColumnList];
|
|
108
115
|
}
|
|
109
116
|
return h('div', {
|
|
110
|
-
class: ['vxe-table--header-wrapper', fixedType ?
|
|
117
|
+
class: ['vxe-table--header-wrapper', fixedType ? `fixed-${fixedType}--wrapper` : 'body--wrapper'],
|
|
111
118
|
attrs: {
|
|
112
119
|
xid: tId
|
|
113
120
|
}
|
|
@@ -129,7 +136,7 @@ var _default = exports.default = {
|
|
|
129
136
|
*/
|
|
130
137
|
h('colgroup', {
|
|
131
138
|
ref: 'colgroup'
|
|
132
|
-
}, renderColumnList.map(
|
|
139
|
+
}, renderColumnList.map((column, $columnIndex) => {
|
|
133
140
|
return h('col', {
|
|
134
141
|
attrs: {
|
|
135
142
|
name: column.id
|
|
@@ -146,80 +153,85 @@ var _default = exports.default = {
|
|
|
146
153
|
*/
|
|
147
154
|
h('thead', {
|
|
148
155
|
ref: 'thead'
|
|
149
|
-
}, headerGroups.map(
|
|
156
|
+
}, headerGroups.map((cols, $rowIndex) => {
|
|
150
157
|
return h('tr', {
|
|
151
158
|
class: ['vxe-header--row', headerRowClassName ? _xeUtils.default.isFunction(headerRowClassName) ? headerRowClassName({
|
|
152
159
|
$table: $xetable,
|
|
153
|
-
$rowIndex
|
|
160
|
+
$rowIndex,
|
|
154
161
|
fixed: fixedType,
|
|
155
162
|
type: cellType
|
|
156
163
|
}) : headerRowClassName : ''],
|
|
157
164
|
style: headerRowStyle ? _xeUtils.default.isFunction(headerRowStyle) ? headerRowStyle({
|
|
158
165
|
$table: $xetable,
|
|
159
|
-
$rowIndex
|
|
166
|
+
$rowIndex,
|
|
160
167
|
fixed: fixedType,
|
|
161
168
|
type: cellType
|
|
162
169
|
}) : headerRowStyle : null
|
|
163
|
-
}, cols.map(
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
showHeaderOverflow
|
|
167
|
-
headerAlign
|
|
168
|
-
align
|
|
169
|
-
headerClassName
|
|
170
|
+
}, cols.map((column, $columnIndex) => {
|
|
171
|
+
const {
|
|
172
|
+
type,
|
|
173
|
+
showHeaderOverflow,
|
|
174
|
+
headerAlign,
|
|
175
|
+
align,
|
|
176
|
+
headerClassName
|
|
177
|
+
} = column;
|
|
170
178
|
// const { enabled } = tooltipOpts
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
var _columnIndex = $xetable.getVTColumnIndex(column);
|
|
186
|
-
var params = {
|
|
179
|
+
const colid = column.id;
|
|
180
|
+
const isColGroup = column.children && column.children.length;
|
|
181
|
+
const fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : column.fixed && overflowX;
|
|
182
|
+
const headOverflow = _xeUtils.default.isUndefined(showHeaderOverflow) || _xeUtils.default.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
|
|
183
|
+
const headAlign = headerAlign || align || allHeaderAlign || allAlign;
|
|
184
|
+
let showEllipsis = headOverflow === 'ellipsis';
|
|
185
|
+
const showTitle = headOverflow === 'title';
|
|
186
|
+
const showTooltip = headOverflow === true || headOverflow === 'tooltip';
|
|
187
|
+
let hasEllipsis = showTitle || showTooltip || showEllipsis;
|
|
188
|
+
const thOns = {};
|
|
189
|
+
const hasFilter = column.filters && column.filters.some(item => item.checked);
|
|
190
|
+
const columnIndex = $xetable.getColumnIndex(column);
|
|
191
|
+
const _columnIndex = $xetable.getVTColumnIndex(column);
|
|
192
|
+
const params = {
|
|
187
193
|
$table: $xetable,
|
|
188
194
|
$grid: $xetable.xegrid,
|
|
189
|
-
$rowIndex
|
|
190
|
-
column
|
|
191
|
-
columnIndex
|
|
192
|
-
$columnIndex
|
|
193
|
-
_columnIndex
|
|
195
|
+
$rowIndex,
|
|
196
|
+
column,
|
|
197
|
+
columnIndex,
|
|
198
|
+
$columnIndex,
|
|
199
|
+
_columnIndex,
|
|
194
200
|
fixed: fixedType,
|
|
195
201
|
type: cellType,
|
|
196
202
|
isHidden: fixedHiddenColumn,
|
|
197
|
-
hasFilter
|
|
203
|
+
hasFilter
|
|
198
204
|
};
|
|
199
205
|
// 虚拟滚动不支持动态高度
|
|
200
206
|
if (scrollXLoad && !hasEllipsis) {
|
|
201
207
|
showEllipsis = hasEllipsis = true;
|
|
202
208
|
}
|
|
203
209
|
if (columnOpts.isCurrent || highlightCurrentColumn || tableListeners['header-cell-click'] || sortOpts.trigger === 'cell') {
|
|
204
|
-
thOns.click =
|
|
205
|
-
return $xetable.triggerHeaderCellClickEvent(evnt, params);
|
|
206
|
-
};
|
|
210
|
+
thOns.click = evnt => $xetable.triggerHeaderCellClickEvent(evnt, params);
|
|
207
211
|
}
|
|
208
212
|
if (tableListeners['header-cell-dblclick']) {
|
|
209
|
-
thOns.dblclick =
|
|
210
|
-
return $xetable.triggerHeaderCellDblclickEvent(evnt, params);
|
|
211
|
-
};
|
|
213
|
+
thOns.dblclick = evnt => $xetable.triggerHeaderCellDblclickEvent(evnt, params);
|
|
212
214
|
}
|
|
213
215
|
// 按下事件处理
|
|
214
216
|
if (mouseConfig) {
|
|
215
|
-
thOns.mousedown =
|
|
216
|
-
return $xetable.triggerHeaderCellMousedownEvent(evnt, params);
|
|
217
|
-
};
|
|
217
|
+
thOns.mousedown = evnt => $xetable.triggerHeaderCellMousedownEvent(evnt, params);
|
|
218
218
|
}
|
|
219
219
|
return h('th', {
|
|
220
|
-
class: ['vxe-header--column', colid,
|
|
220
|
+
class: ['vxe-header--column', colid, {
|
|
221
|
+
[`col--${headAlign}`]: headAlign,
|
|
222
|
+
[`col--${type}`]: type,
|
|
223
|
+
'col--last': $columnIndex === cols.length - 1,
|
|
224
|
+
'col--fixed': column.fixed,
|
|
225
|
+
'col--group': isColGroup,
|
|
226
|
+
'col--ellipsis': hasEllipsis,
|
|
227
|
+
'fixed--hidden': fixedHiddenColumn,
|
|
228
|
+
'is--sortable': column.sortable,
|
|
229
|
+
'col--filter': !!column.filters,
|
|
230
|
+
'is--filter-active': hasFilter,
|
|
231
|
+
'col--current': currentColumn === column
|
|
232
|
+
}, (0, _utils.getClass)(headerClassName, params), (0, _utils.getClass)(headerCellClassName, params)],
|
|
221
233
|
attrs: {
|
|
222
|
-
colid
|
|
234
|
+
colid,
|
|
223
235
|
colspan: column.colSpan > 1 ? column.colSpan : null,
|
|
224
236
|
rowspan: column.rowSpan > 1 ? column.rowSpan : null
|
|
225
237
|
},
|
|
@@ -241,9 +253,7 @@ var _default = exports.default = {
|
|
|
241
253
|
'is--line': !border || border === 'none'
|
|
242
254
|
}],
|
|
243
255
|
on: {
|
|
244
|
-
mousedown:
|
|
245
|
-
return _this.resizeMousedown(evnt, params);
|
|
246
|
-
}
|
|
256
|
+
mousedown: evnt => this.resizeMousedown(evnt, params)
|
|
247
257
|
}
|
|
248
258
|
}) : null]);
|
|
249
259
|
}).concat(scrollbarWidth ? [h('th', {
|
|
@@ -259,40 +269,49 @@ var _default = exports.default = {
|
|
|
259
269
|
})]);
|
|
260
270
|
},
|
|
261
271
|
methods: {
|
|
262
|
-
uploadColumn
|
|
263
|
-
|
|
272
|
+
uploadColumn() {
|
|
273
|
+
const {
|
|
274
|
+
$parent: $xetable
|
|
275
|
+
} = this;
|
|
264
276
|
this.headerColumn = $xetable.isGroup ? (0, _util.convertHeaderColumnToRows)(this.tableGroupColumn) : [];
|
|
265
277
|
},
|
|
266
|
-
resizeMousedown
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
278
|
+
resizeMousedown(evnt, params) {
|
|
279
|
+
const {
|
|
280
|
+
column
|
|
281
|
+
} = params;
|
|
282
|
+
const {
|
|
283
|
+
$parent: $xetable,
|
|
284
|
+
$el,
|
|
285
|
+
fixedType
|
|
286
|
+
} = this;
|
|
287
|
+
const {
|
|
288
|
+
tableBody,
|
|
289
|
+
leftContainer,
|
|
290
|
+
rightContainer,
|
|
291
|
+
resizeBar: resizeBarElem
|
|
292
|
+
} = $xetable.$refs;
|
|
293
|
+
const {
|
|
294
|
+
target: dragBtnElem,
|
|
295
|
+
clientX: dragClientX
|
|
296
|
+
} = evnt;
|
|
297
|
+
const cell = params.cell = dragBtnElem.parentNode;
|
|
298
|
+
let dragLeft = 0;
|
|
299
|
+
const tableBodyElem = tableBody.$el;
|
|
300
|
+
const pos = (0, _dom.getOffsetPos)(dragBtnElem, $el);
|
|
301
|
+
const dragBtnWidth = dragBtnElem.clientWidth;
|
|
302
|
+
const dragBtnOffsetWidth = Math.floor(dragBtnWidth / 2);
|
|
303
|
+
const minInterval = (0, _util.getColReMinWidth)(params) - dragBtnOffsetWidth; // 列之间的最小间距
|
|
304
|
+
let dragMinLeft = pos.left - cell.clientWidth + dragBtnWidth + minInterval;
|
|
305
|
+
let dragPosLeft = pos.left + dragBtnOffsetWidth;
|
|
306
|
+
const domMousemove = document.onmousemove;
|
|
307
|
+
const domMouseup = document.onmouseup;
|
|
308
|
+
const isLeftFixed = fixedType === 'left';
|
|
309
|
+
const isRightFixed = fixedType === 'right';
|
|
291
310
|
// 计算左右侧固定列偏移量
|
|
292
|
-
|
|
311
|
+
let fixedOffsetWidth = 0;
|
|
293
312
|
if (isLeftFixed || isRightFixed) {
|
|
294
|
-
|
|
295
|
-
|
|
313
|
+
const siblingProp = isLeftFixed ? 'nextElementSibling' : 'previousElementSibling';
|
|
314
|
+
let tempCellElem = cell[siblingProp];
|
|
296
315
|
while (tempCellElem) {
|
|
297
316
|
if ((0, _dom.hasClass)(tempCellElem, 'fixed--hidden')) {
|
|
298
317
|
break;
|
|
@@ -306,12 +325,12 @@ var _default = exports.default = {
|
|
|
306
325
|
}
|
|
307
326
|
}
|
|
308
327
|
// 处理拖动事件
|
|
309
|
-
|
|
328
|
+
const updateEvent = function (evnt) {
|
|
310
329
|
evnt.stopPropagation();
|
|
311
330
|
evnt.preventDefault();
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
331
|
+
const offsetX = evnt.clientX - dragClientX;
|
|
332
|
+
let left = dragPosLeft + offsetX;
|
|
333
|
+
const scrollLeft = fixedType ? 0 : tableBodyElem.scrollLeft;
|
|
315
334
|
if (isLeftFixed) {
|
|
316
335
|
// 左固定列(不允许超过右侧固定列、不允许超过右边距)
|
|
317
336
|
left = Math.min(left, (rightContainer ? rightContainer.offsetLeft : tableBodyElem.clientWidth) - fixedOffsetWidth - minInterval);
|
|
@@ -324,7 +343,7 @@ var _default = exports.default = {
|
|
|
324
343
|
// left = Math.min(left, tableBodyElem.clientWidth + tableBodyElem.scrollLeft - 40)
|
|
325
344
|
}
|
|
326
345
|
dragLeft = Math.max(left, dragMinLeft);
|
|
327
|
-
resizeBarElem.style.left =
|
|
346
|
+
resizeBarElem.style.left = `${dragLeft - scrollLeft}px`;
|
|
328
347
|
};
|
|
329
348
|
$xetable._isResize = true;
|
|
330
349
|
(0, _dom.addClass)($xetable.$el, 'drag--resize');
|
|
@@ -333,21 +352,19 @@ var _default = exports.default = {
|
|
|
333
352
|
document.onmouseup = function (evnt) {
|
|
334
353
|
document.onmousemove = domMousemove;
|
|
335
354
|
document.onmouseup = domMouseup;
|
|
336
|
-
|
|
355
|
+
const resizeWidth = column.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft);
|
|
337
356
|
column.resizeWidth = resizeWidth;
|
|
338
357
|
resizeBarElem.style.display = 'none';
|
|
339
358
|
$xetable._isResize = false;
|
|
340
359
|
$xetable._lastResizeTime = Date.now();
|
|
341
360
|
$xetable.analyColumnWidth();
|
|
342
|
-
$xetable.recalculate(true).then(
|
|
361
|
+
$xetable.recalculate(true).then(() => {
|
|
343
362
|
$xetable.saveCustomStore('update:visible');
|
|
344
363
|
$xetable.updateCellAreas();
|
|
345
364
|
$xetable.emitEvent('resizable-change', Object.assign(Object.assign({}, params), {
|
|
346
|
-
resizeWidth
|
|
365
|
+
resizeWidth
|
|
347
366
|
}), evnt);
|
|
348
|
-
setTimeout(
|
|
349
|
-
return $xetable.recalculate(true);
|
|
350
|
-
}, 300);
|
|
367
|
+
setTimeout(() => $xetable.recalculate(true), 300);
|
|
351
368
|
});
|
|
352
369
|
(0, _dom.removeClass)($xetable.$el, 'drag--resize');
|
|
353
370
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let cellType="header";var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-header-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.thead,e[r+"xSpace"]=t.xSpace,e[r+"repair"]=t.repair},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-header-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"repair"]=null},render(v){let{_e:e,$parent:C,fixedType:y,headerColumn:l,tableColumn:t,fixedColumn:r}=this,{$listeners:_,tId:i,isGroup:a,visibleColumn:o,resizable:w,border:$,columnKey:z,headerRowClassName:s,headerCellClassName:S,headerRowStyle:n,headerCellStyle:T,showHeaderOverflow:M,headerAlign:W,align:k,highlightCurrentColumn:H,currentColumn:I,scrollXLoad:R,overflowX:O,scrollbarWidth:d,sortOpts:U,mouseConfig:A,columnOpts:q}=C,u=l,c=t;return a?c=o:(y&&(R||M)&&(c=r),u=[c]),v("div",{class:["vxe-table--header-wrapper",y?`fixed-${y}--wrapper`:"body--wrapper"],attrs:{xid:i}},[y?e():v("div",{class:"vxe-body--x-space",ref:"xSpace"}),v("table",{class:"vxe-table--header",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0},ref:"table"},[v("colgroup",{ref:"colgroup"},c.map((e,l)=>v("col",{attrs:{name:e.id},key:l})).concat(d?[v("col",{attrs:{name:"col_gutter"}})]:[])),v("thead",{ref:"thead"},u.map((g,b)=>v("tr",{class:["vxe-header--row",s?_xeUtils.default.isFunction(s)?s({$table:C,$rowIndex:b,fixed:y,type:cellType}):s:""],style:n?_xeUtils.default.isFunction(n)?n({$table:C,$rowIndex:b,fixed:y,type:cellType}):n:null},g.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:i,align:a,headerClassName:o}=e,s=e.id,n=e.children&&e.children.length,d=y?e.fixed!==y&&!n:e.fixed&&O,r=_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?M:r,i=i||a||W||k;let u="ellipsis"===r;a="title"===r,r=!0===r||"tooltip"===r;let c=a||r||u;var p={},m=e.filters&&e.filters.some(e=>e.checked),h=C.getColumnIndex(e),f=C.getVTColumnIndex(e);let x={$table:C,$grid:C.xegrid,$rowIndex:b,column:e,columnIndex:h,$columnIndex:l,_columnIndex:f,fixed:y,type:cellType,isHidden:d,hasFilter:m};return R&&!c&&(u=c=!0),(q.isCurrent||H||_["header-cell-click"]||"cell"===U.trigger)&&(p.click=e=>C.triggerHeaderCellClickEvent(e,x)),_["header-cell-dblclick"]&&(p.dblclick=e=>C.triggerHeaderCellDblclickEvent(e,x)),A&&(p.mousedown=e=>C.triggerHeaderCellMousedownEvent(e,x)),v("th",{class:["vxe-header--column",s,{["col--"+i]:i,["col--"+t]:t,"col--last":l===g.length-1,"col--fixed":e.fixed,"col--group":n,"col--ellipsis":c,"fixed--hidden":d,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":m,"col--current":I===e},(0,_utils.getClass)(o,x),(0,_utils.getClass)(S,x)],attrs:{colid:s,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},style:T?_xeUtils.default.isFunction(T)?T(x):T:null,on:p,key:z||q.useKey||n?s:l},[v("div",{class:["vxe-cell",{"c--title":a,"c--tooltip":r,"c--ellipsis":u}]},e.renderHeader(v,x)),d||n||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:q.resizable||w)?null:v("div",{class:["vxe-resizable",{"is--line":!$||"none"===$}],on:{mousedown:e=>this.resizeMousedown(e,x)}})])}).concat(d?[v("th",{class:"vxe-header--gutter col--gutter"})]:[]))))]),v("div",{class:"vxe-table--header-border-line",ref:"repair"})])},methods:{uploadColumn(){var e=this.$parent;this.headerColumn=e.isGroup?(0,_util.convertHeaderColumnToRows)(this.tableGroupColumn):[]},resizeMousedown(e,t){let r=t.column,{$parent:i,$el:l,fixedType:a}=this,{tableBody:o,leftContainer:s,rightContainer:n,resizeBar:d}=i.$refs,{target:u,clientX:c}=e,p=t.cell=u.parentNode,m=0,h=o.$el;var f=(0,_dom.getOffsetPos)(u,l),x=u.clientWidth,g=Math.floor(x/2);let b=(0,_util.getColReMinWidth)(t)-g,v=f.left-p.clientWidth+x+b,C=f.left+g,y=document.onmousemove,_=document.onmouseup,w="left"===a,$="right"===a,z=0;if(w||$){var S=w?"nextElementSibling":"previousElementSibling";let e=p[S];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(z+=e.offsetWidth),e=e[S];$&&n&&(C=n.offsetLeft+z)}function T(e){e.stopPropagation(),e.preventDefault(),e=e.clientX-c;let l=C+e;e=a?0:h.scrollLeft,w?l=Math.min(l,(n?n.offsetLeft:h.clientWidth)-z-b):$?(v=(s?s.clientWidth:0)+z+b,l=Math.min(l,C+p.clientWidth-b)):v=Math.max(h.scrollLeft,v),m=Math.max(l,v),d.style.left=m-e+"px"}i._isResize=!0,(0,_dom.addClass)(i.$el,"drag--resize"),d.style.display="block",document.onmousemove=T,document.onmouseup=function(e){document.onmousemove=y,document.onmouseup=_;let l=r.renderWidth+($?C-m:m-C);r.resizeWidth=l,d.style.display="none",i._isResize=!1,i._lastResizeTime=Date.now(),i.analyColumnWidth(),i.recalculate(!0).then(()=>{i.saveCustomStore("update:visible"),i.updateCellAreas(),i.emitEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>i.recalculate(!0),300)}),(0,_dom.removeClass)(i.$el,"drag--resize")},T(e),i.closeMenu()}}};
|