vxe-table 3.24.4 → 3.25.0-beta.1

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 +15 -2
  2. package/es/locale/lang/fr-FR.js +29 -29
  3. package/es/style.css +1 -1
  4. package/es/table/module/custom/panel.js +3 -2
  5. package/es/table/module/edit/mixin.js +5 -4
  6. package/es/table/module/export/mixin.js +6 -4
  7. package/es/table/module/filter/mixin.js +2 -2
  8. package/es/table/module/keyboard/mixin.js +4 -3
  9. package/es/table/module/menu/mixin.js +3 -3
  10. package/es/table/render/index.js +5 -3
  11. package/es/table/src/body.js +4 -4
  12. package/es/table/src/header.js +4 -3
  13. package/es/table/src/methods.js +93 -59
  14. package/es/table/src/props.js +4 -0
  15. package/es/table/src/table.js +63 -43
  16. package/es/table/src/util.js +6 -3
  17. package/es/ui/index.js +9 -11
  18. package/es/ui/src/log.js +1 -1
  19. package/es/ui/src/utils.js +9 -0
  20. package/lib/grid/src/grid.js +14 -1
  21. package/lib/grid/src/grid.min.js +1 -1
  22. package/lib/index.umd.js +170 -110
  23. package/lib/index.umd.min.js +1 -1
  24. package/lib/locale/lang/fr-FR.js +29 -29
  25. package/lib/locale/lang/fr-FR.min.js +1 -1
  26. package/lib/locale/lang/fr-FR.umd.js +29 -29
  27. package/lib/style.css +1 -1
  28. package/lib/table/module/custom/panel.js +2 -1
  29. package/lib/table/module/custom/panel.min.js +1 -1
  30. package/lib/table/module/edit/mixin.js +4 -3
  31. package/lib/table/module/edit/mixin.min.js +1 -1
  32. package/lib/table/module/export/mixin.js +9 -3
  33. package/lib/table/module/export/mixin.min.js +1 -1
  34. package/lib/table/module/filter/mixin.js +1 -1
  35. package/lib/table/module/filter/mixin.min.js +1 -1
  36. package/lib/table/module/keyboard/mixin.js +4 -3
  37. package/lib/table/module/keyboard/mixin.min.js +1 -1
  38. package/lib/table/module/menu/mixin.js +2 -2
  39. package/lib/table/module/menu/mixin.min.js +1 -1
  40. package/lib/table/render/index.js +4 -2
  41. package/lib/table/render/index.min.js +1 -1
  42. package/lib/table/src/body.js +3 -3
  43. package/lib/table/src/body.min.js +1 -1
  44. package/lib/table/src/header.js +3 -2
  45. package/lib/table/src/header.min.js +1 -1
  46. package/lib/table/src/methods.js +36 -34
  47. package/lib/table/src/methods.min.js +1 -1
  48. package/lib/table/src/props.js +4 -0
  49. package/lib/table/src/props.min.js +1 -1
  50. package/lib/table/src/table.js +58 -45
  51. package/lib/table/src/table.min.js +1 -1
  52. package/lib/table/src/util.js +8 -2
  53. package/lib/table/src/util.min.js +1 -1
  54. package/lib/ui/index.js +9 -11
  55. package/lib/ui/index.min.js +1 -1
  56. package/lib/ui/src/log.js +1 -1
  57. package/lib/ui/src/log.min.js +1 -1
  58. package/lib/ui/src/utils.js +10 -0
  59. package/lib/ui/src/utils.min.js +1 -1
  60. package/package.json +2 -2
  61. package/packages/grid/src/grid.ts +16 -2
  62. package/packages/locale/lang/fr-FR.ts +903 -903
  63. package/packages/table/module/custom/panel.ts +3 -2
  64. package/packages/table/module/edit/mixin.ts +5 -4
  65. package/packages/table/module/export/mixin.ts +6 -4
  66. package/packages/table/module/filter/mixin.ts +2 -2
  67. package/packages/table/module/keyboard/mixin.ts +4 -3
  68. package/packages/table/module/menu/mixin.ts +3 -3
  69. package/packages/table/render/index.ts +5 -3
  70. package/packages/table/src/body.ts +4 -4
  71. package/packages/table/src/header.ts +4 -3
  72. package/packages/table/src/methods.ts +90 -57
  73. package/packages/table/src/props.ts +4 -0
  74. package/packages/table/src/table.ts +69 -43
  75. package/packages/table/src/util.ts +6 -3
  76. package/packages/ui/index.ts +8 -10
  77. package/packages/ui/src/utils.ts +10 -0
  78. /package/es/{iconfont.1791617048832.ttf → iconfont.1791954189007.ttf} +0 -0
  79. /package/es/{iconfont.1791617048832.woff → iconfont.1791954189007.woff} +0 -0
  80. /package/es/{iconfont.1791617048832.woff2 → iconfont.1791954189007.woff2} +0 -0
  81. /package/lib/{iconfont.1791617048832.ttf → iconfont.1791954189007.ttf} +0 -0
  82. /package/lib/{iconfont.1791617048832.woff → iconfont.1791954189007.woff} +0 -0
  83. /package/lib/{iconfont.1791617048832.woff2 → iconfont.1791954189007.woff2} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { defineVxeComponent } from '../../../ui/src/comp';
