vxe-table 4.4.4 → 4.4.6-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/es/footer/src/footer.js +1 -5
  2. package/es/form/src/form.js +91 -64
  3. package/es/icon/style.css +1 -1
  4. package/es/locale/lang/en-US.js +1 -1
  5. package/es/locale/lang/ja-JP.js +1 -1
  6. package/es/locale/lang/zh-CN.js +1 -1
  7. package/es/locale/lang/zh-TC.js +1 -1
  8. package/es/style.css +1 -1
  9. package/es/style.min.css +1 -1
  10. package/es/table/src/body.js +3 -7
  11. package/es/table/src/table.js +14 -20
  12. package/es/table/style.css +8 -7
  13. package/es/toolbar/src/toolbar.js +9 -16
  14. package/es/tools/log.js +1 -1
  15. package/es/v-x-e-table/index.js +1 -1
  16. package/es/validator/src/hook.js +6 -17
  17. package/es/vxe-table/style.css +8 -7
  18. package/lib/footer/src/footer.js +1 -6
  19. package/lib/footer/src/footer.min.js +1 -1
  20. package/lib/form/src/form.js +97 -79
  21. package/lib/form/src/form.min.js +1 -1
  22. package/lib/icon/style/style.css +1 -1
  23. package/lib/icon/style/style.min.css +1 -1
  24. package/lib/index.umd.js +131 -175
  25. package/lib/index.umd.min.js +1 -1
  26. package/lib/locale/lang/en-US.js +1 -1
  27. package/lib/locale/lang/en-US.min.js +1 -1
  28. package/lib/locale/lang/en-US.umd.js +1 -1
  29. package/lib/locale/lang/ja-JP.js +1 -1
  30. package/lib/locale/lang/ja-JP.min.js +1 -1
  31. package/lib/locale/lang/ja-JP.umd.js +1 -1
  32. package/lib/locale/lang/zh-CN.js +1 -1
  33. package/lib/locale/lang/zh-CN.min.js +1 -1
  34. package/lib/locale/lang/zh-CN.umd.js +1 -1
  35. package/lib/locale/lang/zh-HK.min.js +1 -1
  36. package/lib/locale/lang/zh-HK.umd.js +1 -1
  37. package/lib/locale/lang/zh-MO.min.js +1 -1
  38. package/lib/locale/lang/zh-MO.umd.js +1 -1
  39. package/lib/locale/lang/zh-TC.js +1 -1
  40. package/lib/locale/lang/zh-TC.min.js +1 -1
  41. package/lib/locale/lang/zh-TC.umd.js +1 -1
  42. package/lib/locale/lang/zh-TW.min.js +1 -1
  43. package/lib/locale/lang/zh-TW.umd.js +1 -1
  44. package/lib/style.css +1 -1
  45. package/lib/style.min.css +1 -1
  46. package/lib/table/src/body.js +2 -8
  47. package/lib/table/src/body.min.js +1 -1
  48. package/lib/table/src/table.js +10 -24
  49. package/lib/table/src/table.min.js +1 -1
  50. package/lib/table/style/style.css +8 -7
  51. package/lib/table/style/style.min.css +1 -1
  52. package/lib/toolbar/src/toolbar.js +13 -22
  53. package/lib/toolbar/src/toolbar.min.js +1 -1
  54. package/lib/tools/log.js +1 -1
  55. package/lib/tools/log.min.js +1 -1
  56. package/lib/v-x-e-table/index.js +1 -1
  57. package/lib/v-x-e-table/index.min.js +1 -1
  58. package/lib/validator/src/hook.js +6 -19
  59. package/lib/validator/src/hook.min.js +1 -1
  60. package/lib/vxe-table/style/style.css +8 -7
  61. package/lib/vxe-table/style/style.min.css +1 -1
  62. package/package.json +1 -1
  63. package/packages/footer/src/footer.ts +1 -5
  64. package/packages/form/src/form.ts +93 -62
  65. package/packages/locale/lang/en-US.ts +1 -1
  66. package/packages/locale/lang/ja-JP.ts +1 -1
  67. package/packages/locale/lang/zh-CN.ts +1 -1
  68. package/packages/locale/lang/zh-TC.ts +1 -1
  69. package/packages/table/src/body.ts +3 -7
  70. package/packages/table/src/table.ts +14 -24
  71. package/packages/toolbar/src/toolbar.ts +9 -16
  72. package/packages/validator/src/hook.ts +6 -17
  73. package/styles/cssvar.scss +0 -2
  74. package/styles/table.scss +12 -7
  75. package/styles/variable.scss +0 -2
  76. package/types/form.d.ts +17 -8
  77. package/types/table.d.ts +1 -1
  78. package/types/v-x-e-table/renderer.d.ts +22 -20
  79. /package/es/icon/style/{iconfont.1687739719961.ttf → iconfont.1688344901060.ttf} +0 -0
  80. /package/es/icon/style/{iconfont.1687739719961.woff → iconfont.1688344901060.woff} +0 -0
  81. /package/es/icon/style/{iconfont.1687739719961.woff2 → iconfont.1688344901060.woff2} +0 -0
  82. /package/es/{iconfont.1687739719961.ttf → iconfont.1688344901060.ttf} +0 -0
  83. /package/es/{iconfont.1687739719961.woff → iconfont.1688344901060.woff} +0 -0
  84. /package/es/{iconfont.1687739719961.woff2 → iconfont.1688344901060.woff2} +0 -0
  85. /package/lib/icon/style/{iconfont.1687739719961.ttf → iconfont.1688344901060.ttf} +0 -0
  86. /package/lib/icon/style/{iconfont.1687739719961.woff → iconfont.1688344901060.woff} +0 -0
  87. /package/lib/icon/style/{iconfont.1687739719961.woff2 → iconfont.1688344901060.woff2} +0 -0
  88. /package/lib/{iconfont.1687739719961.ttf → iconfont.1688344901060.ttf} +0 -0
  89. /package/lib/{iconfont.1687739719961.woff → iconfont.1688344901060.woff} +0 -0
  90. /package/lib/{iconfont.1687739719961.woff2 → iconfont.1688344901060.woff2} +0 -0
