vxe-table 4.8.4 → 4.8.6

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 (55) hide show
  1. package/README.md +12 -12
  2. package/es/grid/src/grid.js +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/module/custom/hook.js +135 -3
  6. package/es/table/module/custom/panel.js +179 -181
  7. package/es/table/module/validator/hook.js +1 -1
  8. package/es/table/src/body.js +14 -8
  9. package/es/table/src/table.js +77 -73
  10. package/es/table/style.css +67 -52
  11. package/es/table/style.min.css +1 -1
  12. package/es/ui/index.js +3 -2
  13. package/es/ui/src/log.js +1 -1
  14. package/es/vxe-table/style.css +67 -52
  15. package/es/vxe-table/style.min.css +1 -1
  16. package/lib/grid/src/grid.js +1 -1
  17. package/lib/grid/src/grid.min.js +1 -1
  18. package/lib/index.umd.js +374 -247
  19. package/lib/index.umd.min.js +1 -1
  20. package/lib/style.css +1 -1
  21. package/lib/style.min.css +1 -1
  22. package/lib/table/module/custom/hook.js +177 -3
  23. package/lib/table/module/custom/hook.min.js +1 -1
  24. package/lib/table/module/custom/panel.js +108 -162
  25. package/lib/table/module/custom/panel.min.js +1 -1
  26. package/lib/table/module/validator/hook.js +1 -1
  27. package/lib/table/module/validator/hook.min.js +1 -1
  28. package/lib/table/src/body.js +5 -3
  29. package/lib/table/src/body.min.js +1 -1
  30. package/lib/table/src/table.js +78 -74
  31. package/lib/table/src/table.min.js +1 -1
  32. package/lib/table/style/style.css +67 -52
  33. package/lib/table/style/style.min.css +1 -1
  34. package/lib/ui/index.js +3 -2
  35. package/lib/ui/index.min.js +1 -1
  36. package/lib/ui/src/log.js +1 -1
  37. package/lib/ui/src/log.min.js +1 -1
  38. package/lib/vxe-table/style/style.css +67 -52
  39. package/lib/vxe-table/style/style.min.css +1 -1
  40. package/package.json +2 -2
  41. package/packages/grid/src/grid.ts +1 -1
  42. package/packages/table/module/custom/hook.ts +136 -3
  43. package/packages/table/module/custom/panel.ts +186 -185
  44. package/packages/table/module/validator/hook.ts +1 -1
  45. package/packages/table/src/body.ts +14 -8
  46. package/packages/table/src/table.ts +77 -73
  47. package/packages/ui/index.ts +2 -1
  48. package/styles/components/table-module/custom.scss +23 -6
  49. package/styles/components/table.scss +36 -26
  50. /package/es/{iconfont.1730946045701.ttf → iconfont.1731028500961.ttf} +0 -0
  51. /package/es/{iconfont.1730946045701.woff → iconfont.1731028500961.woff} +0 -0
  52. /package/es/{iconfont.1730946045701.woff2 → iconfont.1731028500961.woff2} +0 -0
  53. /package/lib/{iconfont.1730946045701.ttf → iconfont.1731028500961.ttf} +0 -0
  54. /package/lib/{iconfont.1730946045701.woff → iconfont.1731028500961.woff} +0 -0
  55. /package/lib/{iconfont.1730946045701.woff2 → iconfont.1731028500961.woff2} +0 -0
@@ -1,4 +1,4 @@
1
- import { defineComponent, h, createCommentVNode, reactive, ref, provide, inject, nextTick, onActivated, onDeactivated, onBeforeUnmount, onUnmounted, watch, computed, onMounted } from 'vue';
1
+ import { defineComponent, h, reactive, ref, provide, inject, nextTick, onActivated, onDeactivated, onBeforeUnmount, onUnmounted, watch, computed, onMounted } from 'vue';
2
2
  import XEUtils from 'xe-utils';
3
3
  import { browse, isPx, isScale, hasClass, addClass, removeClass, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, isNodeElement } from '../../ui/src/dom';
4
4
  import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../ui/src/utils';
@@ -17,7 +17,7 @@ import TableFilterPanelComponent from '../module/filter/panel';
17
17
  import TableImportPanelComponent from '../module/export/import-panel';