2
2
  import { VxeUI } from '../../../ui';
3
- import { formatText } from '../../../ui/src/utils';
3
+ import { formatText, hasEnableConf } from '../../../ui/src/utils';
4
4
  import { getTpImg, addClass, removeClass, hasControlKey } from '../../../ui/src/dom';
5
5
  import { createComponentLog } from '../../../ui/src/log';
6
6
  import XEUtils from 'xe-utils';
@@ -415,6 +415,7 @@ export default {
415
415
  const { customColumnList } = tableReactData;
416
416
  const { collectColumn } = tableInternalData;
417
417
  const customOpts = $xeTable.computeCustomOpts;
418
+ const mouseOpts = $xeTable.computeMouseOpts;
418
419
  const { immediate } = customOpts;
419
420
  const trEl = evnt.currentTarget;
420
421
  const columnDragOpts = $xeTable.computeColumnDragOpts;
@@ -558,7 +559,7 @@ export default {
558
559
  nafIndex = XEUtils.findIndexOf(customColumnList, item => item.id === newColumn.id);
559
560
  customColumnList.splice(nafIndex + dragOffsetIndex, 0, dragColumn);
560
561
  }
561
- if (mouseConfig) {
562
+ if (hasEnableConf(mouseConfig, mouseOpts)) {
562
563
  if ($xeTable.clearSelected) {
563
564
  $xeTable.clearSelected();
564
565
  }
@@ -1,6 +1,6 @@
1
1
  import XEUtils from 'xe-utils';
2
2
  import { VxeUI } from '../../../ui';
3
- import { isEnableConf } from '../../../ui/src/utils';
3
+ import { hasEnableConf, isEnableConf } from '../../../ui/src/utils';
4
4
  import { getCellValue, setCellValue, getRowid } from '../../src/util';
5
5
  import { removeClass, addClass } from '../../../ui/src/dom';
6
6
  import { createComponentLog } from '../../../ui/src/log';
@@ -391,6 +391,7 @@ function handleEditActive($xeTable, params, evnt, options) {
391
391
  const { editConfig, mouseConfig } = props;
392
392
  const { editStore, tableColumn } = reactData;
393
393
  const editOpts = $xeTable.computeEditOpts;
394
+ const mouseOpts = $xeTable.computeMouseOpts;
394
395
  const { mode } = editOpts;
395
396
  const { actived, focused } = editStore;
396
397
  const { row, column } = params;
@@ -406,7 +407,7 @@ function handleEditActive($xeTable, params, evnt, options) {
406
407
  // 判断是否禁用编辑
407
408
  let type = 'edit-disabled';
408
409
  if (!beforeEditMethod || beforeEditMethod(Object.assign(Object.assign({}, editParams), { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }))) {
409
- if (mouseConfig) {
410
+ if (hasEnableConf(mouseConfig, mouseOpts)) {
410
411
  $xeTable.clearSelected();
411
412
  if ($xeTable.clearCellAreas) {
412
413
  $xeTable.clearCellAreas();
@@ -464,7 +465,7 @@ function handleEditActive($xeTable, params, evnt, options) {
464
465
  }
465
466
  else {
466
467
  const { column: oldColumn } = actived;
467
- if (mouseConfig) {
468
+ if (hasEnableConf(mouseConfig, mouseOpts)) {
468
469
  $xeTable.clearSelected();
469
470
  if ($xeTable.clearCellAreas) {
470
471
  $xeTable.clearCellAreas();
@@ -1081,7 +1082,7 @@ export default {
1081
1082
  const editOpts = $xeTable.computeEditOpts;
1082
1083
  const { actived, selected } = editStore;
1083
1084
  const { row, column } = params;
1084
- const isMouseSelected = mouseConfig && mouseOpts.selected;
1085
+ const isMouseSelected = hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.selected;
1085
1086
  const selectMethod = () => {
1086
1087
  if (isMouseSelected && (selected.row !== row || selected.column !== column)) {
1087
1088
  if (actived.row !== row || (editOpts.mode === 'cell' ? actived.column !== column : false)) {
@@ -1,7 +1,7 @@
1
1
  import XEUtils from 'xe-utils';
2
2
  import { VxeUI } from '../../../ui';
3
3
  import { isColumnInfo, getCellValue, createHandleGetRowId } from '../../src/util';
4
- import { parseFile, formatText, eqEmptyValue } from '../../../ui/src/utils';
4
+ import { parseFile, formatText, eqEmptyValue, hasEnableConf } from '../../../ui/src/utils';
5
5
  import { hasClass, toCssUnit } from '../../../ui/src/dom';
6
6
  import { createHtmlPage, getExportBlobByContent } from './util';
7
7
  import { createComponentLog } from '../../../ui/src/log';
@@ -1945,7 +1945,7 @@ export default {
1945
1945
  }
1946
1946
  return;
1947
1947
  }
1948
- if (!importConfig) {
1948
+ if (!hasEnableConf(importConfig, importOpts)) {
1949
1949
  errLog('vxe.error.reqProp', ['import-config']);
1950
1950
  }
1951
1951
  // 处理类型
@@ -1985,12 +1985,13 @@ export default {
1985
1985
  _openExport(options) {
1986
1986
  const $xeTable = this;
1987
1987
  const props = $xeTable;
1988
+ const { exportConfig } = props;
1988
1989
  const exportOpts = $xeTable.computeExportOpts;
1989
1990
  const defOpts = Object.assign({
1990
1991
  message: true,
1991
1992
  types: XEUtils.keys(exportOpts._typeMaps)
1992
1993
  }, exportOpts, options);
1993
- if (!props.exportConfig) {
1994
+ if (!hasEnableConf(exportConfig, exportOpts)) {
1994
1995
  errLog('vxe.error.reqProp', ['export-config']);
1995
1996
  }
1996
1997
  return handleExportAndPrint($xeTable, defOpts);
@@ -1999,11 +2000,12 @@ export default {
1999
2000
  _openPrint(options) {
2000
2001
  const $xeTable = this;
2001
2002
  const props = $xeTable;
2003
+ const { printConfig } = props;
2002
2004
  const printOpts = $xeTable.computePrintOpts;
2003
2005
  const defOpts = Object.assign({
2004
2006
  message: true
2005
2007
  }, printOpts, options);
2006
- if (!props.printConfig) {
2008
+ if (!hasEnableConf(printConfig, printOpts)) {
2007
2009
  errLog('vxe.error.reqProp', ['print-config']);
2008
2010
  }
2009
2011
  return handleExportAndPrint($xeTable, defOpts, true);
@@ -2,7 +2,7 @@ import XEUtils from 'xe-utils';
2
2
  import { VxeUI } from '../../../ui';
3
3
  import { toFilters, handleFieldOrColumn, getRefElem } from '../../src/util';
4
4
  import { toCssUnit, triggerEvent, updatePanelPlacement } from '../../../ui/src/dom';
5
- import { isEnableConf } from '../../../ui/src/utils';
5
+ import { hasEnableConf, isEnableConf } from '../../../ui/src/utils';
6
6
  const { renderer } = VxeUI;
7
7
  const sourceType = 'table';
8
8
  function updatePopupStyle($xeTable) {
@@ -405,7 +405,7 @@ export default {
405
405
  $xeTable.handleTableData(true);
406
406
  $xeTable.checkSelectionStatus();
407
407
  }
408
- if (mouseConfig && mouseOpts.area && $xeTable.handleFilterEvent) {
408
+ if (hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area && $xeTable.handleFilterEvent) {
409
409
  $xeTable.handleFilterEvent(evnt, params);
410
410
  }
411
411
  if (evnt) {
@@ -1,6 +1,7 @@
1
1
  import XEUtils from 'xe-utils';
2
2
  import { getRefElem } from '../../src/util';
3
3
  import { getAbsolutePos, addClass, removeClass, hasControlKey } from '../../../ui/src/dom';
4
+ import { hasEnableConf } from '../../../ui/src/utils';
4
5
  function getCheckboxRangeRows($xeTable, evnt, params, targetTrElem, trRect, offsetClientTop, moveRange) {
5
6
  const props = $xeTable;
6
7
  const reactData = $xeTable;
@@ -508,14 +509,14 @@ export default {
508
509
  const checkboxOpts = $xeTable.computeCheckboxOpts;
509
510
  const mouseOpts = $xeTable.computeMouseOpts;
510
511
  const editOpts = $xeTable.computeEditOpts;
511
- if (mouseConfig && mouseOpts.area && $xeTable.triggerClAreaMnEvent) {
512
- return $xeTable.triggerClAreaMnEvent(evnt, params);
512
+ if (hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area && $xeTable.triggerClAaMnEvent) {
513
+ return $xeTable.triggerClAaMnEvent(evnt, params);
513
514
  }
514
515
  else {
515
516
  if (checkboxConfig && checkboxOpts.range) {
516
517
  handleCheckboxRangeEvent($xeTable, evnt, params);
517
518
  }
518
- if (mouseConfig && mouseOpts.selected) {
519
+ if (hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.selected) {
519
520
  if (!editConfig || editOpts.mode === 'cell') {
520
521
  $xeTable.handleSelected(params, evnt);
521
522
  }
@@ -1,7 +1,7 @@
1
1
  import XEUtils from 'xe-utils';
2
2
  import { VxeUI } from '../../../ui';
3
3
  import { getDomNode, getAbsolutePos, getEventTargetNode, toCssUnit } from '../../../ui/src/dom';
4
- import { isEnableConf, hasChildrenList } from '../../../ui/src/utils';
4
+ import { isEnableConf, hasChildrenList, hasEnableConf } from '../../../ui/src/utils';
5
5
  import { createComponentLog } from '../../../ui/src/log';
6
6
  const { warnLog } = createComponentLog('table');
7
7
  const { menus, globalEvents, GLOBAL_EVENT_KEYS } = VxeUI;
@@ -87,7 +87,7 @@ export default {
87
87
  const type = 'body';
88
88
  const params = { source: 'table', type, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, keyboard: true, columns: visibleColumn.slice(0), $event: evnt };
89
89
  // 如果开启单元格区域
90
- if (mouseConfig && mouseOpts.area) {
90
+ if (hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area) {
91
91
  const activeArea = $xeTable.getActiveCellArea();
92
92
  if (activeArea && activeArea.row && activeArea.column) {
93
93
  params.row = activeArea.row;
@@ -96,7 +96,7 @@ export default {
96
96
  return;
97
97
  }
98
98
  }
99
- else if (mouseConfig && mouseOpts.selected) {
99
+ else if (hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.selected) {
100
100
  // 如果启用键盘导航且已选中单元格
101
101
  if (selected.row && selected.column) {
102
102
  params.row = selected.row;
@@ -1,7 +1,7 @@
1
1
  import XEUtils from 'xe-utils';
2
2
  import { VxeUI } from '../../ui';
3
3
  import { getCellValue, setCellValue } from '../src/util';
4
- import { getFuncText, formatText, isEmptyValue } from '../../ui/src/utils';
4
+ import { getFuncText, formatText, isEmptyValue, hasEnableConf } from '../../ui/src/utils';
5
5
  import { getOnName, getModelEvent, getChangeEvent, hasInputType } from '../../ui/src/vn';
6
6
  import { createComponentLog } from '../../ui/src/log';
7
7
  const { errLog } = createComponentLog('table');
@@ -847,9 +847,10 @@ function getNativeInputRenderCellVNs(h, cellValue, labelVNs, renderOpts, renderP
847
847
  const { name } = renderOpts;
848
848
  const tableProps = $table;
849
849
  const { editConfig, mouseConfig } = tableProps;
850
+ const mouseOpts = $table.computeMouseOpts;
850
851
  let isColSelected = false;
851
852
  let isActiveCellArea = false;
852
- if (editConfig && mouseConfig) {
853
+ if (editConfig && hasEnableConf(mouseConfig, mouseOpts)) {
853
854
  const tableReactData = $table;
854
855
  const { editStore } = tableReactData;
855
856
  const { selected } = editStore;
@@ -879,9 +880,10 @@ function getInputRenderCellVNs(h, cellValue, labelVNs, renderOpts, renderParams)
879
880
  const { $table, row, column } = renderParams;
880
881
  const tableProps = $table;
881
882
  const { editConfig, mouseConfig } = tableProps;
883
+ const mouseOpts = $table.computeMouseOpts;
882
884
  let isColSelected = false;
883
885
  let isActiveCellArea = false;
884
- if (editConfig && mouseConfig) {
886
+ if (editConfig && hasEnableConf(mouseConfig, mouseOpts)) {
885
887
  const tableReactData = $table;
886
888
  const { editStore } = tableReactData;
887
889
  const editOpts = $table.computeEditOpts;
@@ -1,7 +1,7 @@
1
1
  import XEUtils from 'xe-utils';
2
2
  import { VxeUI } from '../../ui';
3
3
  import { defineVxeComponent } from '../../ui/src/comp';
4
- import { isEnableConf, getClass, getDefaultConfig } from '../../ui/src/utils';
4
+ import { isEnableConf, getClass, getDefaultConfig, hasEnableConf } from '../../ui/src/utils';
5
5
  import { getRowid, createHandleGetRowId, getCellRestHeight } from './util';
6
6
  import { updateCellTitle } from '../../ui/src/dom';
7
7
  import { getSlotVNs } from '../../ui/src/vn';
@@ -199,7 +199,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
199
199
  };
200
200
  }
201
201
  // 按下事件处理
202
- if (isRowDragCell || checkboxOpts.range || mouseConfig) {
202
+ if (isRowDragCell || checkboxOpts.range || hasEnableConf(mouseConfig, mouseOpts)) {
203
203
  tdOns.mousedown = (evnt) => {
204
204
  $xeTable.triggerCellMousedownEvent(evnt, cellParams);
205
205
  };
@@ -382,7 +382,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
382
382
  }
383
383
  }
384
384
  let showAreaRowStatus = false;
385
- if (mouseConfig && mouseOpts.area && !_columnIndex && selectCellToRow) {
385
+ if (hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area && !_columnIndex && selectCellToRow) {
386
386
  showAreaRowStatus = true;
387
387
  }
388
388
  if (!fixedHiddenColumn && showResizable && isAllColumnDrag) {
@@ -875,7 +875,7 @@ export default {
875
875
  h('div', {
876
876
  class: 'vxe-table--checkbox-range'
877
877
  }),
878
- mouseConfig && mouseOpts.area
878
+ hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area
879
879
  ? h('div', {
880
880
  class: 'vxe-table--cell-area',
881
881
  attrs: {
@@ -1,7 +1,7 @@
1
1
  import XEUtils from 'xe-utils';
2
2
  import { VxeUI } from '../../ui';
3
3
  import { defineVxeComponent } from '../../ui/src/comp';
4
- import { isEnableConf, getClass, getDefaultConfig } from '../../ui/src/utils';
4
+ import { isEnableConf, getClass, getDefaultConfig, hasEnableConf } from '../../ui/src/utils';
5
5
  import { getCalcHeight, convertHeaderColumnToRows, convertHeaderToGridRows } from './util';
6
6
  import { getSlotVNs } from '../../ui/src/vn';
7
7
  const { renderer, renderEmptyElement } = VxeUI;
@@ -27,6 +27,7 @@ function renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, _rowIndex, co
27
27
  const defaultRowHeight = $xeTable.computeDefaultRowHeight;
28
28
  const headerCellOpts = $xeTable.computeHeaderCellOpts;
29
29
  const rendererOpts = $xeTable.computeRendererOpts;
30
+ const mouseOpts = $xeTable.computeMouseOpts;
30
31
  const currCellHeight = getCalcHeight(headerCellOpts.height) || defaultRowHeight;
31
32
  const { disabledMethod: dragDisabledMethod, isCrossDrag, isPeerDrag } = columnDragOpts;
32
33
  const isLastRow = _rowIndex === headerGroups.length - 1;
@@ -113,7 +114,7 @@ function renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, _rowIndex, co
113
114
  isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(cellParams));
114
115
  }
115
116
  // 按下事件处理
116
- if (mouseConfig || isColDragCell) {
117
+ if (hasEnableConf(mouseConfig, mouseOpts) || isColDragCell) {
117
118
  thOns.mousedown = (evnt) => $xeTable.triggerHeaderCellMousedownEvent(evnt, cellParams);
118
119
  }
119
120
  // 拖拽列事件
@@ -529,7 +530,7 @@ export default {
529
530
  ref: 'refHeaderTHead'
530
531
  }, renderHeads(h, _vm, isGroup, isOptimizeMode, renderHeaderList, renderColumnList))
531
532
  ]),
532
- mouseConfig && mouseOpts.area
533
+ hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area
533
534
  ? h('div', {
534
535
  class: 'vxe-table--cell-area',
535
536
  attrs: {