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.
Files changed (64) hide show
  1. package/es/grid/src/grid.js +5 -1
  2. package/es/index.css +1 -1
  3. package/es/index.min.css +1 -1
  4. package/es/style.css +1 -1
  5. package/es/style.min.css +1 -1
  6. package/es/table/module/menu/mixin.js +67 -43
  7. package/es/table/module/menu/panel.js +10 -8
  8. package/es/table/render/index.js +4 -3
  9. package/es/table/src/body.js +12 -14
  10. package/es/table/src/methods.js +17 -5
  11. package/es/table/src/table.js +6 -7
  12. package/es/table/style.css +0 -4
  13. package/es/table/style.min.css +1 -1
  14. package/es/ui/index.js +1 -1
  15. package/es/ui/src/log.js +1 -1
  16. package/es/ui/src/vn.js +17 -7
  17. package/es/vxe-table/style.css +0 -4
  18. package/es/vxe-table/style.min.css +1 -1
  19. package/lib/grid/src/grid.js +6 -0
  20. package/lib/grid/src/grid.min.js +1 -1
  21. package/lib/index.css +1 -1
  22. package/lib/index.min.css +1 -1
  23. package/lib/index.umd.js +161 -104
  24. package/lib/index.umd.min.js +1 -1
  25. package/lib/style.css +1 -1
  26. package/lib/style.min.css +1 -1
  27. package/lib/table/module/menu/mixin.js +84 -58
  28. package/lib/table/module/menu/mixin.min.js +1 -1
  29. package/lib/table/module/menu/panel.js +11 -10
  30. package/lib/table/module/menu/panel.min.js +1 -1
  31. package/lib/table/render/index.js +6 -3
  32. package/lib/table/render/index.min.js +1 -1
  33. package/lib/table/src/body.js +11 -13
  34. package/lib/table/src/body.min.js +1 -1
  35. package/lib/table/src/methods.js +18 -5
  36. package/lib/table/src/methods.min.js +1 -1
  37. package/lib/table/src/table.js +6 -7
  38. package/lib/table/src/table.min.js +1 -1
  39. package/lib/table/style/style.css +0 -4
  40. package/lib/table/style/style.min.css +1 -1
  41. package/lib/ui/index.js +1 -1
  42. package/lib/ui/index.min.js +1 -1
  43. package/lib/ui/src/log.js +1 -1
  44. package/lib/ui/src/log.min.js +1 -1
  45. package/lib/ui/src/vn.js +17 -6
  46. package/lib/ui/src/vn.min.js +1 -1
  47. package/lib/vxe-table/style/style.css +0 -4
  48. package/lib/vxe-table/style/style.min.css +1 -1
  49. package/package.json +1 -1
  50. package/packages/grid/src/grid.ts +5 -1
  51. package/packages/table/module/menu/mixin.ts +79 -50
  52. package/packages/table/module/menu/panel.ts +11 -9
  53. package/packages/table/render/index.ts +27 -26
  54. package/packages/table/src/body.ts +11 -13
  55. package/packages/table/src/methods.ts +17 -5
  56. package/packages/table/src/table.ts +9 -7
  57. package/packages/ui/src/vn.ts +20 -9
  58. package/styles/components/table.scss +0 -1
  59. /package/es/{iconfont.1756452257212.ttf → iconfont.1756734865034.ttf} +0 -0
  60. /package/es/{iconfont.1756452257212.woff → iconfont.1756734865034.woff} +0 -0
  61. /package/es/{iconfont.1756452257212.woff2 → iconfont.1756734865034.woff2} +0 -0
  62. /package/lib/{iconfont.1756452257212.ttf → iconfont.1756734865034.ttf} +0 -0
  63. /package/lib/{iconfont.1756452257212.woff → iconfont.1756734865034.woff} +0 -0
  64. /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