18
18
  import TableExportPanelComponent from '../module/export/export-panel';
19
19
  import TableMenuPanelComponent from '../module/menu/panel';
20
- const { getConfig, getI18n, renderer, formats, createEvent, globalResize, interceptor, hooks, globalEvents, GLOBAL_EVENT_KEYS, useFns } = VxeUI;
20
+ const { getConfig, getI18n, renderer, formats, createEvent, globalResize, interceptor, hooks, globalEvents, GLOBAL_EVENT_KEYS, useFns, renderEmptyElement } = VxeUI;
21
21
  const isWebkit = browse['-webkit'] && !browse.edge;
22
22
  const customStorageKey = 'VXE_CUSTOM_STORE';
23
23
  export default defineComponent({
@@ -2175,7 +2175,9 @@ export default defineComponent({
2175
2175
  const rowRest = fullAllDataRowIdData[rowid];
2176
2176
  treeExpandLazyLoadedMaps[rowid] = row;
2177
2177
  Promise.resolve(loadMethod({ $table: $xeTable, row })).then((childRecords) => {
2178
- rowRest.treeLoaded = true;
2178
+ if (rowRest) {
2179
+ rowRest.treeLoaded = true;
2180
+ }
2179
2181
  if (treeExpandLazyLoadedMaps[rowid]) {
2180
2182
  delete treeExpandLazyLoadedMaps[rowid];
2181
2183
  }
@@ -2201,7 +2203,9 @@ export default defineComponent({
2201
2203
  }
2202
2204
  }).catch(() => {
2203
2205
  const { treeExpandLazyLoadedMaps } = reactData;
2204
- rowRest.treeLoaded = false;
2206
+ if (rowRest) {
2207
+ rowRest.treeLoaded = false;
2208
+ }
2205
2209
  if (treeExpandLazyLoadedMaps[rowid]) {
2206
2210
  delete treeExpandLazyLoadedMaps[rowid];
2207
2211
  }
@@ -2239,10 +2243,14 @@ export default defineComponent({
2239
2243
  rowExpandLazyLoadedMaps[rowid] = row;
2240
2244
  loadMethod({ $table: $xeTable, row, rowIndex: tableMethods.getRowIndex(row), $rowIndex: tableMethods.getVMRowIndex(row) }).then(() => {
2241
2245
  const { rowExpandedMaps } = reactData;
2242
- rowRest.expandLoaded = true;
2246
+ if (rowRest) {
2247
+ rowRest.expandLoaded = true;
2248
+ }
2243
2249
  rowExpandedMaps[rowid] = row;
2244
2250
  }).catch(() => {
2245
- rowRest.expandLoaded = false;
2251
+ if (rowRest) {
2252
+ rowRest.expandLoaded = false;
2253
+ }
2246
2254
  }).finally(() => {
2247
2255
  const { rowExpandLazyLoadedMaps } = reactData;
2248
2256
  if (rowExpandLazyLoadedMaps[rowid]) {
@@ -2714,14 +2722,16 @@ export default defineComponent({
2714
2722
  const rowid = getRowid($xeTable, row);
2715
2723
  if (!treeTempExpandedMaps[rowid]) {
2716
2724
  const rowRest = fullAllDataRowIdData[rowid];
2717
- const isLoad = lazy && row[hasChildField] && !rowRest.treeLoaded && !treeExpandLazyLoadedMaps[rowid];
2718
- // 是否使用懒加载
2719
- if (isLoad) {
2720
- result.push(handleAsyncTreeExpandChilds(row));
2721
- }
2722
- else {
2723
- if (row[childrenField] && row[childrenField].length) {
2724
- treeTempExpandedMaps[rowid] = row;
2725
+ if (rowRest) {
2726
+ const isLoad = lazy && row[hasChildField] && !rowRest.treeLoaded && !treeExpandLazyLoadedMaps[rowid];
2727
+ // 是否使用懒加载
2728
+ if (isLoad) {
2729
+ result.push(handleAsyncTreeExpandChilds(row));
2730
+ }
2731
+ else {
2732
+ if (row[childrenField] && row[childrenField].length) {
2733
+ treeTempExpandedMaps[rowid] = row;
2734
+ }
2725
2735
  }
2726
2736
  }
2727
2737
  }
@@ -3624,32 +3634,8 @@ export default defineComponent({
3624
3634
  * 如果已关联工具栏,则会同步更新
3625
3635
  */
3626
3636
  resetColumn(options) {
3627
- const { collectColumn } = internalData;
3628
- const customOpts = computeCustomOpts.value;
3629
- const { checkMethod } = customOpts;
3630
- const opts = Object.assign({
3631
- visible: true,
3632
- resizable: options === true,
3633
- fixed: options === true,
3634
- sort: options === true
3635
- }, options);
3636
- XEUtils.eachTree(collectColumn, (column) => {
3637
- if (opts.resizable) {
3638
- column.resizeWidth = 0;
3639
- }
3640
- if (opts.fixed) {
3641
- column.fixed = column.defaultFixed;
3642
- }
3643
- if (opts.sort) {
3644
- column.renderSortNumber = column.sortNumber;
3645
- }
3646
- if (!checkMethod || checkMethod({ column })) {
3647
- column.visible = column.defaultVisible;
3648
- }
3649
- column.renderResizeWidth = column.renderWidth;
3650
- });
3651
- $xeTable.saveCustomStore('reset');
3652
- return tablePrivateMethods.handleCustom();
3637
+ warnLog('vxe.error.delFunc', ['resetColumn', 'resetCustom']);
3638
+ return $xeTable.resetCustom(options);
3653
3639
  },
3654
3640
  /**
3655
3641
  * 刷新列信息
@@ -5516,7 +5502,19 @@ export default defineComponent({
5516
5502
  }
5517
5503
  };
5518
5504
  const updateRowDropTipContent = (tdEl) => {
5519
- reactData.dragTipText = tdEl.textContent || '';
5505
+ const { dragRow } = reactData;
5506
+ const dragOpts = computeDragOpts.value;
5507
+ const { rowTooltipMethod } = dragOpts;
5508
+ let tipContent = '';
5509
+ if (rowTooltipMethod) {
5510
+ tipContent = `${rowTooltipMethod({
5511
+ row: dragRow
5512
+ }) || ''}`;
5513
+ }
5514
+ else {
5515
+ tipContent = getI18n('vxe.table.dragTip', [tdEl.textContent || '']);
5516
+ }
5517
+ reactData.dragTipText = tipContent;
5520
5518
  };
5521
5519
  /**
5522
5520
  * 处理显示 tooltip
@@ -5549,6 +5547,17 @@ export default defineComponent({
5549
5547
  }
5550
5548
  return nextTick();
5551
5549
  };
5550
+ const callSlot = (slotFunc, params) => {
5551
+ if (slotFunc) {
5552
+ if ($xeGrid) {
5553
+ return $xeGrid.callSlot(slotFunc, params);
5554
+ }
5555
+ if (XEUtils.isFunction(slotFunc)) {
5556
+ return getSlotVNs(slotFunc(params));
5557
+ }
5558
+ }
5559
+ return [];
5560
+ };
5552
5561
  /**
5553
5562
  * 内部方法
5554
5563
  */
@@ -5557,17 +5566,7 @@ export default defineComponent({
5557
5566
  return getConfig();
5558
5567
  },
5559
5568
  updateAfterDataIndex,
5560
- callSlot(slotFunc, params) {
5561
- if (slotFunc) {
5562
- if ($xeGrid) {
5563
- return $xeGrid.callSlot(slotFunc, params);
5564
- }
5565
- if (XEUtils.isFunction(slotFunc)) {
5566
- return getSlotVNs(slotFunc(params));
5567
- }
5568
- }
5569
- return [];
5570
- },
5569
+ callSlot,
5571
5570
  /**
5572
5571
  * 获取父容器元素
5573
5572
  */
@@ -7040,7 +7039,7 @@ export default defineComponent({
7040
7039
  tableGroupColumn,
7041
7040
  fixedColumn
7042
7041
  })
7043
- : createCommentVNode(),
7042
+ : renderEmptyElement($xeTable),
7044
7043
  h(TableBodyComponent, {
7045
7044
  ref: isFixedLeft ? refTableLeftBody : refTableRightBody,
7046
7045
  fixedType,
@@ -7056,7 +7055,7 @@ export default defineComponent({
7056
7055
  fixedColumn,
7057
7056
  fixedType
7058
7057
  })
7059
- : createCommentVNode()
7058
+ : renderEmptyElement($xeTable)
7060
7059
  ]);
7061
7060
  };
7062
7061
  const renderEmptyBody = () => {
@@ -7082,7 +7081,7 @@ export default defineComponent({
7082
7081
  }
7083
7082
  const renderVN = () => {
7084
7083
  const { loading, stripe, showHeader, height, treeConfig, mouseConfig, showFooter, highlightCell, highlightHoverRow, highlightHoverColumn, editConfig, editRules } = props;
7085
- const { isCalcColumn, isGroup, overflowX, overflowY, scrollXLoad, scrollYLoad, scrollbarHeight, tableData, tableColumn, tableGroupColumn, footerTableData, initStore, columnStore, filterStore, customStore, tooltipStore } = reactData;
7084
+ const { isCalcColumn, isGroup, overflowX, overflowY, scrollXLoad, scrollYLoad, scrollbarHeight, tableData, tableColumn, tableGroupColumn, footerTableData, initStore, columnStore, filterStore, customStore, tooltipStore, dragRow, dragTipText } = reactData;
7086
7085
  const { leftList, rightList } = columnStore;
7087
7086
  const loadingSlot = slots.loading;
7088
7087
  const tipConfig = computeTipConfig.value;
@@ -7090,6 +7089,7 @@ export default defineComponent({
7090
7089
  const checkboxOpts = computeCheckboxOpts.value;
7091
7090
  const treeOpts = computeTreeOpts.value;
7092
7091
  const rowOpts = computeRowOpts.value;
7092
+ const dragOpts = computeDragOpts.value;
7093
7093
  const columnOpts = computeColumnOpts.value;
7094
7094
  const vSize = computeSize.value;
7095
7095
  const tableBorder = computeTableBorder.value;
@@ -7099,6 +7099,8 @@ export default defineComponent({
7099
7099
  const isMenu = computeIsMenu.value;
7100
7100
  const currLoading = reactData._isLoading || loading;
7101
7101
  const virtualScrollBars = computeVirtualScrollBars.value;
7102
+ const dragSlots = dragOpts.slots || {};
7103
+ const rowTipSlot = dragSlots.rowTip;
7102
7104
  return h('div', {
7103
7105
  ref: refElem,
7104
7106
  class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, {
@@ -7156,7 +7158,7 @@ export default defineComponent({
7156
7158
  tableColumn,
7157
7159
  tableGroupColumn
7158
7160
  })
7159
- : createCommentVNode(),
7161
+ : renderEmptyElement($xeTable),
7160
7162
  /**
7161
7163
  * 表体
7162
7164
  */
@@ -7174,13 +7176,13 @@ export default defineComponent({
7174
7176
  footerTableData,
7175
7177
  tableColumn
7176
7178
  })
7177
- : createCommentVNode()
7179
+ : renderEmptyElement($xeTable)
7178
7180
  ]),
7179
7181
  h('div', {
7180
7182
  class: 'vxe-table--fixed-wrapper'
7181
7183
  }, [
7182
- leftList && leftList.length && overflowX ? renderFixed('left') : createCommentVNode(),
7183
- rightList && rightList.length && overflowX ? renderFixed('right') : createCommentVNode()
7184
+ leftList && leftList.length && overflowX ? renderFixed('left') : renderEmptyElement($xeTable),
7185
+ rightList && rightList.length && overflowX ? renderFixed('right') : renderEmptyElement($xeTable)
7184
7186
  ])
7185
7187
  ]),
7186
7188
  virtualScrollBars.x
@@ -7200,7 +7202,7 @@ export default defineComponent({
7200
7202
  })
7201
7203
  ])
7202
7204
  ])
7203
- : createCommentVNode(),
7205
+ : renderEmptyElement($xeTable),
7204
7206
  virtualScrollBars.y
7205
7207
  ? h('div', {
7206
7208
  key: 'vy',
@@ -7218,7 +7220,7 @@ export default defineComponent({
7218
7220
  })
7219
7221
  ])
7220
7222
  ])
7221
- : createCommentVNode(),
7223
+ : renderEmptyElement($xeTable),
7222
7224
  /**
7223
7225
  * 空数据
7224
7226
  */
@@ -7266,7 +7268,7 @@ export default defineComponent({
7266
7268
  default: () => loadingSlot({ $table: $xeTable, $grid: $xeGrid })
7267
7269
  }
7268
7270
  : {})
7269
- : createCommentVNode(),
7271
+ : renderEmptyElement($xeTable),
7270
7272
  /**
7271
7273
  * 自定义列
7272
7274
  */
@@ -7276,7 +7278,7 @@ export default defineComponent({
7276
7278
  ref: refTableCustom,
7277
7279
  customStore
7278
7280
  })
7279
- : createCommentVNode(),
7281
+ : renderEmptyElement($xeTable),
7280
7282
  /**
7281
7283
  * 筛选
7282
7284
  */
@@ -7286,7 +7288,7 @@ export default defineComponent({
7286
7288
  ref: refTableFilter,
7287
7289
  filterStore
7288
7290
  })
7289
- : createCommentVNode(),
7291
+ : renderEmptyElement($xeTable),
7290
7292
  /**
7291
7293
  * 导入
7292
7294
  */
@@ -7296,7 +7298,7 @@ export default defineComponent({
7296
7298
  defaultOptions: reactData.importParams,
7297
7299
  storeData: reactData.importStore
7298
7300
  })
7299
- : createCommentVNode(),
7301
+ : renderEmptyElement($xeTable),
7300
7302
  /**
7301
7303
  * 导出
7302
7304
  */
@@ -7306,7 +7308,7 @@ export default defineComponent({
7306
7308
  defaultOptions: reactData.exportParams,
7307
7309
  storeData: reactData.exportStore
7308
7310
  })
7309
- : createCommentVNode(),
7311
+ : renderEmptyElement($xeTable),
7310
7312
  /**
7311
7313
  * 快捷菜单
7312
7314
  */
@@ -7315,16 +7317,18 @@ export default defineComponent({
7315
7317
  key: 'tm',
7316
7318
  ref: refTableMenu
7317
7319
  })
7318
- : createCommentVNode(),
7320
+ : renderEmptyElement($xeTable),
7319
7321
  /**
7320
7322
  * 拖拽提示
7321
7323
  */
7322
- rowOpts.drag
7324
+ rowOpts.drag && (dragRow || dragTipText)
7323
7325
  ? h('div', {
7324
7326
  ref: refRowDragTipElem,
7325
- class: 'vxe-table--row-drag-hint'
7326
- }, getI18n('vxe.table.dragTip', [reactData.dragTipText]))
7327
- : createCommentVNode(),
7327
+ class: 'vxe-table--row-drag-tip'
7328
+ }, rowTipSlot
7329
+ ? (dragRow ? callSlot(rowTipSlot, { row: dragRow }) : [renderEmptyElement($xeTable)])
7330
+ : (dragTipText ? [h('span', dragTipText)] : [renderEmptyElement($xeTable)]))
7331
+ : renderEmptyElement($xeTable),
7328
7332
  /**
7329
7333
  * 提示相关
7330
7334
  */
@@ -7353,9 +7357,9 @@ export default defineComponent({
7353
7357
  ? h(VxeUITooltipComponent, Object.assign({ key: 'vtp', ref: refValidTooltip, class: [{
7354
7358
  'old-cell-valid': editRules && getConfig().cellVaildMode === 'obsolete'
7355
7359
  }, 'vxe-table--valid-error'] }, (validOpts.message === 'tooltip' || tableData.length === 1 ? validTipOpts : {})))
7356
- : createCommentVNode()
7360
+ : renderEmptyElement($xeTable)
7357
7361
  ])
7358
- : createCommentVNode()
7362
+ : renderEmptyElement($xeTable)
7359
7363
  ]);
7360
7364
  };
7361
7365
  const dataFlag = ref(0);
@@ -784,79 +784,63 @@
784
784
  display: flex;
785
785
  }
786
786
 
787
- .vxe-table-custom--list-wrapper {
787
+ .vxe-table-custom--body {
788
788
  display: block;
789
789
  flex-grow: 1;
790
790
  overflow-x: hidden;
791
791
  overflow-y: auto;
792
792
  }
793
793
 
794
- .vxe-table-custom--header,
795
- .vxe-table-custom--body {
794
+ .vxe-table-custom--panel-list {
796
795
  list-style-type: none;
797
796
  margin: 0;
798
797
  padding: 0;
799
798
  }
800
- .vxe-table-custom--header > li,
801
- .vxe-table-custom--body > li {
799
+ .vxe-table-custom--panel-list > li {
802
800
  max-width: 26em;
803
801
  min-width: 17em;
804
802
  padding: 0.2em 1em 0.2em 1em;
805
803
  }
806
- .vxe-table-custom--header > li.level--2,
807
- .vxe-table-custom--body > li.level--2 {
804
+ .vxe-table-custom--panel-list > li.level--2 {
808
805
  padding-left: 3.5em;
809
806
  }
810
- .vxe-table-custom--header > li.level--2 .vxe-checkbox--icon,
811
- .vxe-table-custom--body > li.level--2 .vxe-checkbox--icon {
807
+ .vxe-table-custom--panel-list > li.level--2 .vxe-checkbox--icon {
812
808
  left: 1.8em;
813
809
  }
814
- .vxe-table-custom--header > li.level--3,
815
- .vxe-table-custom--body > li.level--3 {
810
+ .vxe-table-custom--panel-list > li.level--3 {
816
811
  padding-left: 4.5em;
817
812
  }
818
- .vxe-table-custom--header > li.level--3 .vxe-checkbox--icon,
819
- .vxe-table-custom--body > li.level--3 .vxe-checkbox--icon {
813
+ .vxe-table-custom--panel-list > li.level--3 .vxe-checkbox--icon {
820
814
  left: 2.8em;
821
815
  }
822
- .vxe-table-custom--header > li.level--4,
823
- .vxe-table-custom--body > li.level--4 {
816
+ .vxe-table-custom--panel-list > li.level--4 {
824
817
  padding-left: 5.5em;
825
818
  }
826
- .vxe-table-custom--header > li.level--4 .vxe-checkbox--icon,
827
- .vxe-table-custom--body > li.level--4 .vxe-checkbox--icon {
819
+ .vxe-table-custom--panel-list > li.level--4 .vxe-checkbox--icon {
828
820
  left: 3.8em;
829
821
  }
830
- .vxe-table-custom--header > li.level--5,
831
- .vxe-table-custom--body > li.level--5 {
822
+ .vxe-table-custom--panel-list > li.level--5 {
832
823
  padding-left: 6.5em;
833
824
  }
834
- .vxe-table-custom--header > li.level--5 .vxe-checkbox--icon,
835
- .vxe-table-custom--body > li.level--5 .vxe-checkbox--icon {
825
+ .vxe-table-custom--panel-list > li.level--5 .vxe-checkbox--icon {
836
826
  left: 4.8em;
837
827
  }
838
- .vxe-table-custom--header > li.level--6,
839
- .vxe-table-custom--body > li.level--6 {
828
+ .vxe-table-custom--panel-list > li.level--6 {
840
829
  padding-left: 7.5em;
841
830
  }
842
- .vxe-table-custom--header > li.level--6 .vxe-checkbox--icon,
843
- .vxe-table-custom--body > li.level--6 .vxe-checkbox--icon {
831
+ .vxe-table-custom--panel-list > li.level--6 .vxe-checkbox--icon {
844
832
  left: 5.8em;
845
833
  }
846
- .vxe-table-custom--header > li.level--7,
847
- .vxe-table-custom--body > li.level--7 {
834
+ .vxe-table-custom--panel-list > li.level--7 {
848
835
  padding-left: 8.5em;
849
836
  }
850
- .vxe-table-custom--header > li.level--7 .vxe-checkbox--icon,
851
- .vxe-table-custom--body > li.level--7 .vxe-checkbox--icon {
837
+ .vxe-table-custom--panel-list > li.level--7 .vxe-checkbox--icon {
852
838
  left: 6.8em;
853
839
  }
854
- .vxe-table-custom--header > li.level--8,
855
- .vxe-table-custom--body > li.level--8 {
840
+ .vxe-table-custom--panel-list > li.level--8 {
856
841
  padding-left: 9.5em;
857
842
  }
858
- .vxe-table-custom--header > li.level--8 .vxe-checkbox--icon,
859
- .vxe-table-custom--body > li.level--8 .vxe-checkbox--icon {
843
+ .vxe-table-custom--panel-list > li.level--8 .vxe-checkbox--icon {
860
844
  left: 7.8em;
861
845
  }
862
846
 
@@ -870,20 +854,21 @@
870
854
  user-select: none;
871
855
  }
872
856
 
873
- .vxe-table-custom--body {
857
+ .vxe-table-custom--panel-list {
874
858
  padding: 0.2em 0;
875
859
  }
876
- .vxe-table-custom--body .vxe-table-custom--checkbox-option:hover {
860
+ .vxe-table-custom--panel-list .vxe-table-custom--checkbox-option:hover {
877
861
  background-color: var(--vxe-ui-table-row-hover-background-color);
878
862
  }
879
863
 
880
- .vxe-table-custom--footer {
864
+ .vxe-table-custom--footer-buttons {
865
+ width: 100%;
881
866
  display: flex;
882
867
  flex-direction: row;
883
868
  flex-shrink: 0;
884
869
  border-top: 1px solid var(--vxe-ui-base-popup-border-color);
885
870
  }
886
- .vxe-table-custom--footer button {
871
+ .vxe-table-custom--footer-buttons button {
887
872
  flex-grow: 1;
888
873
  height: 2.8em;
889
874
  }
@@ -1089,7 +1074,7 @@
1089
1074
  .vxe-table-custom-popup--column-item.col--sort, .vxe-table-custom-popup--column-item.col--visible, .vxe-table-custom-popup--column-item.col--resizable, .vxe-table-custom-popup--column-item.col--fixed {
1090
1075
  text-align: center;
1091
1076
  }
1092
- .vxe-table-custom-popup--column-item.col--resizable > .vxe-input {
1077
+ .vxe-table-custom-popup--column-item.col--resizable > .vxe-input, .vxe-table-custom-popup--column-item.col--resizable > .vxe-number-input {
1093
1078
  width: 100%;
1094
1079
  }
1095
1080
 
@@ -1157,6 +1142,26 @@
1157
1142
  cursor: help;
1158
1143
  }
1159
1144
 
1145
+ .vxe-table-custom-popup--table-col-seq {
1146
+ width: 80px;
1147
+ }
1148
+
1149
+ .vxe-table-custom-popup--table-col-sort {
1150
+ width: 80px;
1151
+ }
1152
+
1153
+ .vxe-table-custom-popup--table-col-title {
1154
+ min-width: 120px;
1155
+ }
1156
+
1157
+ .vxe-table-custom-popup--table-col-width {
1158
+ width: 140px;
1159
+ }
1160
+
1161
+ .vxe-table-custom-popup--table-col-fixed {
1162
+ width: 200px;
1163
+ }
1164
+
1160
1165
  .vxe-table-export--panel-column > ul {
1161
1166
  list-style-type: none;
1162
1167
  overflow: auto;
@@ -2647,7 +2652,7 @@
2647
2652
  .vxe-table--render-default .vxe-body--row-list-move {
2648
2653
  transition: transform 0.35s;
2649
2654
  }
2650
- .vxe-table--render-default .vxe-table--row-drag-hint {
2655
+ .vxe-table--render-default .vxe-table--row-drag-tip {
2651
2656
  display: none;
2652
2657
  position: absolute;
2653
2658
  top: 0;
@@ -2731,10 +2736,7 @@
2731
2736
  .vxe-table--render-default .vxe-body--column.col--selected {
2732
2737
  box-shadow: inset 0px 0px 0px 2px var(--vxe-ui-font-primary-color);
2733
2738
  }
2734
- .vxe-table--render-default .vxe-body--column.col--active, .vxe-table--render-default .vxe-body--column.col--selected {
2735
- position: relative;
2736
- }
2737
- .vxe-table--render-default .vxe-body--column.col--valid-error .vxe-cell--valid-error-hint {
2739
+ .vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-tip {
2738
2740
  width: 100%;
2739
2741
  position: absolute;
2740
2742
  left: 50%;
@@ -2746,12 +2748,25 @@
2746
2748
  padding-left: var(--vxe-ui-table-cell-padding-left);
2747
2749
  padding-right: var(--vxe-ui-table-cell-padding-right);
2748
2750
  }
2749
- .vxe-table--render-default .vxe-body--column.col--valid-error .vxe-cell--valid-error-hint .vxe-cell--valid-error-msg {
2751
+ .vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-wrapper {
2750
2752
  display: inline-block;
2751
2753
  border-radius: var(--vxe-ui-border-radius);
2754
+ pointer-events: auto;
2755
+ }
2756
+ .vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-theme-beautify {
2757
+ padding: 0.4em 0.8em;
2758
+ color: #fff;
2759
+ background-color: #f56c6c;
2760
+ }
2761
+ .vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-theme-beautify .vxe-cell--valid-error-msg {
2762
+ background: transparent;
2763
+ }
2764
+ .vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-theme-normal {
2752
2765
  color: var(--vxe-ui-table-validate-error-color);
2753
2766
  background-color: var(--vxe-ui-table-validate-error-background-color);
2754
- pointer-events: auto;
2767
+ }
2768
+ .vxe-table--render-default .vxe-body--column.col--active, .vxe-table--render-default .vxe-body--column.col--selected {
2769
+ position: relative;
2755
2770
  }
2756
2771
  .vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-input,
2757
2772
  .vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-textarea,
@@ -2762,16 +2777,16 @@
2762
2777
  .vxe-table--render-default .vxe-body--column.col--valid-error .vxe-ico-picker {
2763
2778
  border-color: var(--vxe-ui-table-validate-error-color);
2764
2779
  }
2765
- .vxe-table--render-default.valid-msg--single .vxe-body--row:last-child .vxe-cell--valid-error-hint {
2780
+ .vxe-table--render-default.valid-msg--single .vxe-body--row:last-child .vxe-cell--valid-error-tip {
2766
2781
  bottom: 100%;
2767
2782
  }
2768
- .vxe-table--render-default.valid-msg--single .vxe-body--row:last-child:first-child .vxe-cell--valid-error-hint {
2783
+ .vxe-table--render-default.valid-msg--single .vxe-body--row:last-child:first-child .vxe-cell--valid-error-tip {
2769
2784
  bottom: auto;
2770
2785
  }
2771
- .vxe-table--render-default.valid-msg--full .vxe-body--row:last-child .vxe-cell--valid-error-hint {
2786
+ .vxe-table--render-default.valid-msg--full .vxe-body--row:last-child .vxe-cell--valid-error-tip {
2772
2787
  top: calc(100% - 1.3em);
2773
2788
  }
2774
- .vxe-table--render-default.old-cell-valid .vxe-body--column.col--valid-error .vxe-cell--valid-error-hint {
2789
+ .vxe-table--render-default.old-cell-valid .vxe-body--column.col--valid-error .vxe-cell--valid-error-tip {
2775
2790
  width: 320px;
2776
2791
  position: absolute;
2777
2792
  bottom: calc(100% + 4px);
@@ -2781,7 +2796,7 @@
2781
2796
  pointer-events: none;
2782
2797
  z-index: 4;
2783
2798
  }
2784
- .vxe-table--render-default.old-cell-valid .vxe-body--column.col--valid-error .vxe-cell--valid-error-hint .vxe-cell--valid-error-msg {
2799
+ .vxe-table--render-default.old-cell-valid .vxe-body--column.col--valid-error .vxe-cell--valid-error-tip .vxe-cell--valid-error-msg {
2785
2800
  display: inline-block;
2786
2801
  border-radius: -var(-vxe-border-radius);
2787
2802
  padding: 8px 12px;
@@ -2789,11 +2804,11 @@
2789
2804
  background-color: #f56c6c;
2790
2805
  pointer-events: auto;
2791
2806
  }
2792
- .vxe-table--render-default.old-cell-valid .vxe-body--row:first-child .vxe-cell--valid-error-hint {
2807
+ .vxe-table--render-default.old-cell-valid .vxe-body--row:first-child .vxe-cell--valid-error-tip {
2793
2808
  bottom: auto;
2794
2809
  top: calc(100% + 4px);
2795
2810
  }
2796
- .vxe-table--render-default.old-cell-valid .vxe-body--column:first-child .vxe-cell--valid-error-hint {
2811
+ .vxe-table--render-default.old-cell-valid .vxe-body--column:first-child .vxe-cell--valid-error-tip {
2797
2812
  left: 10px;
2798
2813
  transform: translateX(0);
2799
2814
  text-align: left;