vxe-table 3.18.1 → 3.18.3

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 (83) 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/src/body.js +12 -14
  9. package/es/table/src/column.js +2 -0
  10. package/es/table/src/columnInfo.js +1 -0
  11. package/es/table/src/footer.js +7 -5
  12. package/es/table/src/header.js +67 -28
  13. package/es/table/src/methods.js +233 -39
  14. package/es/table/src/props.js +23 -6
  15. package/es/table/src/table.js +43 -19
  16. package/es/table/src/util.js +70 -2
  17. package/es/table/style.css +11 -21
  18. package/es/table/style.min.css +1 -1
  19. package/es/ui/index.js +1 -1
  20. package/es/ui/src/log.js +1 -1
  21. package/es/ui/src/vn.js +16 -11
  22. package/es/vxe-table/style.css +11 -21
  23. package/es/vxe-table/style.min.css +1 -1
  24. package/lib/grid/src/grid.js +6 -0
  25. package/lib/grid/src/grid.min.js +1 -1
  26. package/lib/index.css +1 -1
  27. package/lib/index.min.css +1 -1
  28. package/lib/index.umd.js +610 -185
  29. package/lib/index.umd.min.js +1 -1
  30. package/lib/style.css +1 -1
  31. package/lib/style.min.css +1 -1
  32. package/lib/table/module/menu/mixin.js +84 -58
  33. package/lib/table/module/menu/mixin.min.js +1 -1
  34. package/lib/table/module/menu/panel.js +11 -10
  35. package/lib/table/module/menu/panel.min.js +1 -1
  36. package/lib/table/src/body.js +11 -13
  37. package/lib/table/src/body.min.js +1 -1
  38. package/lib/table/src/column.js +2 -0
  39. package/lib/table/src/column.min.js +1 -1
  40. package/lib/table/src/columnInfo.js +1 -0
  41. package/lib/table/src/columnInfo.min.js +1 -1
  42. package/lib/table/src/footer.js +7 -5
  43. package/lib/table/src/header.js +82 -25
  44. package/lib/table/src/header.min.js +1 -1
  45. package/lib/table/src/methods.js +259 -42
  46. package/lib/table/src/methods.min.js +1 -1
  47. package/lib/table/src/props.js +11 -3
  48. package/lib/table/src/props.min.js +1 -1
  49. package/lib/table/src/table.js +46 -16
  50. package/lib/table/src/table.min.js +1 -1
  51. package/lib/table/src/util.js +74 -2
  52. package/lib/table/src/util.min.js +1 -1
  53. package/lib/table/style/style.css +11 -21
  54. package/lib/table/style/style.min.css +1 -1
  55. package/lib/ui/index.js +1 -1
  56. package/lib/ui/index.min.js +1 -1
  57. package/lib/ui/src/log.js +1 -1
  58. package/lib/ui/src/log.min.js +1 -1
  59. package/lib/ui/src/vn.js +16 -10
  60. package/lib/ui/src/vn.min.js +1 -1
  61. package/lib/vxe-table/style/style.css +11 -21
  62. package/lib/vxe-table/style/style.min.css +1 -1
  63. package/package.json +1 -1
  64. package/packages/grid/src/grid.ts +5 -1
  65. package/packages/table/module/menu/mixin.ts +79 -50
  66. package/packages/table/module/menu/panel.ts +11 -9
  67. package/packages/table/src/body.ts +11 -13
  68. package/packages/table/src/column.ts +4 -2
  69. package/packages/table/src/columnInfo.ts +1 -0
  70. package/packages/table/src/footer.ts +11 -9
  71. package/packages/table/src/header.ts +76 -34
  72. package/packages/table/src/methods.ts +245 -40
  73. package/packages/table/src/props.ts +29 -12
  74. package/packages/table/src/table.ts +53 -16
  75. package/packages/table/src/util.ts +76 -2
  76. package/packages/ui/src/vn.ts +16 -11
  77. package/styles/components/table.scss +33 -56
  78. /package/es/{iconfont.1756272539382.ttf → iconfont.1756629700380.ttf} +0 -0
  79. /package/es/{iconfont.1756272539382.woff → iconfont.1756629700380.woff} +0 -0
  80. /package/es/{iconfont.1756272539382.woff2 → iconfont.1756629700380.woff2} +0 -0
  81. /package/lib/{iconfont.1756272539382.ttf → iconfont.1756629700380.ttf} +0 -0
  82. /package/lib/{iconfont.1756272539382.woff → iconfont.1756629700380.woff} +0 -0
  83. /package/lib/{iconfont.1756272539382.woff2 → iconfont.1756629700380.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])}))))}};
