vxe-table 3.18.2 → 3.18.4
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/grid/src/grid.js +5 -1
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/menu/mixin.js +67 -43
- package/es/table/module/menu/panel.js +10 -8
- package/es/table/render/index.js +4 -3
- package/es/table/src/body.js +12 -14
- package/es/table/src/methods.js +17 -5
- package/es/table/src/table.js +6 -7
- package/es/table/style.css +0 -4
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/ui/src/vn.js +17 -7
- package/es/vxe-table/style.css +0 -4
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +6 -0
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +161 -104
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/menu/mixin.js +84 -58
- package/lib/table/module/menu/mixin.min.js +1 -1
- package/lib/table/module/menu/panel.js +11 -10
- package/lib/table/module/menu/panel.min.js +1 -1
- package/lib/table/render/index.js +6 -3
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +11 -13
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/methods.js +18 -5
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +6 -7
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +0 -4
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/vn.js +17 -6
- package/lib/ui/src/vn.min.js +1 -1
- package/lib/vxe-table/style/style.css +0 -4
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/grid/src/grid.ts +5 -1
- package/packages/table/module/menu/mixin.ts +79 -50
- package/packages/table/module/menu/panel.ts +11 -9
- package/packages/table/render/index.ts +27 -26
- package/packages/table/src/body.ts +11 -13
- package/packages/table/src/methods.ts +17 -5
- package/packages/table/src/table.ts +9 -7
- package/packages/ui/src/vn.ts +20 -9
- package/styles/components/table.scss +0 -1
- /package/es/{iconfont.1756452257212.ttf → iconfont.1756734865034.ttf} +0 -0
- /package/es/{iconfont.1756452257212.woff → iconfont.1756734865034.woff} +0 -0
- /package/es/{iconfont.1756452257212.woff2 → iconfont.1756734865034.woff2} +0 -0
- /package/lib/{iconfont.1756452257212.ttf → iconfont.1756734865034.ttf} +0 -0
- /package/lib/{iconfont.1756452257212.woff → iconfont.1756734865034.woff} +0 -0
- /package/lib/{iconfont.1756452257212.woff2 → iconfont.1756734865034.woff2} +0 -0
|
@@ -21,13 +21,15 @@ var _default = exports.default = {
|
|
|
21
21
|
* 关闭快捷菜单
|
|
22
22
|
*/
|
|
23
23
|
_closeMenu() {
|
|
24
|
-
|
|
24
|
+
const $xeTable = this;
|
|
25
|
+
const reactData = $xeTable;
|
|
26
|
+
Object.assign(reactData.ctxMenuStore, {
|
|
25
27
|
visible: false,
|
|
26
28
|
selected: null,
|
|
27
29
|
selectChild: null,
|
|
28
30
|
showChild: false
|
|
29
31
|
});
|
|
30
|
-
return
|
|
32
|
+
return $xeTable.$nextTick();
|
|
31
33
|
},
|
|
32
34
|
// 处理菜单的移动
|
|
33
35
|
moveCtxMenu(evnt, ctxMenuStore, property, hasOper, operRest, menuList) {
|
|
@@ -68,25 +70,34 @@ var _default = exports.default = {
|
|
|
68
70
|
const $xeTable = this;
|
|
69
71
|
const $xeGrid = $xeTable.$xeGrid;
|
|
70
72
|
const $xeGantt = $xeTable.$xeGantt;
|
|
73
|
+
const props = $xeTable;
|
|
74
|
+
const reactData = $xeTable;
|
|
71
75
|
const internalData = $xeTable;
|
|
72
76
|
const {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
menuConfig,
|
|
77
|
-
contextMenu,
|
|
78
|
-
ctxMenuStore,
|
|
79
|
-
ctxMenuOpts,
|
|
77
|
+
xID
|
|
78
|
+
} = $xeTable;
|
|
79
|
+
const {
|
|
80
80
|
mouseConfig,
|
|
81
|
-
|
|
82
|
-
} =
|
|
81
|
+
menuConfig
|
|
82
|
+
} = props;
|
|
83
|
+
const {
|
|
84
|
+
editStore,
|
|
85
|
+
ctxMenuStore
|
|
86
|
+
} = reactData;
|
|
87
|
+
const {
|
|
88
|
+
visibleColumn
|
|
89
|
+
} = internalData;
|
|
90
|
+
const tableFilter = $xeTable.$refs.refTableFilter;
|
|
91
|
+
const tableMenu = $xeTable.$refs.refTableMenu;
|
|
92
|
+
const mouseOpts = $xeTable.computeMouseOpts;
|
|
93
|
+
const menuOpts = $xeTable.computeMenuOpts;
|
|
94
|
+
const el = $xeTable.$refs.refElem;
|
|
83
95
|
const {
|
|
84
96
|
selected
|
|
85
97
|
} = editStore;
|
|
86
|
-
const tableFilter = $xeTable.$refs.refTableFilter;
|
|
87
98
|
const layoutList = ['header', 'body', 'footer'];
|
|
88
|
-
if ((0, _utils.isEnableConf)(menuConfig)
|
|
89
|
-
if (ctxMenuStore.visible &&
|
|
99
|
+
if ((0, _utils.isEnableConf)(menuConfig)) {
|
|
100
|
+
if (ctxMenuStore.visible && tableMenu && (0, _dom.getEventTargetNode)(evnt, tableMenu.$el).flag) {
|
|
90
101
|
evnt.preventDefault();
|
|
91
102
|
return;
|
|
92
103
|
}
|
|
@@ -98,16 +109,16 @@ var _default = exports.default = {
|
|
|
98
109
|
$grid: $xeGrid,
|
|
99
110
|
$gantt: $xeGantt,
|
|
100
111
|
keyboard: true,
|
|
101
|
-
columns:
|
|
112
|
+
columns: visibleColumn.slice(0),
|
|
102
113
|
$event: evnt
|
|
103
114
|
};
|
|
104
115
|
// 如果开启单元格区域
|
|
105
116
|
if (mouseConfig && mouseOpts.area) {
|
|
106
|
-
const activeArea =
|
|
117
|
+
const activeArea = $xeTable.getActiveCellArea();
|
|
107
118
|
if (activeArea && activeArea.row && activeArea.column) {
|
|
108
119
|
params.row = activeArea.row;
|
|
109
120
|
params.column = activeArea.column;
|
|
110
|
-
|
|
121
|
+
$xeTable.handleOpenMenuEvent(evnt, type, params);
|
|
111
122
|
return;
|
|
112
123
|
}
|
|
113
124
|
} else if (mouseConfig && mouseOpts.selected) {
|
|
@@ -115,7 +126,7 @@ var _default = exports.default = {
|
|
|
115
126
|
if (selected.row && selected.column) {
|
|
116
127
|
params.row = selected.row;
|
|
117
128
|
params.column = selected.column;
|
|
118
|
-
|
|
129
|
+
$xeTable.handleOpenMenuEvent(evnt, type, params);
|
|
119
130
|
return;
|
|
120
131
|
}
|
|
121
132
|
}
|
|
@@ -123,16 +134,16 @@ var _default = exports.default = {
|
|
|
123
134
|
// 分别匹配表尾、内容、表尾的快捷菜单
|
|
124
135
|
for (let index = 0; index < layoutList.length; index++) {
|
|
125
136
|
const layout = layoutList[index];
|
|
126
|
-
const columnTargetNode = (0, _dom.getEventTargetNode)(evnt,
|
|
137
|
+
const columnTargetNode = (0, _dom.getEventTargetNode)(evnt, el, `vxe-${layout}--column`, target => {
|
|
127
138
|
// target=td|th,直接向上找 table 去匹配即可
|
|
128
|
-
return target.parentNode.parentNode.parentNode.getAttribute('xid') ===
|
|
139
|
+
return target.parentNode.parentNode.parentNode.getAttribute('xid') === xID;
|
|
129
140
|
});
|
|
130
141
|
const params = {
|
|
131
142
|
type: layout,
|
|
132
143
|
$table: $xeTable,
|
|
133
144
|
$grid: $xeGrid,
|
|
134
145
|
$gantt: $xeGantt,
|
|
135
|
-
columns:
|
|
146
|
+
columns: visibleColumn.slice(0),
|
|
136
147
|
$event: evnt
|
|
137
148
|
};
|
|
138
149
|
if (columnTargetNode.flag) {
|
|
@@ -157,41 +168,44 @@ var _default = exports.default = {
|
|
|
157
168
|
}
|
|
158
169
|
}
|
|
159
170
|
const eventType = `${typePrefix}cell-menu`;
|
|
160
|
-
|
|
171
|
+
$xeTable.handleOpenMenuEvent(evnt, layout, params);
|
|
161
172
|
// 在 v4 中废弃事件 cell-context-menu、header-cell-context-menu、footer-cell-context-menu
|
|
162
|
-
if (
|
|
173
|
+
if ($xeTable.$listeners[`${typePrefix}cell-context-menu`]) {
|
|
163
174
|
(0, _log.warnLog)('vxe.error.delEvent', [`${typePrefix}cell-context-menu`, `${typePrefix}cell-menu`]);
|
|
164
175
|
$xeTable.dispatchEvent(`${typePrefix}cell-context-menu`, params, evnt);
|
|
165
176
|
} else {
|
|
166
177
|
$xeTable.dispatchEvent(eventType, params, evnt);
|
|
167
178
|
}
|
|
168
179
|
return;
|
|
169
|
-
} else if ((0, _dom.getEventTargetNode)(evnt,
|
|
170
|
-
if (
|
|
180
|
+
} else if ((0, _dom.getEventTargetNode)(evnt, $xeTable.$el, `vxe-table--${layout}-wrapper`, target => target.getAttribute('xid') === xID).flag) {
|
|
181
|
+
if (menuOpts.trigger === 'cell') {
|
|
171
182
|
evnt.preventDefault();
|
|
172
183
|
} else {
|
|
173
|
-
|
|
184
|
+
$xeTable.handleOpenMenuEvent(evnt, layout, params);
|
|
174
185
|
}
|
|
175
186
|
return;
|
|
176
187
|
}
|
|
177
188
|
}
|
|
178
189
|
}
|
|
179
190
|
if (tableFilter && !(0, _dom.getEventTargetNode)(evnt, tableFilter.$el).flag) {
|
|
180
|
-
|
|
191
|
+
$xeTable.closeFilter();
|
|
181
192
|
}
|
|
182
|
-
|
|
193
|
+
$xeTable.closeMenu();
|
|
183
194
|
},
|
|
184
195
|
/**
|
|
185
196
|
* 显示快捷菜单
|
|
186
197
|
*/
|
|
187
198
|
handleOpenMenuEvent(evnt, type, params) {
|
|
199
|
+
const $xeTable = this;
|
|
200
|
+
const reactData = $xeTable;
|
|
201
|
+
const internalData = $xeTable;
|
|
188
202
|
const {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
const config =
|
|
194
|
-
const visibleMethod =
|
|
203
|
+
ctxMenuStore
|
|
204
|
+
} = reactData;
|
|
205
|
+
const isMenu = $xeTable.computeIsMenu;
|
|
206
|
+
const menuOpts = $xeTable.computeMenuOpts;
|
|
207
|
+
const config = menuOpts[type];
|
|
208
|
+
const visibleMethod = menuOpts.visibleMethod;
|
|
195
209
|
if (config) {
|
|
196
210
|
const {
|
|
197
211
|
options,
|
|
@@ -199,12 +213,12 @@ var _default = exports.default = {
|
|
|
199
213
|
} = config;
|
|
200
214
|
if (disabled) {
|
|
201
215
|
evnt.preventDefault();
|
|
202
|
-
} else if (
|
|
216
|
+
} else if (isMenu && options && options.length) {
|
|
203
217
|
params.options = options;
|
|
204
|
-
|
|
218
|
+
$xeTable.preventEvent(evnt, 'event.showMenu', params, () => {
|
|
205
219
|
if (!visibleMethod || visibleMethod(params)) {
|
|
206
220
|
evnt.preventDefault();
|
|
207
|
-
|
|
221
|
+
$xeTable.updateZindex();
|
|
208
222
|
const {
|
|
209
223
|
scrollTop,
|
|
210
224
|
scrollLeft,
|
|
@@ -214,21 +228,22 @@ var _default = exports.default = {
|
|
|
214
228
|
let top = evnt.clientY + scrollTop;
|
|
215
229
|
let left = evnt.clientX + scrollLeft;
|
|
216
230
|
const handleVisible = () => {
|
|
231
|
+
internalData._currMenuParams = params;
|
|
217
232
|
Object.assign(ctxMenuStore, {
|
|
218
|
-
args: params,
|
|
219
233
|
visible: true,
|
|
220
234
|
list: options,
|
|
221
235
|
selected: null,
|
|
222
236
|
selectChild: null,
|
|
223
237
|
showChild: false,
|
|
224
238
|
style: {
|
|
225
|
-
zIndex:
|
|
239
|
+
zIndex: internalData.tZindex,
|
|
226
240
|
top: `${top}px`,
|
|
227
241
|
left: `${left}px`
|
|
228
242
|
}
|
|
229
243
|
});
|
|
230
|
-
|
|
231
|
-
const
|
|
244
|
+
$xeTable.$nextTick(() => {
|
|
245
|
+
const tableMenu = $xeTable.$refs.refTableMenu;
|
|
246
|
+
const ctxElem = tableMenu.$el;
|
|
232
247
|
const clientHeight = ctxElem.clientHeight;
|
|
233
248
|
const clientWidth = ctxElem.clientWidth;
|
|
234
249
|
const {
|
|
@@ -251,30 +266,36 @@ var _default = exports.default = {
|
|
|
251
266
|
column
|
|
252
267
|
} = params;
|
|
253
268
|
if (keyboard && row && column) {
|
|
254
|
-
|
|
255
|
-
const cell =
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
269
|
+
$xeTable.scrollToRow(row, column).then(() => {
|
|
270
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
271
|
+
if (cell) {
|
|
272
|
+
const {
|
|
273
|
+
boundingTop,
|
|
274
|
+
boundingLeft
|
|
275
|
+
} = (0, _dom.getAbsolutePos)(cell);
|
|
276
|
+
top = boundingTop + scrollTop + Math.floor(cell.offsetHeight / 2);
|
|
277
|
+
left = boundingLeft + scrollLeft + Math.floor(cell.offsetWidth / 2);
|
|
278
|
+
}
|
|
262
279
|
handleVisible();
|
|
263
280
|
});
|
|
264
281
|
} else {
|
|
265
282
|
handleVisible();
|
|
266
283
|
}
|
|
267
284
|
} else {
|
|
268
|
-
|
|
285
|
+
$xeTable.closeMenu();
|
|
269
286
|
}
|
|
270
287
|
});
|
|
271
288
|
}
|
|
272
289
|
}
|
|
273
|
-
|
|
290
|
+
$xeTable.closeFilter();
|
|
274
291
|
},
|
|
275
292
|
ctxMenuMouseoverEvent(evnt, item, child) {
|
|
293
|
+
const $xeTable = this;
|
|
294
|
+
const reactData = $xeTable;
|
|
276
295
|
const menuElem = evnt.currentTarget;
|
|
277
|
-
const
|
|
296
|
+
const {
|
|
297
|
+
ctxMenuStore
|
|
298
|
+
} = reactData;
|
|
278
299
|
evnt.preventDefault();
|
|
279
300
|
evnt.stopPropagation();
|
|
280
301
|
ctxMenuStore.selected = item;
|
|
@@ -282,7 +303,7 @@ var _default = exports.default = {
|
|
|
282
303
|
if (!child) {
|
|
283
304
|
ctxMenuStore.showChild = (0, _utils.hasChildrenList)(item);
|
|
284
305
|
if (ctxMenuStore.showChild) {
|
|
285
|
-
|
|
306
|
+
$xeTable.$nextTick(() => {
|
|
286
307
|
const childWrapperElem = menuElem.nextElementSibling;
|
|
287
308
|
if (childWrapperElem) {
|
|
288
309
|
const {
|
|
@@ -317,7 +338,11 @@ var _default = exports.default = {
|
|
|
317
338
|
}
|
|
318
339
|
},
|
|
319
340
|
ctxMenuMouseoutEvent(evnt, item) {
|
|
320
|
-
const
|
|
341
|
+
const $xeTable = this;
|
|
342
|
+
const reactData = $xeTable;
|
|
343
|
+
const {
|
|
344
|
+
ctxMenuStore
|
|
345
|
+
} = reactData;
|
|
321
346
|
if (!item.children) {
|
|
322
347
|
ctxMenuStore.selected = null;
|
|
323
348
|
}
|
|
@@ -330,27 +355,28 @@ var _default = exports.default = {
|
|
|
330
355
|
const $xeTable = this;
|
|
331
356
|
const $xeGrid = $xeTable.$xeGrid;
|
|
332
357
|
const $xeGantt = $xeTable.$xeGantt;
|
|
358
|
+
const internalData = $xeTable;
|
|
333
359
|
// 如果一级菜单有配置 code 则允许点击,否则不能点击
|
|
334
360
|
if (!menu.disabled && (menu.code || !menu.children || !menu.children.length)) {
|
|
335
361
|
const gMenuOpts = menus.get(menu.code);
|
|
336
|
-
const params = Object.assign({
|
|
362
|
+
const params = Object.assign({}, internalData._currMenuParams, {
|
|
337
363
|
menu,
|
|
338
364
|
$table: $xeTable,
|
|
339
365
|
$grid: $xeGrid,
|
|
340
366
|
$gantt: $xeGantt,
|
|
341
367
|
$event: evnt
|
|
342
|
-
}
|
|
368
|
+
});
|
|
343
369
|
if (gMenuOpts && gMenuOpts.menuMethod) {
|
|
344
370
|
gMenuOpts.menuMethod(params, evnt);
|
|
345
371
|
}
|
|
346
372
|
// 在 v4 中废弃事件 context-menu-click
|
|
347
|
-
if (
|
|
373
|
+
if ($xeTable.$listeners['context-menu-click']) {
|
|
348
374
|
(0, _log.warnLog)('vxe.error.delEvent', ['context-menu-click', 'menu-click']);
|
|
349
375
|
$xeTable.dispatchEvent('context-menu-click', params, evnt);
|
|
350
376
|
} else {
|
|
351
377
|
$xeTable.dispatchEvent('menu-click', params, evnt);
|
|
352
378
|
}
|
|
353
|
-
|
|
379
|
+
$xeTable.closeMenu();
|
|
354
380
|
}
|
|
355
381
|
}
|
|
356
382
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI;var _default=exports.default={methods:{_closeMenu(){return Object.assign(this.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),this.$nextTick()},moveCtxMenu(e,t,l,n,i
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI;var _default=exports.default={methods:{_closeMenu(){return Object.assign(this.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),this.$nextTick()},moveCtxMenu(e,t,l,n,o,i){let r;var s=_xeUtils.default.findIndexOf(i,e=>t[l]===e);if(n)o&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=s-1;0<=e;e--)if(!1!==i[e].visible){r=i[e];break}t[l]=r||i[i.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=s+1;e<i.length;e++)if(!1!==i[e].visible){r=i[e];break}t[l]=r||i[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&this.ctxMenuLinkEvent(e,t[l])},handleGlobalContextmenuEvent(t){var l=this,n=l.$xeGrid,o=l.$xeGantt,e=l;let i=l.xID;var{mouseConfig:r,menuConfig:s}=l,{editStore:u,ctxMenuStore:d}=l,a=e.visibleColumn,c=l.$refs.refTableFilter,h=l.$refs.refTableMenu,v=l.computeMouseOpts,f=l.computeMenuOpts,g=l.$refs.refElem,u=u.selected,m=["header","body","footer"];if((0,_utils.isEnableConf)(s)){if(d.visible&&h&&(0,_dom.getEventTargetNode)(t,h.$el).flag)return void t.preventDefault();if(e._keyCtx){s="body",d={type:s,$table:l,$grid:n,$gantt:o,keyboard:!0,columns:a.slice(0),$event:t};if(r&&v.area){h=l.getActiveCellArea();if(h&&h.row&&h.column)return d.row=h.row,d.column=h.column,void l.handleOpenMenuEvent(t,s,d)}else if(r&&v.selected&&u.row&&u.column)return d.row=u.row,d.column=u.column,void l.handleOpenMenuEvent(t,s,d)}for(let e=0;e<m.length;e++){var x=m[e],p=(0,_dom.getEventTargetNode)(t,g,`vxe-${x}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===i),b={type:x,$table:l,$grid:n,$gantt:o,columns:a.slice(0),$event:t};if(p.flag){var p=p.targetElem,E=l.getColumnNode(p),E=E?E.item:null;let e=x+"-";E&&Object.assign(b,{column:E,columnIndex:l.getColumnIndex(E),cell:p}),"body"===x&&(p=(E=l.getRowNode(p.parentNode))?E.item:null,e="",p)&&(b.row=p,b.rowIndex=l.getRowIndex(p));E=e+"cell-menu";return l.handleOpenMenuEvent(t,x,b),void(l.$listeners[e+"cell-context-menu"]?((0,_log.warnLog)("vxe.error.delEvent",[e+"cell-context-menu",e+"cell-menu"]),l.dispatchEvent(e+"cell-context-menu",b,t)):l.dispatchEvent(E,b,t))}if((0,_dom.getEventTargetNode)(t,l.$el,`vxe-table--${x}-wrapper`,e=>e.getAttribute("xid")===i).flag)return void("cell"===f.trigger?t.preventDefault():l.handleOpenMenuEvent(t,x,b))}}c&&!(0,_dom.getEventTargetNode)(t,c.$el).flag&&l.closeFilter(),l.closeMenu()},handleOpenMenuEvent(l,n,h){let v=this;var o=v;let f=v,g=o.ctxMenuStore;var o=v.computeIsMenu,e=v.computeMenuOpts,n=e[n];let i=e.visibleMethod;if(n){let{options:t,disabled:e}=n;e?l.preventDefault():o&&t&&t.length&&(h.options=t,v.preventEvent(l,"event.showMenu",h,()=>{if(!i||i(h)){l.preventDefault(),v.updateZindex();let{scrollTop:o,scrollLeft:i,visibleHeight:r,visibleWidth:s}=(0,_dom.getDomNode)(),u=l.clientY+o,d=l.clientX+i,n=()=>{f._currMenuParams=h,Object.assign(g,{visible:!0,list:t,selected:null,selectChild:null,showChild:!1,style:{zIndex:f.tZindex,top:u+"px",left:d+"px"}}),v.$nextTick(()=>{var e=v.$refs.refTableMenu.$el,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:n}=(0,_dom.getAbsolutePos)(e),e=e+t-r,n=n+l-s;-10<e&&(g.style.top=Math.max(o+2,u-t-2)+"px"),-10<n&&(g.style.left=Math.max(i+2,d-l-2)+"px")})},{keyboard:e,row:a,column:c}=h;e&&a&&c?v.scrollToRow(a,c).then(()=>{var e,t,l=v.getCellElement(a,c);l&&({boundingTop:e,boundingLeft:t}=(0,_dom.getAbsolutePos)(l),u=e+o+Math.floor(l.offsetHeight/2),d=t+i+Math.floor(l.offsetWidth/2)),n()}):n()}else v.closeMenu()}))}v.closeFilter()},ctxMenuMouseoverEvent(e,t,l){let d=e.currentTarget;var n=this.ctxMenuStore;e.preventDefault(),e.stopPropagation(),n.selected=t,(n.selectChild=l)||(n.showChild=(0,_utils.hasChildrenList)(t),n.showChild&&this.$nextTick(()=>{var o=d.nextElementSibling;if(o){var{boundingTop:i,boundingLeft:r,visibleHeight:s,visibleWidth:u}=(0,_dom.getAbsolutePos)(d),i=i+d.offsetHeight;let e="",t="",l=(r+d.offsetWidth+o.offsetWidth>u-10&&(e="auto",t=d.offsetWidth+"px"),""),n="";i+o.offsetHeight>s-10&&(l="auto",n="0"),o.style.left=e,o.style.right=t,o.style.top=l,o.style.bottom=n}}))},ctxMenuMouseoutEvent(e,t){var l=this.ctxMenuStore;t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l,n=this,o=n.$xeGrid,i=n.$xeGantt,r=n;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),r=Object.assign({},r._currMenuParams,{menu:t,$table:n,$grid:o,$gantt:i,$event:e}),l&&l.menuMethod&&l.menuMethod(r,e),n.$listeners["context-menu-click"]?((0,_log.warnLog)("vxe.error.delEvent",["context-menu-click","menu-click"]),n.dispatchEvent("context-menu-click",r,e)):n.dispatchEvent("menu-click",r,e),n.closeMenu())}}};
|
|
@@ -7,7 +7,8 @@ exports.default = void 0;
|
|
|
7
7
|
var _ui = require("../../../ui");
|
|
8
8
|
var _utils = require("../../../ui/src/utils");
|
|
9
9
|
const {
|
|
10
|
-
getIcon
|
|
10
|
+
getIcon,
|
|
11
|
+
renderEmptyElement
|
|
11
12
|
} = _ui.VxeUI;
|
|
12
13
|
var _default = exports.default = {
|
|
13
14
|
name: 'VxeTableMenuPanel',
|
|
@@ -28,18 +29,18 @@ var _default = exports.default = {
|
|
|
28
29
|
},
|
|
29
30
|
render(h) {
|
|
30
31
|
const $xeTable = this.$parent;
|
|
32
|
+
const tableReactData = $xeTable;
|
|
31
33
|
const {
|
|
32
|
-
_e,
|
|
33
|
-
ctxMenuOpts,
|
|
34
34
|
ctxMenuStore
|
|
35
|
-
} =
|
|
35
|
+
} = tableReactData;
|
|
36
|
+
const menuOpts = $xeTable.computeMenuOpts;
|
|
36
37
|
return h('div', {
|
|
37
|
-
class: ['vxe-table--context-menu-wrapper',
|
|
38
|
+
class: ['vxe-table--context-menu-wrapper', menuOpts.className, {
|
|
38
39
|
'is--visible': ctxMenuStore.visible
|
|
39
40
|
}],
|
|
40
41
|
style: ctxMenuStore.style
|
|
41
42
|
}, ctxMenuStore.list.map((options, gIndex) => {
|
|
42
|
-
return options.every(item => item.visible === false) ?
|
|
43
|
+
return options.every(item => item.visible === false) ? renderEmptyElement($xeTable) : h('ul', {
|
|
43
44
|
class: 'vxe-context-menu--option-wrapper',
|
|
44
45
|
key: gIndex
|
|
45
46
|
}, options.map((item, index) => {
|
|
@@ -70,7 +71,7 @@ var _default = exports.default = {
|
|
|
70
71
|
class: ['vxe-context-menu--link-prefix', prefixOpts.className || '']
|
|
71
72
|
}, [h('i', {
|
|
72
73
|
class: prefixOpts.icon || item.prefixIcon
|
|
73
|
-
}), prefixOpts.content ? h('span', {}, `${prefixOpts.content}`) :
|
|
74
|
+
}), prefixOpts.content ? h('span', {}, `${prefixOpts.content}`) : renderEmptyElement($xeTable)]), h('span', {
|
|
74
75
|
class: 'vxe-context-menu--link-content',
|
|
75
76
|
attrs: {
|
|
76
77
|
title: menuContent
|
|
@@ -79,7 +80,7 @@ var _default = exports.default = {
|
|
|
79
80
|
class: ['vxe-context-menu--link-suffix', suffixOpts.className || '']
|
|
80
81
|
}, [h('i', {
|
|
81
82
|
class: suffixOpts.icon || item.suffixIcon || (hasChildMenus ? getIcon().TABLE_MENU_OPTIONS : '')
|
|
82
|
-
}), suffixOpts.content ? h('span', `${suffixOpts.content}`) :
|
|
83
|
+
}), suffixOpts.content ? h('span', `${suffixOpts.content}`) : renderEmptyElement($xeTable)])]), hasChildMenus ? h('ul', {
|
|
83
84
|
class: ['vxe-table--context-menu-clild-wrapper', {
|
|
84
85
|
'is--show': item === ctxMenuStore.selected && ctxMenuStore.showChild
|
|
85
86
|
}]
|
|
@@ -110,7 +111,7 @@ var _default = exports.default = {
|
|
|
110
111
|
class: ['vxe-context-menu--link-prefix', childPrefixOpts.className || '']
|
|
111
112
|
}, [h('i', {
|
|
112
113
|
class: childPrefixOpts.icon || child.prefixIcon
|
|
113
|
-
}), childPrefixOpts.content ? h('span', `${childPrefixOpts.content}`) :
|
|
114
|
+
}), childPrefixOpts.content ? h('span', `${childPrefixOpts.content}`) : renderEmptyElement($xeTable)]), h('span', {
|
|
114
115
|
class: 'vxe-context-menu--link-content',
|
|
115
116
|
attrs: {
|
|
116
117
|
title: childMenuContent
|
|
@@ -119,7 +120,7 @@ var _default = exports.default = {
|
|
|
119
120
|
class: ['vxe-context-menu--link-suffix', childSuffixOpts.className || '']
|
|
120
121
|
}, [h('i', {
|
|
121
122
|
class: childSuffixOpts.icon
|
|
122
|
-
}), childSuffixOpts.content ? h('span', `${childSuffixOpts.content}`) :
|
|
123
|
+
}), childSuffixOpts.content ? h('span', `${childSuffixOpts.content}`) : renderEmptyElement($xeTable)])])]);
|
|
123
124
|
})) : null]);
|
|
124
125
|
}));
|
|
125
126
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ui=require("../../../ui"),_utils=require("../../../ui/src/utils");let
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ui=require("../../../ui"),_utils=require("../../../ui/src/utils");let{getIcon,renderEmptyElement}=_ui.VxeUI;var _default=exports.default={name:"VxeTableMenuPanel",props:{ctxMenuStore:Object,ctxMenuOpts:Object},mounted(){document.body.appendChild(this.$el)},beforeDestroy(){var e=this.$el;e.parentNode&&e.parentNode.removeChild(e)},render(o){let r=this.$parent;let u=r.ctxMenuStore;var e=r.computeMenuOpts;return o("div",{class:["vxe-table--context-menu-wrapper",e.className,{"is--visible":u.visible}],style:u.style},u.list.map((e,a)=>e.every(e=>!1===e.visible)?renderEmptyElement(r):o("ul",{class:"vxe-context-menu--option-wrapper",key:a},e.map((i,c)=>{var e=i.children&&i.children.some(e=>!1!==e.visible),t=Object.assign({},i.prefixConfig),n=Object.assign({},i.suffixConfig),s=(0,_utils.getFuncText)(i.name);return!1===i.visible?null:o("li",{class:[i.className,{"link--disabled":i.disabled,"link--active":i===u.selected}],key:a+"_"+c},[o("a",{class:"vxe-context-menu--link",on:{click(e){r.ctxMenuLinkEvent(e,i)},mouseover(e){r.ctxMenuMouseoverEvent(e,i)},mouseout(e){r.ctxMenuMouseoutEvent(e,i)}}},[o("div",{class:["vxe-context-menu--link-prefix",t.className||""]},[o("i",{class:t.icon||i.prefixIcon}),t.content?o("span",{},""+t.content):renderEmptyElement(r)]),o("span",{class:"vxe-context-menu--link-content",attrs:{title:s}},s),o("div",{class:["vxe-context-menu--link-suffix",n.className||""]},[o("i",{class:n.icon||i.suffixIcon||(e?getIcon().TABLE_MENU_OPTIONS:"")}),n.content?o("span",""+n.content):renderEmptyElement(r)])]),e?o("ul",{class:["vxe-table--context-menu-clild-wrapper",{"is--show":i===u.selected&&u.showChild}]},i.children.map((t,e)=>{var n=Object.assign({},t.prefixConfig),s=Object.assign({},t.suffixConfig),l=(0,_utils.getFuncText)(t.name);return!1===t.visible?null:o("li",{class:[t.className,{"link--disabled":t.disabled,"link--active":t===u.selectChild}],key:a+`_${c}_`+e},[o("a",{class:"vxe-context-menu--link",on:{click(e){r.ctxMenuLinkEvent(e,t)},mouseover(e){r.ctxMenuMouseoverEvent(e,i,t)},mouseout(e){r.ctxMenuMouseoutEvent(e,i)}}},[o("div",{class:["vxe-context-menu--link-prefix",n.className||""]},[o("i",{class:n.icon||t.prefixIcon}),n.content?o("span",""+n.content):renderEmptyElement(r)]),o("span",{class:"vxe-context-menu--link-content",attrs:{title:l}},l),o("div",{class:["vxe-context-menu--link-suffix",s.className||""]},[o("i",{class:s.icon}),s.content?o("span",""+s.content):renderEmptyElement(r)])])])})):null])}))))}};
|
|
@@ -350,7 +350,7 @@ function nativeEditRender(h, renderOpts, params) {
|
|
|
350
350
|
name
|
|
351
351
|
} = renderOpts;
|
|
352
352
|
const cellValue = isImmediateCell(renderOpts, params) ? (0, _util.getCellValue)(row, column) : column.model.value;
|
|
353
|
-
return [h(name
|
|
353
|
+
return [h(`${name}`, {
|
|
354
354
|
class: `vxe-default-${name}`,
|
|
355
355
|
attrs: getNativeAttrs(renderOpts),
|
|
356
356
|
domProps: {
|
|
@@ -433,7 +433,10 @@ function oldButtonEditRender(h, renderOpts, params) {
|
|
|
433
433
|
* @deprecated
|
|
434
434
|
*/
|
|
435
435
|
function oldButtonsEditRender(h, renderOpts, params) {
|
|
436
|
-
|
|
436
|
+
const {
|
|
437
|
+
children
|
|
438
|
+
} = renderOpts;
|
|
439
|
+
return children ? children.map(childRenderOpts => oldButtonEditRender(h, childRenderOpts, params)[0]) : [];
|
|
437
440
|
}
|
|
438
441
|
function renderNativeOptgroups(h, renderOpts, params, renderOptionsMethods) {
|
|
439
442
|
const {
|
|
@@ -495,7 +498,7 @@ function nativeFilterRender(h, renderOpts, params) {
|
|
|
495
498
|
} = renderOpts;
|
|
496
499
|
const attrs = getNativeAttrs(renderOpts);
|
|
497
500
|
return column.filters.map((option, oIndex) => {
|
|
498
|
-
return h(name
|
|
501
|
+
return h(`${name}`, {
|
|
499
502
|
key: oIndex,
|
|
500
503
|
class: `vxe-default-${name}`,
|
|
501
504
|
attrs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="value",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getOldComponent({name:e}){return getOldComponentName(e)}function getDefaultComponent({name:e}){return getComponent(e)||e}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,r,n){t=t.placeholder;return[e("span",{class:["vxe-cell--label",n?n.class:""]},t&&(0,_utils.isEmptyValue)(r)?[e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(t),1))]:(0,_utils.formatText)(r,1))]}function getNativeElementOns(e,l,t){let r=e.events,n=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===n,s={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(n)]=function(e){o(e),d&&u&&u(e),r&&r[n]&&r[n](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),r&&r[a]&&r[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),r&&r[blurEvent]&&r[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t,r){let n=e.events,a=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:u,change:i,blur:d}=t||{},s={};return _xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(o)]=function(...e){i(...e),n&&n[o]&&n[o](l,...e)}),d&&(s[(0,_vn.getOnName)(blurEvent)]=function(...e){d(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),r?Object.assign(s,r):s}function getEditOns(e,t){let{$table:l,row:r,column:n}=t,a=e.name,o=n.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(r,n,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:r,row:n,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(n,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t,l){var{row:r,column:n}=l,a=t.name,r=isImmediateCell(t,l)?(0,_util.getCellValue)(r,n):n.model.value;return[e(a,{class:"vxe-default-"+a,attrs:getNativeAttrs(t),domProps:{value:r},on:getNativeEditOns(t,l)})]}function buttonCellRender(e,t,l){return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function defaultEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function checkboxEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function radioAndCheckboxGroupEditRender(e,t,l){var r=t.options,{row:n,column:a}=l,n=(0,_util.getCellValue)(n,a);return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,n)),on:getEditOns(t,l)})]}function oldEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function oldButtonEditRender(e,t,l){return[e("vxe-button",{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function oldButtonsEditRender(t,e,l){return e.children.map(e=>oldButtonEditRender(t,e,l)[0])}function renderNativeOptgroups(l,r,n,a){var{optionGroups:e,optionGroupProps:t={}}=r;let o=t.options||"options",u=t.label||"label";return e?e.map((e,t)=>l("optgroup",{key:t,attrs:{label:e[u]}},a(l,e[o],r,n))):[]}function renderNativeOptions(l,e,t,r){var{optionProps:n={}}=t,{row:a,column:o}=r;let u=n.label||"label",i=n.value||"value",d=n.disabled||"disabled",s=isImmediateCell(t,r)?(0,_util.getCellValue)(a,o):o.model.value;return e?e.map((e,t)=>l("option",{key:t,attrs:{value:e[i],disabled:e[d]},domProps:{selected:e[i]==s}},e[u])):[]}function nativeFilterRender(l,r,n){var e=n.column;let a=r.name,o=getNativeAttrs(r);return e.filters.map((e,t)=>l(a,{key:t,class:"vxe-default-"+a,attrs:o,domProps:{value:e.data},on:getNativeFilterOns(r,n,e)}))}function defaultFilterRender(r,n,a){var e=a.column;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,a,e)})})}function oldFilterRender(r,n,a){var e=a.column;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,a,e)})})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t,l){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeEditOns(t,l)},t.optionGroups?renderNativeOptgroups(e,t,l,renderNativeOptions):renderNativeOptions(e,t.options,t,l))]}function defaultSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function defaultTableOrTreeSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o}),on:getEditOns(t,l)})]}function oldSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function getSelectCellValue(e,{row:t,column:l}){let{options:r,optionGroups:n,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],n?t=>{var l=o.options||"options";for(let e=0;e<n.length&&!(u=_xeUtils.default.find(n[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(r,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:r}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,r.field);let n=t.label||"label",a=t.value||"value";r=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:r}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,n)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t,l){var r,{props:n={},showNegativeStatus:a}=t,{row:o,column:u}=l,i=n.type;let d=_xeUtils.default.get(o,u.field),s=!1;return(0,_utils.isEmptyValue)(d)||(o=getConfig().numberInput||{},"float"===i?(u=handleDefaultValue(n.autoFill,o.autoFill,!0),r=handleDefaultValue(n.digits,o.digits,1),d=_xeUtils.default.toFixed(_xeUtils.default.floor(d,r),r),u||(d=_xeUtils.default.toNumber(d)),a&&d<0&&(s=!0)):"amount"===i?(r=handleDefaultValue(n.autoFill,o.autoFill,!0),u=handleDefaultValue(n.digits,o.digits,2),i=handleDefaultValue(n.showCurrency,o.showCurrency,!1),d=_xeUtils.default.toNumber(d),a&&d<0&&(s=!0),d=_xeUtils.default.commafy(d,{digits:u}),r||([u,r]=d.split("."),r&&(r=r.replace(/0+$/,""),d=r?[u,".",r].join(""):u)),i&&(d=""+(n.currencySymbol||o.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+d)):a&&_xeUtils.default.toNumber(d)<0&&(s=!0)),getCellLabelVNs(e,t,l,d,s?{class:"is--negative"}:{})}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(l,r,n){var e=n.column;return e.filters.map((e,t)=>l("select",{key:t,class:"vxe-default-select",attrs:getNativeAttrs(r),on:getNativeFilterOns(r,n,e)},r.optionGroups?renderNativeOptgroups(l,r,n,renderNativeOptions):renderNativeOptions(l,r.options,r,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:a}=l,o=getConfig().input||{},u=r.digits||o.digits||2;let i=_xeUtils.default.get(n,a.field);if(i)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(e,t,l){var{props:t={}}=t,{row:l,column:r,_columnIndex:n}=l,a=t.type,n=_xeUtils.default.isArray(l)?l[n]:_xeUtils.default.get(l,r.field);if(_xeUtils.default.isNumber(n)){l=getConfig().numberInput||{};if("float"===a){var r=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(n,o),o);return e=r?e:_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),r=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:r});return o||([r,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[r,".",o].join(""):r)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:a}=l;let o=_xeUtils.default.get(n,a.field);return getCellLabelVNs(e,t,l,o=o&&"time"!==r.type?getLabelFormatDate(o,r):o)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeDateRangePicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){let{startField:r,endField:n}=t,{$table:a,row:o,column:u}=l,i=u.model;var d=(0,_util.getCellValue)(o,u),s={},p={};return r&&n&&(s.startValue=_xeUtils.default.get(o,r),s.endValue=_xeUtils.default.get(o,n),p["update:startValue"]=e=>{r&&_xeUtils.default.set(o,r,e)},p["update:endValue"]=e=>{n&&_xeUtils.default.set(o,n,e)}),[e(getDefaultComponent(t),{props:getCellEditProps(t,l,d,s),on:getComponentOns(t,l,{model(e){i.update=!0,i.value=e,(0,_util.setCellValue)(o,u,e)},change(){a.updateStatus(l)},blur(){a.handleCellRuleUpdateStatus("blur",l)}},p)})]},renderTableCell(e,t,l){var{startField:r,endField:n}=t,{row:a,column:o}=l;let u="",i="",d=(r&&n?(u=_xeUtils.default.get(a,r),i=_xeUtils.default.get(a,n)):(r=_xeUtils.default.get(a,o.field))&&(i=(_xeUtils.default.isArray(r)?(u=r[0],r):(n=(""+r).split(","),u=n[0],n))[1]),"");return getCellLabelVNs(e,t,l,d=u&&i?u+" ~ "+i:d)}},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t,l){var r=t.options;return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,null)),on:getComponentOns(t,l)})]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,a){var e=a.column;let{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,a,l,{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,a,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))}},FormatSelect:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))}},FormatTreeSelect:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,a=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{colors:a}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("span",{class:"vxe-color-picker--readonly"},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:_xeUtils.default.get(l,r.field)}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,a=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{icons:a}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("i",{class:_xeUtils.default.get(l,r.field)})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{src:r}),on:getEditOns(t,l)})]}},VxeImageGroup:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{urlList:r}),on:getEditOns(t,l)})]}},VxeTextEllipsis:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{content:r}),on:getEditOns(t,l)})]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:a,column:o}=l,u=n.digits||(null==(r=getConfig().input)?void 0:r.digits)||2;let i=_xeUtils.default.get(a,o.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,a){var e=a.column;let{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,a,l,{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,a,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
|
1
|
+
var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="value",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getOldComponent({name:e}){return getOldComponentName(e)}function getDefaultComponent({name:e}){return getComponent(e)||e}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,r,n){t=t.placeholder;return[e("span",{class:["vxe-cell--label",n?n.class:""]},t&&(0,_utils.isEmptyValue)(r)?[e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(t),1))]:(0,_utils.formatText)(r,1))]}function getNativeElementOns(e,l,t){let r=e.events,n=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===n,s={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(n)]=function(e){o(e),d&&u&&u(e),r&&r[n]&&r[n](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),r&&r[a]&&r[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),r&&r[blurEvent]&&r[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t,r){let n=e.events,a=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:u,change:i,blur:d}=t||{},s={};return _xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(o)]=function(...e){i(...e),n&&n[o]&&n[o](l,...e)}),d&&(s[(0,_vn.getOnName)(blurEvent)]=function(...e){d(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),r?Object.assign(s,r):s}function getEditOns(e,t){let{$table:l,row:r,column:n}=t,a=e.name,o=n.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(r,n,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:r,row:n,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(n,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t,l){var{row:r,column:n}=l,a=t.name,r=isImmediateCell(t,l)?(0,_util.getCellValue)(r,n):n.model.value;return[e(""+a,{class:"vxe-default-"+a,attrs:getNativeAttrs(t),domProps:{value:r},on:getNativeEditOns(t,l)})]}function buttonCellRender(e,t,l){return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function defaultEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function checkboxEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function radioAndCheckboxGroupEditRender(e,t,l){var r=t.options,{row:n,column:a}=l,n=(0,_util.getCellValue)(n,a);return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,n)),on:getEditOns(t,l)})]}function oldEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function oldButtonEditRender(e,t,l){return[e("vxe-button",{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function oldButtonsEditRender(t,e,l){e=e.children;return e?e.map(e=>oldButtonEditRender(t,e,l)[0]):[]}function renderNativeOptgroups(l,r,n,a){var{optionGroups:e,optionGroupProps:t={}}=r;let o=t.options||"options",u=t.label||"label";return e?e.map((e,t)=>l("optgroup",{key:t,attrs:{label:e[u]}},a(l,e[o],r,n))):[]}function renderNativeOptions(l,e,t,r){var{optionProps:n={}}=t,{row:a,column:o}=r;let u=n.label||"label",i=n.value||"value",d=n.disabled||"disabled",s=isImmediateCell(t,r)?(0,_util.getCellValue)(a,o):o.model.value;return e?e.map((e,t)=>l("option",{key:t,attrs:{value:e[i],disabled:e[d]},domProps:{selected:e[i]==s}},e[u])):[]}function nativeFilterRender(l,r,n){var e=n.column;let a=r.name,o=getNativeAttrs(r);return e.filters.map((e,t)=>l(""+a,{key:t,class:"vxe-default-"+a,attrs:o,domProps:{value:e.data},on:getNativeFilterOns(r,n,e)}))}function defaultFilterRender(r,n,a){var e=a.column;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,a,e)})})}function oldFilterRender(r,n,a){var e=a.column;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,a,e)})})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t,l){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeEditOns(t,l)},t.optionGroups?renderNativeOptgroups(e,t,l,renderNativeOptions):renderNativeOptions(e,t.options,t,l))]}function defaultSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function defaultTableOrTreeSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o}),on:getEditOns(t,l)})]}function oldSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function getSelectCellValue(e,{row:t,column:l}){let{options:r,optionGroups:n,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],n?t=>{var l=o.options||"options";for(let e=0;e<n.length&&!(u=_xeUtils.default.find(n[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(r,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:r}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,r.field);let n=t.label||"label",a=t.value||"value";r=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:r}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,n)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t,l){var r,{props:n={},showNegativeStatus:a}=t,{row:o,column:u}=l,i=n.type;let d=_xeUtils.default.get(o,u.field),s=!1;return(0,_utils.isEmptyValue)(d)||(o=getConfig().numberInput||{},"float"===i?(u=handleDefaultValue(n.autoFill,o.autoFill,!0),r=handleDefaultValue(n.digits,o.digits,1),d=_xeUtils.default.toFixed(_xeUtils.default.floor(d,r),r),u||(d=_xeUtils.default.toNumber(d)),a&&d<0&&(s=!0)):"amount"===i?(r=handleDefaultValue(n.autoFill,o.autoFill,!0),u=handleDefaultValue(n.digits,o.digits,2),i=handleDefaultValue(n.showCurrency,o.showCurrency,!1),d=_xeUtils.default.toNumber(d),a&&d<0&&(s=!0),d=_xeUtils.default.commafy(d,{digits:u}),r||([u,r]=d.split("."),r&&(r=r.replace(/0+$/,""),d=r?[u,".",r].join(""):u)),i&&(d=""+(n.currencySymbol||o.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+d)):a&&_xeUtils.default.toNumber(d)<0&&(s=!0)),getCellLabelVNs(e,t,l,d,s?{class:"is--negative"}:{})}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(l,r,n){var e=n.column;return e.filters.map((e,t)=>l("select",{key:t,class:"vxe-default-select",attrs:getNativeAttrs(r),on:getNativeFilterOns(r,n,e)},r.optionGroups?renderNativeOptgroups(l,r,n,renderNativeOptions):renderNativeOptions(l,r.options,r,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:a}=l,o=getConfig().input||{},u=r.digits||o.digits||2;let i=_xeUtils.default.get(n,a.field);if(i)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(e,t,l){var{props:t={}}=t,{row:l,column:r,_columnIndex:n}=l,a=t.type,n=_xeUtils.default.isArray(l)?l[n]:_xeUtils.default.get(l,r.field);if(_xeUtils.default.isNumber(n)){l=getConfig().numberInput||{};if("float"===a){var r=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(n,o),o);return e=r?e:_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),r=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:r});return o||([r,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[r,".",o].join(""):r)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:a}=l;let o=_xeUtils.default.get(n,a.field);return getCellLabelVNs(e,t,l,o=o&&"time"!==r.type?getLabelFormatDate(o,r):o)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeDateRangePicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){let{startField:r,endField:n}=t,{$table:a,row:o,column:u}=l,i=u.model;var d=(0,_util.getCellValue)(o,u),s={},p={};return r&&n&&(s.startValue=_xeUtils.default.get(o,r),s.endValue=_xeUtils.default.get(o,n),p["update:startValue"]=e=>{r&&_xeUtils.default.set(o,r,e)},p["update:endValue"]=e=>{n&&_xeUtils.default.set(o,n,e)}),[e(getDefaultComponent(t),{props:getCellEditProps(t,l,d,s),on:getComponentOns(t,l,{model(e){i.update=!0,i.value=e,(0,_util.setCellValue)(o,u,e)},change(){a.updateStatus(l)},blur(){a.handleCellRuleUpdateStatus("blur",l)}},p)})]},renderTableCell(e,t,l){var{startField:r,endField:n}=t,{row:a,column:o}=l;let u="",i="",d=(r&&n?(u=_xeUtils.default.get(a,r),i=_xeUtils.default.get(a,n)):(r=_xeUtils.default.get(a,o.field))&&(i=(_xeUtils.default.isArray(r)?(u=r[0],r):(n=(""+r).split(","),u=n[0],n))[1]),"");return getCellLabelVNs(e,t,l,d=u&&i?u+" ~ "+i:d)}},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t,l){var r=t.options;return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,null)),on:getComponentOns(t,l)})]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,a){var e=a.column;let{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,a,l,{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,a,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))}},FormatSelect:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))}},FormatTreeSelect:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,a=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{colors:a}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("span",{class:"vxe-color-picker--readonly"},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:_xeUtils.default.get(l,r.field)}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,a=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{icons:a}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("i",{class:_xeUtils.default.get(l,r.field)})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{src:r}),on:getEditOns(t,l)})]}},VxeImageGroup:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{urlList:r}),on:getEditOns(t,l)})]}},VxeTextEllipsis:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{content:r}),on:getEditOns(t,l)})]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:a,column:o}=l,u=n.digits||(null==(r=getConfig().input)?void 0:r.digits)||2;let i=_xeUtils.default.get(a,o.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,a){var e=a.column;let{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,a,l,{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,a,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -239,14 +239,13 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
239
239
|
// hover 进入事件
|
|
240
240
|
if (showTitle || showTooltip || showAllTip || tooltipConfig) {
|
|
241
241
|
tdOns.mouseenter = evnt => {
|
|
242
|
-
if (isVMScrollProcess($xeTable)) {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
$xeTable.triggerBodyTooltipEvent(evnt, cellParams);
|
|
242
|
+
if (!isVMScrollProcess($xeTable)) {
|
|
243
|
+
if (showTitle) {
|
|
244
|
+
(0, _dom.updateCellTitle)(evnt.currentTarget, column);
|
|
245
|
+
} else if (showTooltip || showAllTip) {
|
|
246
|
+
// 如果配置了显示 tooltip
|
|
247
|
+
$xeTable.triggerBodyTooltipEvent(evnt, cellParams);
|
|
248
|
+
}
|
|
250
249
|
}
|
|
251
250
|
$xeTable.dispatchEvent('cell-mouseenter', Object.assign({
|
|
252
251
|
cell: evnt.currentTarget
|
|
@@ -256,11 +255,10 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
256
255
|
// hover 退出事件
|
|
257
256
|
if (showTooltip || showAllTip || tooltipConfig) {
|
|
258
257
|
tdOns.mouseleave = evnt => {
|
|
259
|
-
if (isVMScrollProcess($xeTable)) {
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
$xeTable.handleTargetLeaveEvent(evnt);
|
|
258
|
+
if (!isVMScrollProcess($xeTable)) {
|
|
259
|
+
if (showTooltip || showAllTip) {
|
|
260
|
+
$xeTable.handleTargetLeaveEvent(evnt);
|
|
261
|
+
}
|
|
264
262
|
}
|
|
265
263
|
$xeTable.dispatchEvent('cell-mouseleave', Object.assign({
|
|
266
264
|
cell: evnt.currentTarget
|