@@ -44,7 +44,7 @@ export default defineComponent({
44
44
  var $xetable = inject('$xetable', {});
45
45
  var xesize = inject('xesize', null);
46
46
  var xID = $xetable.xID, tableProps = $xetable.props, tableContext = $xetable.context, tableReactData = $xetable.reactData, tableInternalData = $xetable.internalData;
47
- var _a = $xetable.getRefMaps(), refTableHeader = _a.refTableHeader, refTableBody = _a.refTableBody, refTableFooter = _a.refTableFooter, refTableLeftBody = _a.refTableLeftBody, refTableRightBody = _a.refTableRightBody, refValidTooltip = _a.refValidTooltip;
47
+ var _a = $xetable.getRefMaps(), refTableHeader = _a.refTableHeader, refTableBody = _a.refTableBody, refTableFooter = _a.refTableFooter, refTableLeftBody = _a.refTableLeftBody, refTableRightBody = _a.refTableRightBody;
48
48
  var _b = $xetable.getComputeMaps(), computeEditOpts = _b.computeEditOpts, computeMouseOpts = _b.computeMouseOpts, computeSYOpts = _b.computeSYOpts, computeEmptyOpts = _b.computeEmptyOpts, computeKeyboardOpts = _b.computeKeyboardOpts, computeTooltipOpts = _b.computeTooltipOpts, computeRadioOpts = _b.computeRadioOpts, computeExpandOpts = _b.computeExpandOpts, computeTreeOpts = _b.computeTreeOpts, computeCheckboxOpts = _b.computeCheckboxOpts, computeValidOpts = _b.computeValidOpts, computeRowOpts = _b.computeRowOpts, computeColumnOpts = _b.computeColumnOpts;
49
49
  var refElem = ref();
50
50
  var refBodyTable = ref();
@@ -130,7 +130,7 @@ export default defineComponent({
130
130
  */
131
131
  var renderColumn = function (seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) {
132
132
  var _a;
133
- var columnKey = tableProps.columnKey, height = tableProps.height, allColumnOverflow = tableProps.showOverflow, allCellClassName = tableProps.cellClassName, cellStyle = tableProps.cellStyle, allAlign = tableProps.align, spanMethod = tableProps.spanMethod, mouseConfig = tableProps.mouseConfig, editConfig = tableProps.editConfig, editRules = tableProps.editRules, tooltipConfig = tableProps.tooltipConfig;
133
+ var columnKey = tableProps.columnKey, allColumnOverflow = tableProps.showOverflow, allCellClassName = tableProps.cellClassName, cellStyle = tableProps.cellStyle, allAlign = tableProps.align, spanMethod = tableProps.spanMethod, mouseConfig = tableProps.mouseConfig, editConfig = tableProps.editConfig, editRules = tableProps.editRules, tooltipConfig = tableProps.tooltipConfig;
134
134
  var tableData = tableReactData.tableData, overflowX = tableReactData.overflowX, scrollYLoad = tableReactData.scrollYLoad, currentColumn = tableReactData.currentColumn, mergeList = tableReactData.mergeList, editStore = tableReactData.editStore, validStore = tableReactData.validStore, isAllOverflow = tableReactData.isAllOverflow;
135
135
  var afterFullData = tableInternalData.afterFullData;
136
136
  var validOpts = computeValidOpts.value;
@@ -162,7 +162,7 @@ export default defineComponent({
162
162
  var tdOns = {};
163
163
  var cellAlign = align || allAlign;
164
164
  var hasValidError = validStore.row === row && validStore.column === column;
165
- var showValidTip = editRules && validOpts.showMessage && (validOpts.message === 'default' ? (height || tableData.length > 1) : validOpts.message === 'inline');
165
+ var showValidTip = editRules && validOpts.showMessage;
166
166
  var attrs = { colid: column.id };
167
167
  var params = { $table: $xetable, $grid: $xetable.xegrid, seq: seq, rowid: rowid, row: row, rowIndex: rowIndex, $rowIndex: $rowIndex, _rowIndex: _rowIndex, column: column, columnIndex: columnIndex, $columnIndex: $columnIndex, _columnIndex: _columnIndex, fixed: fixedType, type: renderType, isHidden: fixedHiddenColumn, level: rowLevel, visibleData: afterFullData, data: tableData, items: items };
168
168
  // 虚拟滚动不支持动态高度
@@ -486,7 +486,6 @@ export default defineComponent({
486
486
  var tableFooter = refTableFooter.value;
487
487
  var leftBody = refTableLeftBody.value;
488
488
  var rightBody = refTableRightBody.value;
489
- var validTip = refValidTooltip.value;
490
489
  var scrollBodyElem = refElem.value;
491
490
  var headerElem = tableHeader ? tableHeader.$el : null;
492
491
  var footerElem = tableFooter ? tableFooter.$el : null;
@@ -539,9 +538,6 @@ export default defineComponent({
539
538
  if (scrollYLoad && isRollY) {
540
539
  $xetable.triggerScrollYEvent(evnt);
541
540
  }
542
- if (isRollX && validTip && validTip.reactData.visible) {
543
- validTip.updatePlacement();
544
- }
545
541
  $xetable.dispatchEvent('scroll', {
546
542
  type: renderType,
547
543
  fixed: fixedType,
@@ -317,7 +317,6 @@ export default defineComponent({
317
317
  var refElem = ref();
318
318
  var refTooltip = ref();
319
319
  var refCommTooltip = ref();
320
- var refValidTooltip = ref();
321
320
  var refTableFilter = ref();
322
321
  var refTableMenu = ref();
323
322
  var refTableHeader = ref();
@@ -382,10 +381,6 @@ export default defineComponent({
382
381
  var tooltipOpts = computeTooltipOpts.value;
383
382
  return __assign(__assign({}, tooltipOpts), tooltipStore.currOpts);
384
383
  });
385
- var computeValidTipOpts = computed(function () {
386
- var tooltipOpts = computeTooltipOpts.value;
387
- return Object.assign({ isArrow: false }, tooltipOpts);
388
- });
389
384
  var computeEditOpts = computed(function () {
390
385
  return Object.assign({}, GlobalConfig.table.editConfig, props.editConfig);
391
386
  });
@@ -506,7 +501,6 @@ export default defineComponent({
506
501
  var refMaps = {
507
502
  refElem: refElem,
508
503
  refTooltip: refTooltip,
509
- refValidTooltip: refValidTooltip,
510
504
  refTableFilter: refTableFilter,
511
505
  refTableMenu: refTableMenu,
512
506
  refTableHeader: refTableHeader,
@@ -3107,7 +3101,7 @@ export default defineComponent({
3107
3101
  return 0;
3108
3102
  },
3109
3103
  /**
3110
- * 手动重置列的显示隐藏、列宽拖动的状态;
3104
+ * 手动重置列的显示隐藏、列宽拖动的状态、固定列、排序列;
3111
3105
  * 如果为 true 则重置所有状态
3112
3106
  * 如果已关联工具栏,则会同步更新
3113
3107
  */
@@ -3115,11 +3109,18 @@ export default defineComponent({
3115
3109
  var tableFullColumn = internalData.tableFullColumn;
3116
3110
  var customOpts = computeCustomOpts.value;
3117
3111
  var checkMethod = customOpts.checkMethod;
3118
- var opts = Object.assign({ visible: true, resizable: options === true }, options);
3112
+ var opts = Object.assign({
3113
+ visible: true,
3114
+ resizable: options === true,
3115
+ fixed: options === true
3116
+ }, options);
3119
3117
  tableFullColumn.forEach(function (column) {
3120
3118
  if (opts.resizable) {
3121
3119
  column.resizeWidth = 0;
3122
3120
  }
3121
+ if (opts.fixed) {
3122
+ column.fixed = column.defaultFixed;
3123
+ }
3123
3124
  if (!checkMethod || checkMethod({ column: column })) {
3124
3125
  column.visible = column.defaultVisible;
3125
3126
  }
@@ -3127,6 +3128,9 @@ export default defineComponent({
3127
3128
  if (opts.resizable) {
3128
3129
  tablePrivateMethods.saveCustomResizable(true);
3129
3130
  }
3131
+ if (opts.fixed) {
3132
+ tablePrivateMethods.saveCustomFixed();
3133
+ }
3130
3134
  return tablePrivateMethods.handleCustom();
3131
3135
  },
3132
3136
  /**
@@ -4162,7 +4166,6 @@ export default defineComponent({
4162
4166
  var el = refElem.value;
4163
4167
  var editOpts = computeEditOpts.value;
4164
4168
  var actived = editStore.actived;
4165
- var $validTooltip = refValidTooltip.value;
4166
4169
  var tableFilter = refTableFilter.value;
4167
4170
  var tableMenu = refTableMenu.value;
4168
4171
  if (tableFilter) {
@@ -4184,10 +4187,7 @@ export default defineComponent({
4184
4187
  // 如果是激活状态,点击了单元格之外
4185
4188
  var cell = actived.args.cell;
4186
4189
  if ((!cell || !getEventTargetNode(evnt, cell).flag)) {
4187
- if ($validTooltip && getEventTargetNode(evnt, $validTooltip.$el).flag) {
4188
- // 如果是激活状态,且点击了校验提示框
4189
- }
4190
- else if (!internalData._lastCallTime || internalData._lastCallTime + 50 < Date.now()) {
4190
+ if (!internalData._lastCallTime || internalData._lastCallTime + 50 < Date.now()) {
4191
4191
  // 如果是激活状态,点击了单元格之外
4192
4192
  if (!getEventTargetNode(evnt, document.body, 'vxe-table--ignore-clear').flag) {
4193
4193
  // 如果手动调用了激活单元格,避免触发源被移除后导致重复关闭
@@ -6170,7 +6170,7 @@ export default defineComponent({
6170
6170
  });
6171
6171
  var renderVN = function () {
6172
6172
  var _a;
6173
- var loading = props.loading, stripe = props.stripe, showHeader = props.showHeader, height = props.height, treeConfig = props.treeConfig, mouseConfig = props.mouseConfig, showFooter = props.showFooter, highlightCell = props.highlightCell, highlightHoverRow = props.highlightHoverRow, highlightHoverColumn = props.highlightHoverColumn, editConfig = props.editConfig;
6173
+ var loading = props.loading, stripe = props.stripe, showHeader = props.showHeader, treeConfig = props.treeConfig, mouseConfig = props.mouseConfig, showFooter = props.showFooter, highlightCell = props.highlightCell, highlightHoverRow = props.highlightHoverRow, highlightHoverColumn = props.highlightHoverColumn, editConfig = props.editConfig;
6174
6174
  var isGroup = reactData.isGroup, overflowX = reactData.overflowX, overflowY = reactData.overflowY, scrollXLoad = reactData.scrollXLoad, scrollYLoad = reactData.scrollYLoad, scrollbarHeight = reactData.scrollbarHeight, tableData = reactData.tableData, tableColumn = reactData.tableColumn, tableGroupColumn = reactData.tableGroupColumn, footerTableData = reactData.footerTableData, initStore = reactData.initStore, columnStore = reactData.columnStore, filterStore = reactData.filterStore;
6175
6175
  var leftList = columnStore.leftList, rightList = columnStore.rightList;
6176
6176
  var loadingSlot = slots.loading;
@@ -6181,8 +6181,6 @@ export default defineComponent({
6181
6181
  var vSize = computeSize.value;
6182
6182
  var tableBorder = computeTableBorder.value;
6183
6183
  var mouseOpts = computeMouseOpts.value;
6184
- var validOpts = computeValidOpts.value;
6185
- var validTipOpts = computeValidTipOpts.value;
6186
6184
  var loadingOpts = computeLoadingOpts.value;
6187
6185
  var isMenu = computeIsMenu.value;
6188
6186
  return h('div', {
@@ -6337,10 +6335,6 @@ export default defineComponent({
6337
6335
  isArrow: false,
6338
6336
  enterable: false
6339
6337
  }) : createCommentVNode(),
6340
- /**
6341
- * 校验提示
6342
- */
6343
- hasUseTooltip && props.editRules && validOpts.showMessage && (validOpts.message === 'default' ? !height : validOpts.message === 'tooltip') ? h(resolveComponent('vxe-tooltip'), __assign({ ref: refValidTooltip, class: 'vxe-table--valid-error' }, (validOpts.message === 'tooltip' || tableData.length === 1 ? validTipOpts : {}))) : createCommentVNode(),
6344
6338
  /**
6345
6339
  * 工具提示
6346
6340
  */
@@ -1224,8 +1224,9 @@
1224
1224
  .vxe-table--render-default .vxe-body--column.col--valid-error .vxe-cell--valid {
1225
1225
  width: 320px;
1226
1226
  position: absolute;
1227
- bottom: calc(100% + 4px);
1228
1227
  left: 50%;
1228
+ font-size: 12px;
1229
+ line-height: 1.2em;
1229
1230
  transform: translateX(-50%);
1230
1231
  text-align: center;
1231
1232
  pointer-events: none;
@@ -1234,9 +1235,7 @@
1234
1235
  .vxe-table--render-default .vxe-body--column.col--valid-error .vxe-cell--valid .vxe-cell--valid-msg {
1235
1236
  display: inline-block;
1236
1237
  border-radius: var(--vxe-border-radius);
1237
- padding: 8px 12px;
1238
- color: var(--vxe-table-validate-tooltip-error-color);
1239
- background-color: var(--vxe-table-validate-tooltip-error-background-color);
1238
+ color: var(--vxe-table-validate-error-color);
1240
1239
  pointer-events: auto;
1241
1240
  }
1242
1241
  .vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-input,
@@ -1247,9 +1246,11 @@
1247
1246
  .vxe-table--render-default .vxe-body--column.col--valid-error .vxe-input > .vxe-input--inner {
1248
1247
  border-color: var(--vxe-table-validate-error-color);
1249
1248
  }
1250
- .vxe-table--render-default .vxe-body--row:first-child .vxe-cell--valid {
1251
- bottom: auto;
1252
- top: calc(100% + 4px);
1249
+ .vxe-table--render-default .vxe-body--row:last-child .vxe-cell--valid {
1250
+ top: -1.3em;
1251
+ }
1252
+ .vxe-table--render-default .vxe-body--row:first-child:last-child .vxe-cell--valid {
1253
+ top: calc(100% - 1.3em);
1253
1254
  }
1254
1255
  .vxe-table--render-default .vxe-body--column:first-child .vxe-cell--valid {
1255
1256
  left: 10px;
@@ -141,18 +141,7 @@ export default defineComponent({
141
141
  }
142
142
  };
143
143
  var resetCustomEvent = function (evnt) {
144
- var columns = reactData.columns;
145
- var computeTableCustomOpts = $xetable.getComputeMaps().computeCustomOpts;
146
- var tableCustomOpts = computeTableCustomOpts.value;
147
- var checkMethod = tableCustomOpts.checkMethod;
148
- XEUtils.eachTree(columns, function (column) {
149
- if (!checkMethod || checkMethod({ column: column })) {
150
- column.visible = column.defaultVisible;
151
- column.halfVisible = false;
152
- }
153
- column.resizeWidth = 0;
154
- });
155
- $xetable.saveCustomResizable(true);
144
+ $xetable.resetColumn(true);
156
145
  closeCustom();
157
146
  emitCustomEvent('reset', evnt);
158
147
  };
@@ -353,9 +342,11 @@ export default defineComponent({
353
342
  if (item.visible !== false) {
354
343
  var compConf = buttonRender ? VXETable.renderer.get(buttonRender.name) : null;
355
344
  if (buttonRender && compConf && compConf.renderToolbarButton) {
345
+ var toolbarButtonClassName = compConf.toolbarButtonClassName;
346
+ var params = { $grid: $xegrid, $table: $xetable, button: item };
356
347
  btnVNs.push(h('span', {
357
- class: 'vxe-button--item'
358
- }, getSlotVNs(compConf.renderToolbarButton(buttonRender, { $grid: $xegrid, $table: $xetable, button: item }))));
348
+ class: ['vxe-button--item', toolbarButtonClassName ? (XEUtils.isFunction(toolbarButtonClassName) ? toolbarButtonClassName(params) : toolbarButtonClassName) : '']
349
+ }, getSlotVNs(compConf.renderToolbarButton(buttonRender, params))));
359
350
  }
360
351
  else {
361
352
  btnVNs.push(h(resolveComponent('vxe-button'), {
@@ -396,9 +387,11 @@ export default defineComponent({
396
387
  if (item.visible !== false) {
397
388
  var compConf = toolRender ? VXETable.renderer.get(toolRender.name) : null;
398
389
  if (toolRender && compConf && compConf.renderToolbarTool) {
390
+ var toolbarToolClassName = compConf.toolbarToolClassName;
391
+ var params = { $grid: $xegrid, $table: $xetable, tool: item };
399
392
  btnVNs.push(h('span', {
400
- class: 'vxe-tool--item'
401
- }, getSlotVNs(compConf.renderToolbarTool(toolRender, { $grid: $xegrid, $table: $xetable, tool: item }))));
393
+ class: ['vxe-tool--item', toolbarToolClassName ? (XEUtils.isFunction(toolbarToolClassName) ? toolbarToolClassName(params) : toolbarToolClassName) : '']
394
+ }, getSlotVNs(compConf.renderToolbarTool(toolRender, params))));
402
395
  }
403
396
  else {
404
397
  btnVNs.push(h(resolveComponent('vxe-button'), {
package/es/tools/log.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import GlobalConfig from '../v-x-e-table/src/conf';
2
2
  export function getLog(message, params) {
3
- return "[vxe-table v".concat("4.4.4", "] ").concat(GlobalConfig.i18n(message, params));
3
+ return "[vxe-table v".concat("4.4.6-beta.0", "] ").concat(GlobalConfig.i18n(message, params));
4
4
  }
5
5
  function outLog(type) {
6
6
  return function (message, params) {
@@ -83,7 +83,7 @@ export var config = new VXETableConfig();
83
83
  export var v = 'v4';
84
84
  export var VXETable = {
85
85
  v: v,
86
- version: "4.4.4",
86
+ version: "4.4.6-beta.0",
87
87
  setup: setup,
88
88
  interceptor: interceptor,
89
89
  renderer: renderer,
@@ -55,7 +55,6 @@ var tableValidatorMethodKeys = ['fullValidate', 'validate', 'clearValidate'];
55
55
  var validatorHook = {
56
56
  setupTable: function ($xetable) {
57
57
  var props = $xetable.props, reactData = $xetable.reactData, internalData = $xetable.internalData;
58
- var refValidTooltip = $xetable.getRefMaps().refValidTooltip;
59
58
  var _a = $xetable.getComputeMaps(), computeValidOpts = _a.computeValidOpts, computeTreeOpts = _a.computeTreeOpts, computeEditOpts = _a.computeEditOpts;
60
59
  var validatorMethods = {};
61
60
  var validatorPrivateMethods = {};
@@ -235,7 +234,6 @@ var validatorHook = {
235
234
  },
236
235
  clearValidate: function () {
237
236
  var validStore = reactData.validStore;
238
- var validTip = refValidTooltip.value;
239
237
  Object.assign(validStore, {
240
238
  visible: false,
241
239
  row: null,
@@ -243,9 +241,6 @@ var validatorHook = {
243
241
  content: '',
244
242
  rule: null
245
243
  });
246
- if (validTip && validTip.reactData.visible) {
247
- validTip.close();
248
- }
249
244
  return nextTick();
250
245
  }
251
246
  };
@@ -288,13 +283,13 @@ var validatorHook = {
288
283
  */
289
284
  validCellRules: function (validType, row, column, val) {
290
285
  var editRules = props.editRules;
291
- var property = column.property;
286
+ var field = column.field;
292
287
  var errorRules = [];
293
288
  var syncVailds = [];
294
- if (property && editRules) {
295
- var rules_1 = XEUtils.get(editRules, property);
289
+ if (field && editRules) {
290
+ var rules_1 = XEUtils.get(editRules, field);
296
291
  if (rules_1) {
297
- var cellValue_1 = XEUtils.isUndefined(val) ? XEUtils.get(row, property) : val;
292
+ var cellValue_1 = XEUtils.isUndefined(val) ? XEUtils.get(row, field) : val;
298
293
  rules_1.forEach(function (rule) {
299
294
  var type = rule.type, trigger = rule.trigger, required = rule.required;
300
295
  if (validType === 'all' || !trigger || validType === trigger) {
@@ -397,11 +392,8 @@ var validatorHook = {
397
392
  * 弹出校验错误提示
398
393
  */
399
394
  showValidTooltip: function (params) {
400
- var height = props.height;
401
- var tableData = reactData.tableData, validStore = reactData.validStore;
402
- var validOpts = computeValidOpts.value;
403
- var rule = params.rule, row = params.row, column = params.column, cell = params.cell;
404
- var validTip = refValidTooltip.value;
395
+ var validStore = reactData.validStore;
396
+ var rule = params.rule, row = params.row, column = params.column;
405
397
  var content = rule.content;
406
398
  return nextTick().then(function () {
407
399
  Object.assign(validStore, {
@@ -412,9 +404,6 @@ var validatorHook = {
412
404
  visible: true
413
405
  });
414
406
  $xetable.dispatchEvent('valid-error', params, null);
415
- if (validTip && (validOpts.message === 'tooltip' || (validOpts.message === 'default' && !height && tableData.length < 2))) {
416
- return validTip.open(cell, content);
417
- }
418
407
  });
419
408
  }
420
409
  };
@@ -1224,8 +1224,9 @@
1224
1224
  .vxe-table--render-default .vxe-body--column.col--valid-error .vxe-cell--valid {
1225
1225
  width: 320px;
1226
1226
  position: absolute;
1227
- bottom: calc(100% + 4px);
1228
1227
  left: 50%;
1228
+ font-size: 12px;
1229
+ line-height: 1.2em;
1229
1230
  transform: translateX(-50%);
1230
1231
  text-align: center;
1231
1232
  pointer-events: none;
@@ -1234,9 +1235,7 @@
1234
1235
  .vxe-table--render-default .vxe-body--column.col--valid-error .vxe-cell--valid .vxe-cell--valid-msg {
1235
1236
  display: inline-block;
1236
1237
  border-radius: var(--vxe-border-radius);
1237
- padding: 8px 12px;
1238
- color: var(--vxe-table-validate-tooltip-error-color);
1239
- background-color: var(--vxe-table-validate-tooltip-error-background-color);
1238
+ color: var(--vxe-table-validate-error-color);
1240
1239
  pointer-events: auto;
1241
1240
  }
1242
1241
  .vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-input,
@@ -1247,9 +1246,11 @@
1247
1246
  .vxe-table--render-default .vxe-body--column.col--valid-error .vxe-input > .vxe-input--inner {
1248
1247
  border-color: var(--vxe-table-validate-error-color);
1249
1248
  }
1250
- .vxe-table--render-default .vxe-body--row:first-child .vxe-cell--valid {
1251
- bottom: auto;
1252
- top: calc(100% + 4px);
1249
+ .vxe-table--render-default .vxe-body--row:last-child .vxe-cell--valid {
1250
+ top: -1.3em;
1251
+ }
1252
+ .vxe-table--render-default .vxe-body--row:first-child:last-child .vxe-cell--valid {
1253
+ top: calc(100% - 1.3em);
1253
1254
  }
1254
1255
  .vxe-table--render-default .vxe-body--column:first-child .vxe-cell--valid {
1255
1256
  left: 10px;
@@ -76,8 +76,7 @@ var _default = (0, _vue.defineComponent)({
76
76
  tableInternalData = $xetable.internalData;
77
77
  var _a = $xetable.getRefMaps(),
78
78
  refTableHeader = _a.refTableHeader,
79
- refTableBody = _a.refTableBody,
80
- refValidTooltip = _a.refValidTooltip;
79
+ refTableBody = _a.refTableBody;
81
80
  var _b = $xetable.getComputeMaps(),
82
81
  computeTooltipOpts = _b.computeTooltipOpts,
83
82
  computeColumnOpts = _b.computeColumnOpts;
@@ -95,7 +94,6 @@ var _default = (0, _vue.defineComponent)({
95
94
  var fixedType = props.fixedType;
96
95
  var scrollXLoad = tableReactData.scrollXLoad;
97
96
  var lastScrollLeft = tableInternalData.lastScrollLeft;
98
- var validTip = refValidTooltip.value;
99
97
  var tableHeader = refTableHeader.value;
100
98
  var tableBody = refTableBody.value;
101
99
  var headerElem = tableHeader ? tableHeader.$el : null;
@@ -114,9 +112,6 @@ var _default = (0, _vue.defineComponent)({
114
112
  if (scrollXLoad && isX) {
115
113
  $xetable.triggerScrollXEvent(evnt);
116
114
  }
117
- if (isX && validTip && validTip.reactData.visible) {
118
- validTip.updatePlacement();
119
- }
120
115
  $xetable.dispatchEvent('scroll', {
121
116
  type: renderType,
122
117
  fixed: fixedType,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,o=1,l=arguments.length;o<l;o++)for(var r in t=arguments[o])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},renderType="footer";function mergeFooterMethod(e,t,o){for(var l=0;l<e.length;l++){var r=e[l],n=r.row,a=r.col,c=r.rowspan,r=r.colspan;if(-1<a&&-1<n&&c&&r){if(n===t&&a===o)return{rowspan:c,colspan:r};if(n<=t&&t<n+c&&a<=o&&o<a+r)return{rowspan:0,colspan:0}}}}var _default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:function(){return[]}},tableColumn:{type:Array,default:function(){return[]}},fixedColumn:{type:Array,default:function(){return[]}},fixedType:{type:String,default:null}},setup:function(i){function n(e){var t=i.fixedType,o=u.scrollXLoad,l=s.lastScrollLeft,r=p.value,n=f.value,a=d.value,n=n?n.$el:null,c=x.value,a=a.$el,l=(c=c.scrollLeft)!==l;s.lastScrollLeft=c,s.lastScrollTime=Date.now(),n&&(n.scrollLeft=c),a&&(a.scrollLeft=c),o&&l&&E.triggerScrollXEvent(e),l&&r&&r.reactData.visible&&r.updatePlacement(),E.dispatchEvent("scroll",{type:renderType,fixed:t,scrollTop:a.scrollTop,scrollLeft:c,isX:l,isY:!1},e)}var E=(0,_vue.inject)("$xetable",{}),a=E.xID,c=E.props,u=E.reactData,s=E.internalData,e=E.getRefMaps(),f=e.refTableHeader,d=e.refTableBody,p=e.refValidTooltip,e=E.getComputeMaps(),v=e.computeTooltipOpts,_=e.computeColumnOpts,x=(0,_vue.ref)(),m=(0,_vue.ref)(),g=(0,_vue.ref)(),y=(0,_vue.ref)(),h=(0,_vue.ref)();(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=i.fixedType,t=s.elemStore,e="".concat(e||"main","-footer-");t["".concat(e,"wrapper")]=x,t["".concat(e,"table")]=m,t["".concat(e,"colgroup")]=g,t["".concat(e,"list")]=y,t["".concat(e,"xSpace")]=h})}),(0,_vue.onUnmounted)(function(){var e=i.fixedType,t=s.elemStore,e="".concat(e||"main","-footer-");t["".concat(e,"wrapper")]=null,t["".concat(e,"table")]=null,t["".concat(e,"colgroup")]=null,t["".concat(e,"list")]=null,t["".concat(e,"xSpace")]=null});return function(){var w=i.fixedType,e=i.fixedColumn,b=i.tableColumn,T=i.footerTableData,t=c.footerRowClassName,C=c.footerCellClassName,o=c.footerRowStyle,I=c.footerCellStyle,S=c.footerAlign,F=c.footerSpanMethod,$=c.align,D=c.columnKey,L=c.showFooterOverflow,l=s.visibleColumn,M=u.scrollXLoad,O=u.overflowX,r=u.scrollbarWidth,U=u.currentColumn,k=u.mergeFooterList,j=v.value,A=_.value;return w&&(b=u.expandColumn||!M&&!L||k.length&&F?l:e),(0,_vue.h)("div",{ref:x,class:["vxe-table--footer-wrapper",w?"fixed-".concat(w,"--wrapper"):"body--wrapper"],xid:a,onScroll:n},[w?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:h,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:m,class:"vxe-table--footer",xid:a,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:g},b.map(function(e,t){return(0,_vue.h)("col",{name:e.id,key:t})}).concat(r?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("tfoot",{ref:y},T.map(function(g,y){var h=y;return(0,_vue.h)("tr",{class:["vxe-footer--row",t?_xeUtils.default.isFunction(t)?t({$table:E,_rowIndex:y,$rowIndex:h,fixed:w,type:renderType}):t:""],style:o?_xeUtils.default.isFunction(o)?o({$table:E,_rowIndex:y,$rowIndex:h,fixed:w,type:renderType}):o:null},b.map(function(t,e){var o=t.type,l=t.showFooterOverflow,r=t.footerAlign,n=t.align,a=t.footerClassName,c=j.showAll,i=t.children&&t.children.length,i=w?t.fixed!==w&&!i:t.fixed&&O,l=_xeUtils.default.isUndefined(l)||_xeUtils.default.isNull(l)?L:l,r=r||n||S||$,n="ellipsis"===l,u="title"===l,s=!0===l||"tooltip"===l,l=u||s||n,f={colid:t.id},d={},p=E.getColumnIndex(t),v=E.getVTColumnIndex(t),_={$table:E,$grid:E.xegrid,_rowIndex:y,$rowIndex:h,column:t,columnIndex:p,$columnIndex:e,_columnIndex:v,itemIndex:v,items:g,fixed:w,type:renderType,data:T};if(M&&!l&&(n=l=!0),(u||s||c)&&(d.onMouseenter=function(e){u?(0,_dom.updateCellTitle)(e.currentTarget,t):(s||c)&&E.triggerFooterTooltipEvent(e,_)}),(s||c)&&(d.onMouseleave=function(e){(s||c)&&E.handleTargetLeaveEvent(e)}),d.onClick=function(e){E.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},_),e)},d.onDblclick=function(e){E.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},_),e)},k.length){p=mergeFooterMethod(k,y,v);if(p){var x=p.rowspan,m=p.colspan;if(!x||!m)return null;1<x&&(f.rowspan=x),1<m&&(f.colspan=m)}}else if(F){var v=F(_)||{},p=v.rowspan,x=void 0===p?1:p,p=v.colspan,m=void 0===p?1:p;if(!x||!m)return null;1<x&&(f.rowspan=x),1<m&&(f.colspan=m)}return(0,_vue.h)("td",__assign(__assign(__assign(__assign({class:["vxe-footer--column",t.id,((v={})["col--".concat(r)]=r,v["col--".concat(o)]=o,v["col--last"]=e===b.length-1,v["fixed--hidden"]=i,v["col--ellipsis"]=l,v["col--current"]=U===t,v),(0,_dom.getPropClass)(a,_),(0,_dom.getPropClass)(C,_)]},f),{style:I?_xeUtils.default.isFunction(I)?I(_):I:null}),d),{key:D||A.useKey?t.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":u,"c--tooltip":s,"c--ellipsis":n}]},t.renderFooter(_))])}).concat(r?[(0,_vue.h)("td",{class:"vxe-footer--gutter col--gutter"})]:[]))}))])])}}});exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,o=1,l=arguments.length;o<l;o++)for(var r in t=arguments[o])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},renderType="footer";function mergeFooterMethod(e,t,o){for(var l=0;l<e.length;l++){var r=e[l],n=r.row,a=r.col,c=r.rowspan,r=r.colspan;if(-1<a&&-1<n&&c&&r){if(n===t&&a===o)return{rowspan:c,colspan:r};if(n<=t&&t<n+c&&a<=o&&o<a+r)return{rowspan:0,colspan:0}}}}var _default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:function(){return[]}},tableColumn:{type:Array,default:function(){return[]}},fixedColumn:{type:Array,default:function(){return[]}},fixedType:{type:String,default:null}},setup:function(c){function n(e){var t=c.fixedType,o=u.scrollXLoad,l=s.lastScrollLeft,r=f.value,n=d.value,r=r?r.$el:null,a=_.value,n=n.$el,l=(a=a.scrollLeft)!==l;s.lastScrollLeft=a,s.lastScrollTime=Date.now(),r&&(r.scrollLeft=a),n&&(n.scrollLeft=a),o&&l&&E.triggerScrollXEvent(e),E.dispatchEvent("scroll",{type:renderType,fixed:t,scrollTop:n.scrollTop,scrollLeft:a,isX:l,isY:!1},e)}var E=(0,_vue.inject)("$xetable",{}),a=E.xID,i=E.props,u=E.reactData,s=E.internalData,e=E.getRefMaps(),f=e.refTableHeader,d=e.refTableBody,e=E.getComputeMaps(),p=e.computeTooltipOpts,v=e.computeColumnOpts,_=(0,_vue.ref)(),x=(0,_vue.ref)(),g=(0,_vue.ref)(),m=(0,_vue.ref)(),y=(0,_vue.ref)();(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=c.fixedType,t=s.elemStore,e="".concat(e||"main","-footer-");t["".concat(e,"wrapper")]=_,t["".concat(e,"table")]=x,t["".concat(e,"colgroup")]=g,t["".concat(e,"list")]=m,t["".concat(e,"xSpace")]=y})}),(0,_vue.onUnmounted)(function(){var e=c.fixedType,t=s.elemStore,e="".concat(e||"main","-footer-");t["".concat(e,"wrapper")]=null,t["".concat(e,"table")]=null,t["".concat(e,"colgroup")]=null,t["".concat(e,"list")]=null,t["".concat(e,"xSpace")]=null});return function(){var w=c.fixedType,e=c.fixedColumn,b=c.tableColumn,T=c.footerTableData,t=i.footerRowClassName,C=i.footerCellClassName,o=i.footerRowStyle,I=i.footerCellStyle,S=i.footerAlign,F=i.footerSpanMethod,$=i.align,L=i.columnKey,M=i.showFooterOverflow,l=s.visibleColumn,O=u.scrollXLoad,D=u.overflowX,r=u.scrollbarWidth,U=u.currentColumn,k=u.mergeFooterList,j=p.value,A=v.value;return w&&(b=u.expandColumn||!O&&!M||k.length&&F?l:e),(0,_vue.h)("div",{ref:_,class:["vxe-table--footer-wrapper",w?"fixed-".concat(w,"--wrapper"):"body--wrapper"],xid:a,onScroll:n},[w?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:y,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:x,class:"vxe-table--footer",xid:a,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:g},b.map(function(e,t){return(0,_vue.h)("col",{name:e.id,key:t})}).concat(r?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("tfoot",{ref:m},T.map(function(m,y){var h=y;return(0,_vue.h)("tr",{class:["vxe-footer--row",t?_xeUtils.default.isFunction(t)?t({$table:E,_rowIndex:y,$rowIndex:h,fixed:w,type:renderType}):t:""],style:o?_xeUtils.default.isFunction(o)?o({$table:E,_rowIndex:y,$rowIndex:h,fixed:w,type:renderType}):o:null},b.map(function(t,e){var o=t.type,l=t.showFooterOverflow,r=t.footerAlign,n=t.align,a=t.footerClassName,c=j.showAll,i=t.children&&t.children.length,i=w?t.fixed!==w&&!i:t.fixed&&D,l=_xeUtils.default.isUndefined(l)||_xeUtils.default.isNull(l)?M:l,r=r||n||S||$,n="ellipsis"===l,u="title"===l,s=!0===l||"tooltip"===l,l=u||s||n,f={colid:t.id},d={},p=E.getColumnIndex(t),v=E.getVTColumnIndex(t),_={$table:E,$grid:E.xegrid,_rowIndex:y,$rowIndex:h,column:t,columnIndex:p,$columnIndex:e,_columnIndex:v,itemIndex:v,items:m,fixed:w,type:renderType,data:T};if(O&&!l&&(n=l=!0),(u||s||c)&&(d.onMouseenter=function(e){u?(0,_dom.updateCellTitle)(e.currentTarget,t):(s||c)&&E.triggerFooterTooltipEvent(e,_)}),(s||c)&&(d.onMouseleave=function(e){(s||c)&&E.handleTargetLeaveEvent(e)}),d.onClick=function(e){E.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},_),e)},d.onDblclick=function(e){E.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},_),e)},k.length){p=mergeFooterMethod(k,y,v);if(p){var x=p.rowspan,g=p.colspan;if(!x||!g)return null;1<x&&(f.rowspan=x),1<g&&(f.colspan=g)}}else if(F){var v=F(_)||{},p=v.rowspan,x=void 0===p?1:p,p=v.colspan,g=void 0===p?1:p;if(!x||!g)return null;1<x&&(f.rowspan=x),1<g&&(f.colspan=g)}return(0,_vue.h)("td",__assign(__assign(__assign(__assign({class:["vxe-footer--column",t.id,((v={})["col--".concat(r)]=r,v["col--".concat(o)]=o,v["col--last"]=e===b.length-1,v["fixed--hidden"]=i,v["col--ellipsis"]=l,v["col--current"]=U===t,v),(0,_dom.getPropClass)(a,_),(0,_dom.getPropClass)(C,_)]},f),{style:I?_xeUtils.default.isFunction(I)?I(_):I:null}),d),{key:L||A.useKey?t.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":u,"c--tooltip":s,"c--ellipsis":n}]},t.renderFooter(_))])}).concat(r?[(0,_vue.h)("td",{class:"vxe-footer--gutter col--gutter"})]:[]))}))])])}}});exports.default=_default;