- Object.assign(this.ctxMenuStore, {
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 this.$nextTick();
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
- $refs,
74
- tId,
75
- editStore,
76
- menuConfig,
77
- contextMenu,
78
- ctxMenuStore,
79
- ctxMenuOpts,
77
+ xID
78
+ } = $xeTable;
79
+ const {
80
80
  mouseConfig,
81
- mouseOpts
82
- } = this;
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) || contextMenu) {
89
- if (ctxMenuStore.visible && $refs.refTableMenu && (0, _dom.getEventTargetNode)(evnt, $refs.refTableMenu.$el).flag) {
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: this.visibleColumn.slice(0),
112
+ columns: visibleColumn.slice(0),
102
113
  $event: evnt
103
114
  };
104
115
  // 如果开启单元格区域
105
116
  if (mouseConfig && mouseOpts.area) {
106
- const activeArea = this.getActiveCellArea();
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
- this.handleOpenMenuEvent(evnt, type, params);
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
- this.handleOpenMenuEvent(evnt, type, params);
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, this.$el, `vxe-${layout}--column`, target => {
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') === tId;
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: this.visibleColumn.slice(0),
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
- this.handleOpenMenuEvent(evnt, layout, params);
171
+ $xeTable.handleOpenMenuEvent(evnt, layout, params);
161
172
  // 在 v4 中废弃事件 cell-context-menu、header-cell-context-menu、footer-cell-context-menu
162
- if (this.$listeners[`${typePrefix}cell-context-menu`]) {
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, this.$el, `vxe-table--${layout}-wrapper`, target => target.getAttribute('xid') === tId).flag) {
170
- if (ctxMenuOpts.trigger === 'cell') {
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
- this.handleOpenMenuEvent(evnt, layout, params);
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
- this.closeFilter();
191
+ $xeTable.closeFilter();
181
192
  }
182
- this.closeMenu();
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
- isCtxMenu,
190
- ctxMenuStore,
191
- ctxMenuOpts
192
- } = this;
193
- const config = ctxMenuOpts[type];
194
- const visibleMethod = ctxMenuOpts.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 (isCtxMenu && options && options.length) {
216
+ } else if (isMenu && options && options.length) {
203
217
  params.options = options;
204
- this.preventEvent(evnt, 'event.showMenu', params, () => {
218
+ $xeTable.preventEvent(evnt, 'event.showMenu', params, () => {
205
219
  if (!visibleMethod || visibleMethod(params)) {
206
220
  evnt.preventDefault();
207
- this.updateZindex();
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: this.tZindex,
239
+ zIndex: internalData.tZindex,
226
240
  top: `${top}px`,
227
241
  left: `${left}px`
228
242
  }
229
243
  });
230
- this.$nextTick(() => {
231
- const ctxElem = this.$refs.refTableMenu.$el;
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
- this.scrollToRow(row, column).then(() => {
255
- const cell = this.getCellElement(row, column);
256
- const {
257
- boundingTop,
258
- boundingLeft
259
- } = (0, _dom.getAbsolutePos)(cell);
260
- top = boundingTop + scrollTop + Math.floor(cell.offsetHeight / 2);
261
- left = boundingLeft + scrollLeft + Math.floor(cell.offsetWidth / 2);
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
- this.closeMenu();
285
+ $xeTable.closeMenu();
269
286
  }
270
287
  });
271
288
  }
272
289
  }
273
- this.closeFilter();
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 ctxMenuStore = this.ctxMenuStore;
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
- this.$nextTick(() => {
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 ctxMenuStore = this.ctxMenuStore;
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
- }, this.ctxMenuStore.args);
368
+ });
343
369
  if (gMenuOpts && gMenuOpts.menuMethod) {
344
370
  gMenuOpts.menuMethod(params, evnt);
345
371
  }
346
372
  // 在 v4 中废弃事件 context-menu-click
347
- if (this.$listeners['context-menu-click']) {
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
- this.closeMenu();
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,o){let s;var r=_xeUtils.default.findIndexOf(o,e=>t[l]===e);if(n)i&&(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=r-1;0<=e;e--)if(!1!==o[e].visible){s=o[e];break}t[l]=s||o[o.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=r+1;e<o.length;e++)if(!1!==o[e].visible){s=o[e];break}t[l]=s||o[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,i=l.$xeGantt,e=l;let{$refs:o,tId:s,editStore:r,menuConfig:u,contextMenu:d,ctxMenuStore:a,ctxMenuOpts:h,mouseConfig:c,mouseOpts:v}=this;var g=r.selected,f=l.$refs.refTableFilter,x=["header","body","footer"];if((0,_utils.isEnableConf)(u)||d){if(a.visible&&o.refTableMenu&&(0,_dom.getEventTargetNode)(t,o.refTableMenu.$el).flag)return void t.preventDefault();if(e._keyCtx){var e="body",m={type:e,$table:l,$grid:n,$gantt:i,keyboard:!0,columns:this.visibleColumn.slice(0),$event:t};if(c&&v.area){var b=this.getActiveCellArea();if(b&&b.row&&b.column)return m.row=b.row,m.column=b.column,void this.handleOpenMenuEvent(t,e,m)}else if(c&&v.selected&&g.row&&g.column)return m.row=g.row,m.column=g.column,void this.handleOpenMenuEvent(t,e,m)}for(let e=0;e<x.length;e++){var p=x[e],E=(0,_dom.getEventTargetNode)(t,this.$el,`vxe-${p}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===s),_={type:p,$table:l,$grid:n,$gantt:i,columns:this.visibleColumn.slice(0),$event:t};if(E.flag){var E=E.targetElem,M=l.getColumnNode(E),M=M?M.item:null;let e=p+"-";M&&Object.assign(_,{column:M,columnIndex:l.getColumnIndex(M),cell:E}),"body"===p&&(E=(M=l.getRowNode(E.parentNode))?M.item:null,e="",E)&&(_.row=E,_.rowIndex=l.getRowIndex(E));M=e+"cell-menu";return this.handleOpenMenuEvent(t,p,_),void(this.$listeners[e+"cell-context-menu"]?((0,_log.warnLog)("vxe.error.delEvent",[e+"cell-context-menu",e+"cell-menu"]),l.dispatchEvent(e+"cell-context-menu",_,t)):l.dispatchEvent(M,_,t))}if((0,_dom.getEventTargetNode)(t,this.$el,`vxe-table--${p}-wrapper`,e=>e.getAttribute("xid")===s).flag)return void("cell"===h.trigger?t.preventDefault():this.handleOpenMenuEvent(t,p,_))}}f&&!(0,_dom.getEventTargetNode)(t,f.$el).flag&&this.closeFilter(),this.closeMenu()},handleOpenMenuEvent(l,n,c){let{isCtxMenu:i,ctxMenuStore:v,ctxMenuOpts:e}=this;n=e[n];let o=e.visibleMethod;if(n){let{options:t,disabled:e}=n;e?l.preventDefault():i&&t&&t.length&&(c.options=t,this.preventEvent(l,"event.showMenu",c,()=>{if(!o||o(c)){l.preventDefault(),this.updateZindex();let{scrollTop:i,scrollLeft:o,visibleHeight:s,visibleWidth:r}=(0,_dom.getDomNode)(),u=l.clientY+i,d=l.clientX+o,n=()=>{Object.assign(v,{args:c,visible:!0,list:t,selected:null,selectChild:null,showChild:!1,style:{zIndex:this.tZindex,top:u+"px",left:d+"px"}}),this.$nextTick(()=>{var e=this.$refs.refTableMenu.$el,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:n}=(0,_dom.getAbsolutePos)(e),e=e+t-s,n=n+l-r;-10<e&&(v.style.top=Math.max(i+2,u-t-2)+"px"),-10<n&&(v.style.left=Math.max(o+2,d-l-2)+"px")})},{keyboard:e,row:a,column:h}=c;e&&a&&h?this.scrollToRow(a,h).then(()=>{var e=this.getCellElement(a,h),{boundingTop:t,boundingLeft:l}=(0,_dom.getAbsolutePos)(e);u=t+i+Math.floor(e.offsetHeight/2),d=l+o+Math.floor(e.offsetWidth/2),n()}):n()}else this.closeMenu()}))}this.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 i=d.nextElementSibling;if(i){var{boundingTop:o,boundingLeft:s,visibleHeight:r,visibleWidth:u}=(0,_dom.getAbsolutePos)(d),o=o+d.offsetHeight;let e="",t="",l=(s+d.offsetWidth+i.offsetWidth>u-10&&(e="auto",t=d.offsetWidth+"px"),""),n="";o+i.offsetHeight>r-10&&(l="auto",n="0"),i.style.left=e,i.style.right=t,i.style.top=l,i.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,i=n.$xeGrid,o=n.$xeGantt;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({menu:t,$table:n,$grid:i,$gantt:o,$event:e},this.ctxMenuStore.args),l&&l.menuMethod&&l.menuMethod(t,e),this.$listeners["context-menu-click"]?((0,_log.warnLog)("vxe.error.delEvent",["context-menu-click","menu-click"]),n.dispatchEvent("context-menu-click",t,e)):n.dispatchEvent("menu-click",t,e),this.closeMenu())}}};
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
- } = this;
35
+ } = tableReactData;
36
+ const menuOpts = $xeTable.computeMenuOpts;
36
37
  return h('div', {
37
- class: ['vxe-table--context-menu-wrapper', ctxMenuOpts.className, {
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) ? _e() : h('ul', {
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}`) : _e()]), h('span', {
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}`) : _e()])]), hasChildMenus ? h('ul', {
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}`) : _e()]), h('span', {
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}`) : _e()])])]);
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 getIcon=_ui.VxeUI.getIcon;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 u=this.$parent,{_e:r,ctxMenuOpts:e,ctxMenuStore:x}=this;return o("div",{class:["vxe-table--context-menu-wrapper",e.className,{"is--visible":x.visible}],style:x.style},x.list.map((e,a)=>e.every(e=>!1===e.visible)?r():o("ul",{class:"vxe-context-menu--option-wrapper",key:a},e.map((l,c)=>{var e=l.children&&l.children.some(e=>!1!==e.visible),t=Object.assign({},l.prefixConfig),n=Object.assign({},l.suffixConfig),s=(0,_utils.getFuncText)(l.name);return!1===l.visible?null:o("li",{class:[l.className,{"link--disabled":l.disabled,"link--active":l===x.selected}],key:a+"_"+c},[o("a",{class:"vxe-context-menu--link",on:{click(e){u.ctxMenuLinkEvent(e,l)},mouseover(e){u.ctxMenuMouseoverEvent(e,l)},mouseout(e){u.ctxMenuMouseoutEvent(e,l)}}},[o("div",{class:["vxe-context-menu--link-prefix",t.className||""]},[o("i",{class:t.icon||l.prefixIcon}),t.content?o("span",{},""+t.content):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||l.suffixIcon||(e?getIcon().TABLE_MENU_OPTIONS:"")}),n.content?o("span",""+n.content):r()])]),e?o("ul",{class:["vxe-table--context-menu-clild-wrapper",{"is--show":l===x.selected&&x.showChild}]},l.children.map((t,e)=>{var n=Object.assign({},t.prefixConfig),s=Object.assign({},t.suffixConfig),i=(0,_utils.getFuncText)(t.name);return!1===t.visible?null:o("li",{class:[t.className,{"link--disabled":t.disabled,"link--active":t===x.selectChild}],key:a+`_${c}_`+e},[o("a",{class:"vxe-context-menu--link",on:{click(e){u.ctxMenuLinkEvent(e,t)},mouseover(e){u.ctxMenuMouseoverEvent(e,l,t)},mouseout(e){u.ctxMenuMouseoutEvent(e,l)}}},[o("div",{class:["vxe-context-menu--link-prefix",n.className||""]},[o("i",{class:n.icon||t.prefixIcon}),n.content?o("span",""+n.content):r()]),o("span",{class:"vxe-context-menu--link-content",attrs:{title:i}},i),o("div",{class:["vxe-context-menu--link-suffix",s.className||""]},[o("i",{class:s.icon}),s.content?o("span",""+s.content):r()])])])})):null])}))))}};
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
- return renderOpts.children.map(childRenderOpts => oldButtonEditRender(h, childRenderOpts, params)[0]);
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}});
@@ -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
- return;
244
- }
245
- if (showTitle) {
246
- (0, _dom.updateCellTitle)(evnt.currentTarget, column);
247
- } else if (showTooltip || showAllTip) {
248
- // 如果配置了显示 tooltip
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
- return;
261
- }
262
- if (showTooltip || showAllTip) {
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