@@ -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
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r,a){var o=r.column,i=l.afterFullData,s=l.treeConfig,d=l.computeTreeOpts,{slots:o,treeNode:n}=o,c=l.fullAllDataRowIdData;if(o&&o.line)return l.callSlot(o.line,r,e);o=c[t];let p=0,u=null;return o&&(p=o.level,u=o.items[o.treeIndex-1]),s&&n&&(d.showLine||d.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${(0,_util.getRowid)(l,i[0])===t?1:(0,_util.calcTreeLine)(r,u)}px`,bottom:`-${Math.floor(a/2)}px`,left:p*d.indent+(p?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,l,A,t,r,H,q,a,F,L,o,i,N,U,V){var s=l.$xeGrid,d=l.$xeGantt,{columnKey:G,resizable:n,showOverflow:c,border:W,height:p,treeConfig:X,cellClassName:Y,cellStyle:j,align:u,spanMethod:P,mouseConfig:K,editConfig:J,editRules:g,tooltipConfig:x,padding:Q}=l,{tableData:Z,tableColumn:ee,dragRow:le,overflowX:te,overflowY:re,currentColumn:ae,scrollXLoad:oe,scrollYLoad:ie,mergeBodyFlag:se,calcCellHeightFlag:m,resizeHeightFlag:v,resizeWidthFlag:de,editStore:ne,isAllOverflow:ce,validErrorMaps:pe}=l,{fullAllDataRowIdData:ue,fullColumnIdData:w,mergeBodyCellMaps:ge,visibleColumn:xe,afterFullData:me,mergeBodyList:ve,scrollXStore:we,scrollYStore:fe}=l,f=l.computeCellOpts,h=l.computeValidOpts,y=l.computeCheckboxOpts,he=l.computeEditOpts,b=l.computeTooltipOpts,ye=l.computeVirtualXOpts,be=l.computeVirtualYOpts,{isAllColumnDrag:Ce,isAllRowDrag:_e}=l.resizableOpts,C=l.computeRowOpts,_=l.computeRowDragOpts,Ee=l.computeDefaultRowHeight,m=m?f.height||C.height:0,{disabledMethod:E,isCrossDrag:Re,isPeerDrag:Se}=_,$e=l.computeColumnOpts,De=l.computeMouseOpts,Oe=l.computeCellOffsetWidth,Ie=l.computeAreaOpts.selectCellToRow,{type:Te,cellRender:ke,editRender:Be,align:Me,showOverflow:R,className:ze,treeNode:Ae,rowResize:He,padding:S,verticalAlign:$,slots:qe}=i,Fe=f.verticalAlign,ne=ne.actived,Le=ue[t]||{},D=i.id,w=w[D]||{},O=Be||ke,O=O?renderer.get(O.name):null,Ne=O?O.tableCellClassName||O.cellClassName:null,Ue=O?O.tableCellStyle||O.cellStyle:"";let Ve=b.showAll;var Ge=w.index,b=w._index,w=(0,_utils.isEnableConf)(Be),v=v?Le.resizeHeight:0;let I=te&&(r?i.fixed!==r:!!i.fixed);Q=_xeUtils.default.eqNull(S)?null===Q?f.padding:Q:S,S=_xeUtils.default.eqNull(R)?c:R,c="ellipsis"===S;let T="title"===S,k=!0===S||"tooltip"===S;R=ce||T||k||c,S=_xeUtils.default.isBoolean(i.resizable)?i.resizable:$e.resizable||n,n=!!m,m=0<v;let We;v={},Me=Me||(O?O.tableCellAlign:"")||u,O=_xeUtils.default.eqNull($)?Fe:$,u=pe[t+":"+D],Fe=g&&h.showMessage&&("default"===h.message?p||1<Z.length:"inline"===h.message),$={colid:D};let B={$table:l,$grid:s,$gantt:d,isEdit:!1,seq:A,rowid:t,row:a,rowIndex:F,$rowIndex:L,_rowIndex:o,column:i,columnIndex:Ge,$columnIndex:N,_columnIndex:b,fixed:r,type:renderType,isHidden:!!I,level:q,visibleData:me,data:Z,items:V},M=!1,Xe=!1,z=((M=C.drag?"row"===_.trigger||i.dragSort&&"cell"===_.trigger:M)&&(Xe=!(!E||!E(B))),(T||k||Ve||x)&&(v.mouseenter=e=>{isVMScrollProcess(l)||(T?(0,_dom.updateCellTitle)(e.currentTarget,i):(k||Ve)&&l.triggerBodyTooltipEvent(e,B),l.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},B),e))}),(k||Ve||x)&&(v.mouseleave=e=>{isVMScrollProcess(l)||((k||Ve)&&l.handleTargetLeaveEvent(e),l.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},B),e))}),(M||y.range||K)&&(v.mousedown=e=>{l.triggerCellMousedownEvent(e,B)}),M&&(v.mouseup=l.triggerCellMouseupEvent),v.click=e=>{l.triggerCellClickEvent(e,B)},!(v.dblclick=e=>{l.triggerCellDblclickEvent(e,B)})),Ye=1,je=1;if(se&&ve.length){pe=ge[o+":"+b];if(pe){var{rowspan:g,colspan:p}=pe;if(!g||!p)return renderEmptyElement(l);1<g&&(z=!0,je=g,$.rowspan=g),1<p&&(z=!0,Ye=p,$.colspan=p)}}else if(P){var{rowspan:s=1,colspan:d=1}=P(B)||{};if(!s||!d)return renderEmptyElement(l);1<s&&(z=!0,je=s,$.rowspan=s),1<d&&(z=!0,Ye=d,$.colspan=d)}!(I=I&&z&&(1<$.colspan||1<$.rowspan)?!1:I)&&J&&(Be||ke)&&(he.showStatus||he.showUpdateStatus)&&(We=l.isUpdateByRow(a,i.field));A=!R&&(ie||oe);let Pe=(0,_util.getCellRestHeight)(Le,f,C,Ee);F=N===U.length-1,L=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Ke=!1;z||le&&(0,_util.getRowid)(l,le)===t||(re&&ie&&!X&&16<Z.length&&!be.immediate&&(o<fe.visibleStartIndex-fe.preloadSize||o>fe.visibleEndIndex+fe.preloadSize)||te&&oe&&10<ee.length&&!ye.immediate&&!i.fixed&&(b<we.visibleStartIndex-we.preloadSize||b>we.visibleEndIndex+we.preloadSize))&&(Ke=!0),1<je&&(V=me[o+je-1])&&(_=ue[(0,_util.getRowid)(l,V)])&&(Pe+=_.oTop+(0,_util.getCellRestHeight)(_,f,C,Ee)-Le.oTop-(0,_util.getCellRestHeight)(Le,f,C,Ee));E={};if(R&&de){let l=0;if(1<Ye)for(let e=1;e<Ye;e++){var Je=xe[Ge+e];Je&&(l+=Je.renderWidth)}E.width=i.renderWidth+l-Oe+"px"}ie||oe||R||n||m?E.height=Pe+"px":E.minHeight=Pe+"px";x=[];I&&ce?x.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":c}],style:E})):(X&&x.push(...renderLine(e,l,t,B,Pe)),x.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":c}],style:E,attrs:{title:T?l.getCellLabel(a,i):null}},Ke?[]:[e("div",{attrs:{colid:D,rowid:t},class:"vxe-cell--wrapper vxe-body-cell--wrapper"},i.renderCell(e,B))])),Fe&&u&&(y=u.rule,se=qe?qe.valid:null,ve=Object.assign(Object.assign(Object.assign({},B),u),{rule:u}),x.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(h.className,u)],style:y&&y.maxWidth?{width:y.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(h.theme||"normal")},[se?l.callSlot(se,ve,e):[e("span",{class:"vxe-cell--valid-error-msg"},u.content)]])]))));let Qe=!1;return K&&De.area&&!b&&Ie&&(Qe=!0),!I&&S&&Ce&&x.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>l.handleColResizeMousedownEvent(e,r,B),dblclick:e=>l.handleColResizeDblclickEvent(e,B)}})),(He||_e)&&C.resizable&&x.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>l.handleRowResizeMousedownEvent(e,B),dblclick:e=>l.handleRowResizeDblclickEvent(e,B)}})),e("td",{class:["vxe-table--column vxe-body--column",D,O?"col--vertical-"+O:"",Me?"col--"+Me:"",Te?"col--"+Te:"",{"col--last":F,"col--tree-node":Ae,"col--edit":w,"col--ellipsis":R,"col--cs-height":n,"col--rs-height":m,"col--to-row":Qe,"col--auto-height":A,"fixed--width":!L,"fixed--hidden":I,"is--padding":Q,"is--progress":I&&ce||Ke,"is--drag-cell":M&&(Re||Se||!q),"is--drag-disabled":Xe,"col--dirty":We,"col--active":J&&w&&ne.row===a&&(ne.column===i||"row"===he.mode),"col--valid-error":!!u,"col--current":ae===i},(0,_utils.getClass)(Ne,B),(0,_utils.getClass)(ze,B),(0,_utils.getClass)(Y,B)],key:G||oe||ie||$e.useKey||C.useKey||$e.drag?i.id:N,attrs:$,style:Object.assign({},_xeUtils.default.isFunction(Ue)?Ue(B):Ue,_xeUtils.default.isFunction(j)?j(B):j),on:v},H&&I?[]:x)}function renderRows(v,w,f,h,y,b){let C=w.$parent;var e=C,l=C,t=C;let _=C.$xeGrid,E=C.$xeGantt,{stripe:R,rowKey:S,highlightHoverRow:$,rowClassName:D,rowStyle:O,editConfig:I,treeConfig:T}=e,{hasFixedColumn:k,treeExpandedFlag:B,scrollXLoad:M,scrollYLoad:z,isAllOverflow:A,rowExpandedFlag:H,expandColumn:q,selectRadioRow:F,pendingRowFlag:L,rowExpandHeightFlag:N,isRowGroupStatus:U}=l,{fullAllDataRowIdData:P,fullColumnIdData:K,treeExpandedMaps:J,pendingRowMaps:Q,rowExpandedMaps:Z}=t,ee=C.computeCheckboxOpts,le=C.computeRadioOpts,V=C.computeTreeOpts,G=C.computeEditOpts,W=C.computeRowOpts,te=C.computeColumnOpts,{transform:X,seqMode:Y}=V,re=V.children||V.childrenField,j=[],ae=(0,_util.createHandleGetRowId)(C).handleGetRowId,oe=T||U;return y.forEach((r,a)=>{var o={};let i=ae(r);var s=P[i]||{};let d=a,n=0,c=-1,p=-1;var u=U&&r.isAggregate,g=((W.isHover||$)&&(o.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:r,rowIndex:d})},o.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),s&&(d=s.index,p=s._index,n=s.level,c=s.seq,u||T&&X&&"increasing"===Y?c=s._index+1:T&&"fixed"===Y&&(c=s._tIndex+1)),{$table:C,seq:c,rowid:i,fixed:f,type:renderType,level:n,row:r,rowIndex:d,$rowIndex:a,_rowIndex:p}),x=q&&!!H&&!!Z[i];let e=!1,l=[],t=!1;I&&(t=C.isInsertByRow(r)),!T||z||X||(l=r[re],e=!!B&&l&&0<l.length&&!!J[i]),!W.drag||U||T&&!X||(o.dragstart=C.handleRowDragDragstartEvent,o.dragend=C.handleRowDragDragendEvent,o.dragover=C.handleRowDragDragoverEvent);var u=["vxe-body--row",oe?"row--level-"+n:"",{"row--stripe":R&&(p+1)%2==0,"is--new":t,"is--expand-row":x,"is--expand-tree":e,"row--new":t&&(G.showStatus||G.showInsertStatus),"row--radio":le.highlight&&F===r,"row--checked":ee.highlight&&C.isCheckedByCheckboxRow(r),"row--pending":!!L&&!!Q[i],"row--group":u},D?_xeUtils.default.isFunction(D)?D(g):D:""],m=b.map((e,l)=>renderTdColumn(v,C,c,i,f,h,n,r,d,a,p,e,l,b,y));if(j.push(v("tr",{class:u,attrs:{rowid:i},style:O?_xeUtils.default.isFunction(O)?O(g):O:void 0,key:S||M||z||W.useKey||W.drag||te.drag||U||T?i:a,on:o},m)),x){var{height:u,padding:g,mode:o}=C.computeExpandOpts;if("fixed"===o)j.push(v("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+i,attrs:{rowid:i}},[v("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${N?s.expandHeight||u:0}px`}})]));else{m={},x=(u&&(m.height=u+"px"),T&&(m.paddingLeft=n*V.indent+30+"px"),q||{}).showOverflow,o=q.id,s=K[o]||{},o=_xeUtils.default.eqNull(x)?A:x;let e=-1,l=-1,t=-1;s&&(e=s.index,l=s.$index,t=s._index);x={$grid:_,$table:C,$gantt:E,seq:c,column:q,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:f,type:renderType,level:n,row:r,rowid:i,rowIndex:d,$rowIndex:a,_rowIndex:p,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};j.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":g}],key:"expand_"+i},[v("td",{class:["vxe-body--expanded-column",{"fixed--hidden":f&&!k,"col--ellipsis":o}],attrs:{colspan:b.length}},[v("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":u}],style:m},[q.renderData(v,x)])])]))}}e&&j.push(...renderRows(v,w,f,h,l,b))}),j}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,a=l,o=l.$xeGrid,i=l.$xeGantt,s=l.$scopedSlots,d=l.xID;let{fixedColumn:n,fixedType:c,tableColumn:p}=this;var{spanMethod:u,footerSpanMethod:g,mouseConfig:x}=e,{isGroup:r,tableData:m,isColLoading:v,overflowX:w,scrollXLoad:f,scrollYLoad:h,isAllOverflow:y,expandColumn:b,dragRow:C,dragCol:_}=r,{visibleColumn:a,fullAllDataRowIdData:E,fullColumnIdData:R}=a,S=l.computeEmptyOpts,$=l.computeMouseOpts,D=l.computeExpandOpts;let O=m,I=p,T=!1;!(f||h||y)||b&&"fixed"!==D.mode||u||g||(T=!0),v||!c&&w||(I=a),c&&T&&(I=n||[]),h&&C&&2<O.length&&(m=E[(0,_util.getRowid)(l,C)])&&(y=m._index,b=O[0],D=O[O.length-1],u=E[(0,_util.getRowid)(l,b)],g=E[(0,_util.getRowid)(l,D)],u)&&g&&(v=u._index,w=g._index,y<v?O=[C].concat(O):w<y&&(O=O.concat([C]))),c||r||f&&_&&2<I.length&&(a=R[_.id])&&(h=a._index,m=I[0],b=I[I.length-1],E=R[m.id],D=R[b.id],E)&&D&&(u=E._index,g=D._index,h<u?I=[_].concat(I):g<h&&(I=I.concat([_])));let k;v=s?s.empty:null,w={$table:l,$grid:o,$gantt:i},k=v?v.call(l,w):(C=(y=S.name?renderer.get(S.name):null)?y.renderTableEmpty||y.renderTableEmptyView||y.renderEmpty:null)?(0,_vn.getSlotVNs)(C.call(l,t,S,w)):e.emptyText||getI18n("vxe.table.emptyText"),r={scroll(e){l.triggerBodyScrollEvent(e,c)}};return t("div",{ref:"refElem",class:["vxe-table--body-wrapper",c?`fixed-${c}--wrapper`:"body--wrapper"],attrs:{xid:d}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:r},[c?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:d,cellspacing:0,cellpadding:0,border:0,xvm:T?"1":null}},[t("colgroup",{ref:"refBodyColgroup"},I.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),t("tbody",{ref:"refBodyTBody"},renderRows(t,this,c,T,O,I))]),t("div",{class:"vxe-table--checkbox-range"}),x&&$.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},$.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:c,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-clip-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),c?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},k)])])])}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r,a){var o=r.column,i=l.afterFullData,s=l.treeConfig,d=l.computeTreeOpts,{slots:o,treeNode:n}=o,c=l.fullAllDataRowIdData;if(o&&o.line)return l.callSlot(o.line,r,e);o=c[t];let p=0,u=null;return o&&(p=o.level,u=o.items[o.treeIndex-1]),s&&n&&(d.showLine||d.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${(0,_util.getRowid)(l,i[0])===t?1:(0,_util.calcTreeLine)(r,u)}px`,bottom:`-${Math.floor(a/2)}px`,left:p*d.indent+(p?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,l,A,t,r,H,q,a,F,L,o,i,N,U,V){var s=l.$xeGrid,d=l.$xeGantt,{columnKey:G,resizable:n,showOverflow:c,border:W,height:p,treeConfig:X,cellClassName:Y,cellStyle:j,align:u,spanMethod:P,mouseConfig:K,editConfig:J,editRules:g,tooltipConfig:x,padding:Q}=l,{tableData:Z,tableColumn:ee,dragRow:le,overflowX:te,overflowY:re,currentColumn:ae,scrollXLoad:oe,scrollYLoad:ie,mergeBodyFlag:se,calcCellHeightFlag:m,resizeHeightFlag:v,resizeWidthFlag:de,editStore:ne,isAllOverflow:ce,validErrorMaps:pe}=l,{fullAllDataRowIdData:ue,fullColumnIdData:w,mergeBodyCellMaps:ge,visibleColumn:xe,afterFullData:me,mergeBodyList:ve,scrollXStore:we,scrollYStore:fe}=l,f=l.computeCellOpts,h=l.computeValidOpts,y=l.computeCheckboxOpts,he=l.computeEditOpts,b=l.computeTooltipOpts,ye=l.computeVirtualXOpts,be=l.computeVirtualYOpts,{isAllColumnDrag:Ce,isAllRowDrag:_e}=l.resizableOpts,C=l.computeRowOpts,_=l.computeRowDragOpts,Ee=l.computeDefaultRowHeight,m=m?f.height||C.height:0,{disabledMethod:E,isCrossDrag:Re,isPeerDrag:Se}=_,$e=l.computeColumnOpts,De=l.computeMouseOpts,Oe=l.computeCellOffsetWidth,Ie=l.computeAreaOpts.selectCellToRow,{type:Te,cellRender:ke,editRender:Be,align:Me,showOverflow:R,className:ze,treeNode:Ae,rowResize:He,padding:S,verticalAlign:$,slots:qe}=i,Fe=f.verticalAlign,ne=ne.actived,Le=ue[t]||{},D=i.id,w=w[D]||{},O=Be||ke,O=O?renderer.get(O.name):null,Ne=O?O.tableCellClassName||O.cellClassName:null,Ue=O?O.tableCellStyle||O.cellStyle:"";let Ve=b.showAll;var Ge=w.index,b=w._index,w=(0,_utils.isEnableConf)(Be),v=v?Le.resizeHeight:0;let I=te&&(r?i.fixed!==r:!!i.fixed);Q=_xeUtils.default.eqNull(S)?null===Q?f.padding:Q:S,S=_xeUtils.default.eqNull(R)?c:R,c="ellipsis"===S;let T="title"===S,k=!0===S||"tooltip"===S;R=ce||T||k||c,S=_xeUtils.default.isBoolean(i.resizable)?i.resizable:$e.resizable||n,n=!!m,m=0<v;let We;v={},Me=Me||(O?O.tableCellAlign:"")||u,O=_xeUtils.default.eqNull($)?Fe:$,u=pe[t+":"+D],Fe=g&&h.showMessage&&("default"===h.message?p||1<Z.length:"inline"===h.message),$={colid:D};let B={$table:l,$grid:s,$gantt:d,isEdit:!1,seq:A,rowid:t,row:a,rowIndex:F,$rowIndex:L,_rowIndex:o,column:i,columnIndex:Ge,$columnIndex:N,_columnIndex:b,fixed:r,type:renderType,isHidden:!!I,level:q,visibleData:me,data:Z,items:V},M=!1,Xe=!1,z=((M=C.drag?"row"===_.trigger||i.dragSort&&"cell"===_.trigger:M)&&(Xe=!(!E||!E(B))),(T||k||Ve||x)&&(v.mouseenter=e=>{isVMScrollProcess(l)||(T?(0,_dom.updateCellTitle)(e.currentTarget,i):(k||Ve)&&l.triggerBodyTooltipEvent(e,B)),l.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},B),e)}),(k||Ve||x)&&(v.mouseleave=e=>{isVMScrollProcess(l)||(k||Ve)&&l.handleTargetLeaveEvent(e),l.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},B),e)}),(M||y.range||K)&&(v.mousedown=e=>{l.triggerCellMousedownEvent(e,B)}),M&&(v.mouseup=l.triggerCellMouseupEvent),v.click=e=>{l.triggerCellClickEvent(e,B)},!(v.dblclick=e=>{l.triggerCellDblclickEvent(e,B)})),Ye=1,je=1;if(se&&ve.length){pe=ge[o+":"+b];if(pe){var{rowspan:g,colspan:p}=pe;if(!g||!p)return renderEmptyElement(l);1<g&&(z=!0,je=g,$.rowspan=g),1<p&&(z=!0,Ye=p,$.colspan=p)}}else if(P){var{rowspan:s=1,colspan:d=1}=P(B)||{};if(!s||!d)return renderEmptyElement(l);1<s&&(z=!0,je=s,$.rowspan=s),1<d&&(z=!0,Ye=d,$.colspan=d)}!(I=I&&z&&(1<$.colspan||1<$.rowspan)?!1:I)&&J&&(Be||ke)&&(he.showStatus||he.showUpdateStatus)&&(We=l.isUpdateByRow(a,i.field));A=!R&&(ie||oe);let Pe=(0,_util.getCellRestHeight)(Le,f,C,Ee);F=N===U.length-1,L=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Ke=!1;z||le&&(0,_util.getRowid)(l,le)===t||(re&&ie&&!X&&16<Z.length&&!be.immediate&&(o<fe.visibleStartIndex-fe.preloadSize||o>fe.visibleEndIndex+fe.preloadSize)||te&&oe&&10<ee.length&&!ye.immediate&&!i.fixed&&(b<we.visibleStartIndex-we.preloadSize||b>we.visibleEndIndex+we.preloadSize))&&(Ke=!0),1<je&&(V=me[o+je-1])&&(_=ue[(0,_util.getRowid)(l,V)])&&(Pe+=_.oTop+(0,_util.getCellRestHeight)(_,f,C,Ee)-Le.oTop-(0,_util.getCellRestHeight)(Le,f,C,Ee));E={};if(R&&de){let l=0;if(1<Ye)for(let e=1;e<Ye;e++){var Je=xe[Ge+e];Je&&(l+=Je.renderWidth)}E.width=i.renderWidth+l-Oe+"px"}ie||oe||R||n||m?E.height=Pe+"px":E.minHeight=Pe+"px";x=[];I&&ce?x.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":c}],style:E})):(X&&x.push(...renderLine(e,l,t,B,Pe)),x.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":c}],style:E,attrs:{title:T?l.getCellLabel(a,i):null}},Ke?[]:[e("div",{attrs:{colid:D,rowid:t},class:"vxe-cell--wrapper vxe-body-cell--wrapper"},i.renderCell(e,B))])),Fe&&u&&(y=u.rule,se=qe?qe.valid:null,ve=Object.assign(Object.assign(Object.assign({},B),u),{rule:u}),x.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(h.className,u)],style:y&&y.maxWidth?{width:y.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(h.theme||"normal")},[se?l.callSlot(se,ve,e):[e("span",{class:"vxe-cell--valid-error-msg"},u.content)]])]))));let Qe=!1;return K&&De.area&&!b&&Ie&&(Qe=!0),!I&&S&&Ce&&x.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>l.handleColResizeMousedownEvent(e,r,B),dblclick:e=>l.handleColResizeDblclickEvent(e,B)}})),(He||_e)&&C.resizable&&x.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>l.handleRowResizeMousedownEvent(e,B),dblclick:e=>l.handleRowResizeDblclickEvent(e,B)}})),e("td",{class:["vxe-table--column vxe-body--column",D,O?"col--vertical-"+O:"",Me?"col--"+Me:"",Te?"col--"+Te:"",{"col--last":F,"col--tree-node":Ae,"col--edit":w,"col--ellipsis":R,"col--cs-height":n,"col--rs-height":m,"col--to-row":Qe,"col--auto-height":A,"fixed--width":!L,"fixed--hidden":I,"is--padding":Q,"is--progress":I&&ce||Ke,"is--drag-cell":M&&(Re||Se||!q),"is--drag-disabled":Xe,"col--dirty":We,"col--active":J&&w&&ne.row===a&&(ne.column===i||"row"===he.mode),"col--valid-error":!!u,"col--current":ae===i},(0,_utils.getClass)(Ne,B),(0,_utils.getClass)(ze,B),(0,_utils.getClass)(Y,B)],key:G||oe||ie||$e.useKey||C.useKey||$e.drag?i.id:N,attrs:$,style:Object.assign({},_xeUtils.default.isFunction(Ue)?Ue(B):Ue,_xeUtils.default.isFunction(j)?j(B):j),on:v},H&&I?[]:x)}function renderRows(v,w,f,h,y,b){let C=w.$parent;var e=C,l=C,t=C;let _=C.$xeGrid,E=C.$xeGantt,{stripe:R,rowKey:S,highlightHoverRow:$,rowClassName:D,rowStyle:O,editConfig:I,treeConfig:T}=e,{hasFixedColumn:k,treeExpandedFlag:B,scrollXLoad:M,scrollYLoad:z,isAllOverflow:A,rowExpandedFlag:H,expandColumn:q,selectRadioRow:F,pendingRowFlag:L,rowExpandHeightFlag:N,isRowGroupStatus:U}=l,{fullAllDataRowIdData:P,fullColumnIdData:K,treeExpandedMaps:J,pendingRowMaps:Q,rowExpandedMaps:Z}=t,ee=C.computeCheckboxOpts,le=C.computeRadioOpts,V=C.computeTreeOpts,G=C.computeEditOpts,W=C.computeRowOpts,te=C.computeColumnOpts,{transform:X,seqMode:Y}=V,re=V.children||V.childrenField,j=[],ae=(0,_util.createHandleGetRowId)(C).handleGetRowId,oe=T||U;return y.forEach((r,a)=>{var o={};let i=ae(r);var s=P[i]||{};let d=a,n=0,c=-1,p=-1;var u=U&&r.isAggregate,g=((W.isHover||$)&&(o.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:r,rowIndex:d})},o.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),s&&(d=s.index,p=s._index,n=s.level,c=s.seq,u||T&&X&&"increasing"===Y?c=s._index+1:T&&"fixed"===Y&&(c=s._tIndex+1)),{$table:C,seq:c,rowid:i,fixed:f,type:renderType,level:n,row:r,rowIndex:d,$rowIndex:a,_rowIndex:p}),x=q&&!!H&&!!Z[i];let e=!1,l=[],t=!1;I&&(t=C.isInsertByRow(r)),!T||z||X||(l=r[re],e=!!B&&l&&0<l.length&&!!J[i]),!W.drag||U||T&&!X||(o.dragstart=C.handleRowDragDragstartEvent,o.dragend=C.handleRowDragDragendEvent,o.dragover=C.handleRowDragDragoverEvent);var u=["vxe-body--row",oe?"row--level-"+n:"",{"row--stripe":R&&(p+1)%2==0,"is--new":t,"is--expand-row":x,"is--expand-tree":e,"row--new":t&&(G.showStatus||G.showInsertStatus),"row--radio":le.highlight&&F===r,"row--checked":ee.highlight&&C.isCheckedByCheckboxRow(r),"row--pending":!!L&&!!Q[i],"row--group":u},D?_xeUtils.default.isFunction(D)?D(g):D:""],m=b.map((e,l)=>renderTdColumn(v,C,c,i,f,h,n,r,d,a,p,e,l,b,y));if(j.push(v("tr",{class:u,attrs:{rowid:i},style:O?_xeUtils.default.isFunction(O)?O(g):O:void 0,key:S||M||z||W.useKey||W.drag||te.drag||U||T?i:a,on:o},m)),x){var{height:u,padding:g,mode:o}=C.computeExpandOpts;if("fixed"===o)j.push(v("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+i,attrs:{rowid:i}},[v("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${N?s.expandHeight||u:0}px`}})]));else{m={},x=(u&&(m.height=u+"px"),T&&(m.paddingLeft=n*V.indent+30+"px"),q||{}).showOverflow,o=q.id,s=K[o]||{},o=_xeUtils.default.eqNull(x)?A:x;let e=-1,l=-1,t=-1;s&&(e=s.index,l=s.$index,t=s._index);x={$grid:_,$table:C,$gantt:E,seq:c,column:q,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:f,type:renderType,level:n,row:r,rowid:i,rowIndex:d,$rowIndex:a,_rowIndex:p,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};j.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":g}],key:"expand_"+i},[v("td",{class:["vxe-body--expanded-column",{"fixed--hidden":f&&!k,"col--ellipsis":o}],attrs:{colspan:b.length}},[v("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":u}],style:m},[q.renderData(v,x)])])]))}}e&&j.push(...renderRows(v,w,f,h,l,b))}),j}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,a=l,o=l.$xeGrid,i=l.$xeGantt,s=l.$scopedSlots,d=l.xID;let{fixedColumn:n,fixedType:c,tableColumn:p}=this;var{spanMethod:u,footerSpanMethod:g,mouseConfig:x}=e,{isGroup:r,tableData:m,isColLoading:v,overflowX:w,scrollXLoad:f,scrollYLoad:h,isAllOverflow:y,expandColumn:b,dragRow:C,dragCol:_}=r,{visibleColumn:a,fullAllDataRowIdData:E,fullColumnIdData:R}=a,S=l.computeEmptyOpts,$=l.computeMouseOpts,D=l.computeExpandOpts;let O=m,I=p,T=!1;!(f||h||y)||b&&"fixed"!==D.mode||u||g||(T=!0),v||!c&&w||(I=a),c&&T&&(I=n||[]),h&&C&&2<O.length&&(m=E[(0,_util.getRowid)(l,C)])&&(y=m._index,b=O[0],D=O[O.length-1],u=E[(0,_util.getRowid)(l,b)],g=E[(0,_util.getRowid)(l,D)],u)&&g&&(v=u._index,w=g._index,y<v?O=[C].concat(O):w<y&&(O=O.concat([C]))),c||r||f&&_&&2<I.length&&(a=R[_.id])&&(h=a._index,m=I[0],b=I[I.length-1],E=R[m.id],D=R[b.id],E)&&D&&(u=E._index,g=D._index,h<u?I=[_].concat(I):g<h&&(I=I.concat([_])));let k;v=s?s.empty:null,w={$table:l,$grid:o,$gantt:i},k=v?v.call(l,w):(C=(y=S.name?renderer.get(S.name):null)?y.renderTableEmpty||y.renderTableEmptyView||y.renderEmpty:null)?(0,_vn.getSlotVNs)(C.call(l,t,S,w)):e.emptyText||getI18n("vxe.table.emptyText"),r={scroll(e){l.triggerBodyScrollEvent(e,c)}};return t("div",{ref:"refElem",class:["vxe-table--body-wrapper",c?`fixed-${c}--wrapper`:"body--wrapper"],attrs:{xid:d}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:r},[c?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:d,cellspacing:0,cellpadding:0,border:0,xvm:T?"1":null}},[t("colgroup",{ref:"refBodyColgroup"},I.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),t("tbody",{ref:"refBodyTBody"},renderRows(t,this,c,T,O,I))]),t("div",{class:"vxe-table--checkbox-range"}),x&&$.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},$.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:c,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-clip-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),c?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},k)])])])}};
@@ -59,6 +59,8 @@ const columnProps = exports.columnProps = {
59
59
  footerClassName: [String, Function],
60
60
  // 格式化显示内容
61
61
  formatter: [Function, Array, String],
62
+ // 格式化表头显示内容
63
+ headerFormatter: [Function, Array, String],
62
64
  // 格式化表尾显示内容
63
65
  footerFormatter: [Function, Array, String],
64
66
  // 是否显示间距
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnWatch=exports.columnProps=void 0;var _cell=_interopRequireDefault(require("./cell")),_comp=require("../../ui/src/comp"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],padding:{type:Boolean,default:null},verticalAlign:{type:String,default:null},sortable:Boolean,remoteSort:{type:Boolean,default:null},sortBy:[String,Function],sortType:String,sortMethod:Function,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,rowGroupNode:Boolean,treeNode:Boolean,dragSort:Boolean,rowResize:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,aggFunc:[String,Boolean],params:Object},columnWatch=exports.columnWatch={};Object.keys(columnProps).forEach(o=>{columnWatch[o]=function(e){var t=this.$xeTable;this.columnConfig.update(o,e),t&&("filters"===o?(t.setFilter(this.columnConfig,e),t.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(o)&&t.handleRefreshColumnQueue())}});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColumn",props:columnProps,provide(){return{$xeColumn:this,$xeGrid:null,$xeGantt:null}},inject:{$xeTable:{default:null},$xeColumn:{default:null}},watch:columnWatch,created(){var e=this.$xeTable;this.columnConfig=this.createColumn(e,this)},mounted(){this.columnConfig.slots=this.$scopedSlots,(0,_util.assembleColumn)(this)},destroyed(){(0,_util.destroyColumn)(this)},render(e){return e("div",this.$slots.default)},methods:_cell.default});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnWatch=exports.columnProps=void 0;var _cell=_interopRequireDefault(require("./cell")),_comp=require("../../ui/src/comp"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],headerFormatter:[Function,Array,String],footerFormatter:[Function,Array,String],padding:{type:Boolean,default:null},verticalAlign:{type:String,default:null},sortable:Boolean,remoteSort:{type:Boolean,default:null},sortBy:[String,Function],sortType:String,sortMethod:Function,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,rowGroupNode:Boolean,treeNode:Boolean,dragSort:Boolean,rowResize:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,aggFunc:[String,Boolean],params:Object},columnWatch=exports.columnWatch={};Object.keys(columnProps).forEach(o=>{columnWatch[o]=function(e){var t=this.$xeTable;this.columnConfig.update(o,e),t&&("filters"===o?(t.setFilter(this.columnConfig,e),t.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(o)&&t.handleRefreshColumnQueue())}});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColumn",props:columnProps,provide(){return{$xeColumn:this,$xeGrid:null,$xeGantt:null}},inject:{$xeTable:{default:null},$xeColumn:{default:null}},watch:columnWatch,created(){var e=this.$xeTable;this.columnConfig=this.createColumn(e,this)},mounted(){this.columnConfig.slots=this.$scopedSlots,(0,_util.assembleColumn)(this)},destroyed(){(0,_util.destroyColumn)(this)},render(e){return e("div",this.$slots.default)},methods:_cell.default});
@@ -104,6 +104,7 @@ class ColumnInfo {
104
104
  headerClassName: _vm.headerClassName,
105
105
  footerClassName: _vm.footerClassName,
106
106
  formatter,
107
+ headerFormatter: _vm.headerFormatter,
107
108
  footerFormatter: _vm.footerFormatter,
108
109
  padding: _vm.padding,
109
110
  verticalAlign: _vm.verticalAlign,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:o,renderFooter:l,renderData:i}={}){var d=e,n=e.$xeGrid,a=e.$xeGantt,s=n||a,{field:u,editRender:f}=r,g=n?n.computeProxyOpts:null,c=r.formatter,p=!_xeUtils.default.isBoolean(r.visible)||r.visible,h=["seq","checkbox","radio","expand","html"];r.type&&-1===h.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,h.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),"expand"===r.type&&(h=d.treeConfig,h)&&(e.treeOpts.showLine||e.treeOpts.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.line","column.type=expand"]),r.remoteSort&&(0,_log.warnLog)("vxe.error.delProp",["column.remote-sort","sort-config.remote"]),r.sortMethod&&(0,_log.warnLog)("vxe.error.delProp",["column.sort-method","sort-config.sortMethod"]),c&&(_xeUtils.default.isString(c)?(d=formats.get(c)||_xeUtils.default[c])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[c]):!_xeUtils.default.isArray(c)||(h=formats.get(c[0])||_xeUtils.default[c[0]])&&_xeUtils.default.isFunction(h.tableCellFormatMethod||h.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[c[0]])),r.aggFunc&&!e.handlePivotTableAggregateData&&!0!==r.aggFunc&&(0,_log.errLog)("vxe.error.errProp",["column.agg-func="+r.aggFunc,"column.agg-func=true"]),u&&f&&(f.startField&&0<=(""+f.startField).indexOf(u)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+u,"edit-render.startField="+f.startField]),f.endField)&&0<=(""+f.endField).indexOf(u)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+u,"edit-render.endField="+f.endField]),Object.assign(this,{type:r.type,property:r.field,field:u,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:c,footerFormatter:r.footerFormatter,padding:r.padding,verticalAlign:r.verticalAlign,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,sortMethod:r.sortMethod,remoteSort:r.remoteSort,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,rowGroupNode:r.rowGroupNode,treeNode:r.treeNode,dragSort:r.dragSort,rowResize:r.rowResize,cellType:r.cellType,cellRender:r.cellRender,editRender:f,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,aggFunc:r.aggFunc,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:p,defaultParentId:null,halfVisible:!1,defaultVisible:p,defaultFixed:r.fixed,defaultAggGroup:r.aggGroup,defaultAggFunc:r.aggFunc,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderAggFn:"",renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:o||r.renderCell,renderFooter:l||r.renderFooter,renderData:i,slots:r.slots}),s&&g&&g.beforeColumn&&g.beforeColumn({$table:e,$grid:n,$gantt:a,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){var e=this.type;return this.field||(e?"type="+e:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:o,renderFooter:l,renderData:i}={}){var d=e,n=e.$xeGrid,a=e.$xeGantt,s=n||a,{field:u,editRender:f}=r,g=n?n.computeProxyOpts:null,c=r.formatter,h=!_xeUtils.default.isBoolean(r.visible)||r.visible,p=["seq","checkbox","radio","expand","html"];r.type&&-1===p.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,p.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),"expand"===r.type&&(p=d.treeConfig,p)&&(e.treeOpts.showLine||e.treeOpts.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.line","column.type=expand"]),r.remoteSort&&(0,_log.warnLog)("vxe.error.delProp",["column.remote-sort","sort-config.remote"]),r.sortMethod&&(0,_log.warnLog)("vxe.error.delProp",["column.sort-method","sort-config.sortMethod"]),c&&(_xeUtils.default.isString(c)?(d=formats.get(c)||_xeUtils.default[c])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[c]):!_xeUtils.default.isArray(c)||(p=formats.get(c[0])||_xeUtils.default[c[0]])&&_xeUtils.default.isFunction(p.tableCellFormatMethod||p.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[c[0]])),r.aggFunc&&!e.handlePivotTableAggregateData&&!0!==r.aggFunc&&(0,_log.errLog)("vxe.error.errProp",["column.agg-func="+r.aggFunc,"column.agg-func=true"]),u&&f&&(f.startField&&0<=(""+f.startField).indexOf(u)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+u,"edit-render.startField="+f.startField]),f.endField)&&0<=(""+f.endField).indexOf(u)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+u,"edit-render.endField="+f.endField]),Object.assign(this,{type:r.type,property:r.field,field:u,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:c,headerFormatter:r.headerFormatter,footerFormatter:r.footerFormatter,padding:r.padding,verticalAlign:r.verticalAlign,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,sortMethod:r.sortMethod,remoteSort:r.remoteSort,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,rowGroupNode:r.rowGroupNode,treeNode:r.treeNode,dragSort:r.dragSort,rowResize:r.rowResize,cellType:r.cellType,cellRender:r.cellRender,editRender:f,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,aggFunc:r.aggFunc,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:h,defaultParentId:null,halfVisible:!1,defaultVisible:h,defaultFixed:r.fixed,defaultAggGroup:r.aggGroup,defaultAggFunc:r.aggFunc,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderAggFn:"",renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:o||r.renderCell,renderFooter:l||r.renderFooter,renderData:i,slots:r.slots}),s&&g&&g.beforeColumn&&g.beforeColumn({$table:e,$grid:n,$gantt:a,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){var e=this.type;return this.field||(e?"type="+e:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;