vxe-table 3.13.2 → 3.13.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/locale/lang/zh-CHT.js +1 -1
  4. package/es/locale/lang/zh-CN.js +1 -1
  5. package/es/style.css +1 -1
  6. package/es/style.min.css +1 -1
  7. package/es/table/render/index.js +29 -6
  8. package/es/table/src/header.js +2 -4
  9. package/es/table/style.css +20 -1
  10. package/es/table/style.min.css +1 -1
  11. package/es/ui/index.js +1 -1
  12. package/es/ui/src/log.js +1 -1
  13. package/es/vxe-table/style.css +20 -1
  14. package/es/vxe-table/style.min.css +1 -1
  15. package/lib/index.css +1 -1
  16. package/lib/index.min.css +1 -1
  17. package/lib/index.umd.js +31 -13
  18. package/lib/index.umd.min.js +1 -1
  19. package/lib/locale/lang/zh-CHT.js +1 -1
  20. package/lib/locale/lang/zh-CHT.min.js +1 -1
  21. package/lib/locale/lang/zh-CHT.umd.js +1 -1
  22. package/lib/locale/lang/zh-CN.js +1 -1
  23. package/lib/locale/lang/zh-CN.min.js +1 -1
  24. package/lib/locale/lang/zh-CN.umd.js +1 -1
  25. package/lib/style.css +1 -1
  26. package/lib/style.min.css +1 -1
  27. package/lib/table/render/index.js +27 -6
  28. package/lib/table/render/index.min.js +1 -1
  29. package/lib/table/src/header.js +1 -4
  30. package/lib/table/src/header.min.js +1 -1
  31. package/lib/table/style/style.css +20 -1
  32. package/lib/table/style/style.min.css +1 -1
  33. package/lib/ui/index.js +1 -1
  34. package/lib/ui/index.min.js +1 -1
  35. package/lib/ui/src/log.js +1 -1
  36. package/lib/ui/src/log.min.js +1 -1
  37. package/lib/vxe-table/style/style.css +20 -1
  38. package/lib/vxe-table/style/style.min.css +1 -1
  39. package/package.json +2 -2
  40. package/packages/locale/lang/zh-CHT.ts +1 -1
  41. package/packages/locale/lang/zh-CN.ts +1 -1
  42. package/packages/table/render/index.ts +30 -6
  43. package/packages/table/src/header.ts +2 -4
  44. package/styles/components/table.scss +30 -1
  45. package/styles/theme/base.scss +1 -0
  46. /package/es/{iconfont.1739871566624.ttf → iconfont.1740013687420.ttf} +0 -0
  47. /package/es/{iconfont.1739871566624.woff → iconfont.1740013687420.woff} +0 -0
  48. /package/es/{iconfont.1739871566624.woff2 → iconfont.1740013687420.woff2} +0 -0
  49. /package/lib/{iconfont.1739871566624.ttf → iconfont.1740013687420.ttf} +0 -0
  50. /package/lib/{iconfont.1739871566624.woff → iconfont.1740013687420.woff} +0 -0
  51. /package/lib/{iconfont.1739871566624.woff2 → iconfont.1740013687420.woff2} +0 -0
@@ -71,11 +71,11 @@ function getCellEditFilterProps(renderOpts, params, value, defaultProps) {
71
71
  function isImmediateCell(renderOpts, params) {
72
72
  return params.$type === 'cell' || getInputImmediateModel(renderOpts);
73
73
  }
74
- function getCellLabelVNs(h, renderOpts, params, cellLabel) {
74
+ function getCellLabelVNs(h, renderOpts, params, cellLabel, opts) {
75
75
  const { placeholder } = renderOpts;
76
76
  return [
77
77
  h('span', {
78
- class: 'vxe-cell--label'
78
+ class: ['vxe-cell--label', opts ? opts.class : '']
79
79
  }, placeholder && isEmptyValue(cellLabel)
80
80
  ? [
81
81
  h('span', {
@@ -626,11 +626,12 @@ renderer.mixin({
626
626
  tableAutoFocus: 'input',
627
627
  renderTableEdit: defaultEditRender,
628
628
  renderTableCell(h, renderOpts, params) {
629
- const { props = {} } = renderOpts;
629
+ const { props = {}, showNegativeStatus } = renderOpts;
630
630
  const { row, column } = params;
631
631
  const { type } = props;
632
632
  let cellValue = XEUtils.get(row, column.field);
633
- if (cellValue) {
633
+ let isNegative = false;
634
+ if (!isEmptyValue(cellValue)) {
634
635
  const numberInputConfig = getConfig().numberInput || {};
635
636
  if (type === 'float') {
636
637
  const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
@@ -639,12 +640,23 @@ renderer.mixin({
639
640
  if (!autoFill) {
640
641
  cellValue = XEUtils.toNumber(cellValue);
641
642
  }
643
+ if (showNegativeStatus) {
644
+ if (cellValue < 0) {
645
+ isNegative = true;
646
+ }
647
+ }
642
648
  }
643
649
  else if (type === 'amount') {
644
650
  const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
645
651
  const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2);
646
652
  const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false);
647
- cellValue = XEUtils.commafy(XEUtils.toNumber(cellValue), { digits });
653
+ cellValue = XEUtils.toNumber(cellValue);
654
+ if (showNegativeStatus) {
655
+ if (cellValue < 0) {
656
+ isNegative = true;
657
+ }
658
+ }
659
+ cellValue = XEUtils.commafy(cellValue, { digits });
648
660
  if (!autoFill) {
649
661
  const [iStr, dStr] = cellValue.split('.');
650
662
  if (dStr) {
@@ -656,8 +668,19 @@ renderer.mixin({
656
668
  cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`;
657
669
  }
658
670
  }
671
+ else {
672
+ if (showNegativeStatus) {
673
+ if (XEUtils.toNumber(cellValue) < 0) {
674
+ isNegative = true;
675
+ }
676
+ }
677
+ }
659
678
  }
660
- return getCellLabelVNs(h, renderOpts, params, cellValue);
679
+ return getCellLabelVNs(h, renderOpts, params, cellValue, isNegative
680
+ ? {
681
+ class: 'is--negative'
682
+ }
683
+ : {});
661
684
  },
662
685
  renderTableFooter(h, renderOpts, params) {
663
686
  const { props = {} } = renderOpts;
@@ -12,7 +12,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
12
12
  const tableReactData = $xeTable;
13
13
  const tableInternalData = $xeTable;
14
14
  const { fixedType } = props;
15
- const { resizable: allResizable, border, columnKey, headerCellClassName, headerCellStyle, showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign, mouseConfig } = tableProps;
15
+ const { resizable: allResizable, columnKey, headerCellClassName, headerCellStyle, showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign, mouseConfig } = tableProps;
16
16
  const { currentColumn, scrollXLoad, scrollYLoad, overflowX } = tableReactData;
17
17
  const { scrollXStore } = tableInternalData;
18
18
  const columnOpts = $xeTable.computeColumnOpts;
@@ -138,9 +138,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
138
138
  */
139
139
  !fixedHiddenColumn && showResizable
140
140
  ? h('div', {
141
- class: ['vxe-cell--col-resizable', {
142
- 'is--line': !border || border === 'none'
143
- }],
141
+ class: 'vxe-cell--col-resizable',
144
142
  on: {
145
143
  mousedown: (evnt) => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
146
144
  dblclick: (evnt) => $xeTable.handleColResizeDblclickEvent(evnt, cellParams)
@@ -1932,6 +1932,11 @@
1932
1932
  min-height: 100%;
1933
1933
  }
1934
1934
 
1935
+ /*负数显示红色*/
1936
+ .vxe-cell--label.is--negative {
1937
+ color: var(--vxe-ui-table-cell-negative-color);
1938
+ }
1939
+
1935
1940
  .vxe-table--checkbox-range,
1936
1941
  .vxe-table--cell-main-area,
1937
1942
  .vxe-table--cell-extend-area,
@@ -1942,7 +1947,7 @@
1942
1947
  display: none;
1943
1948
  position: absolute;
1944
1949
  pointer-events: none;
1945
- z-index: 6;
1950
+ z-index: 1;
1946
1951
  }
1947
1952
 
1948
1953
  .vxe-table--header-wrapper .vxe-table--cell-col-status-area {
@@ -2566,6 +2571,20 @@
2566
2571
  .vxe-table--render-default.border--default.sx-pos--bottom .vxe-table--scroll-x-wrapper::before, .vxe-table--render-default.border--full.sx-pos--bottom .vxe-table--scroll-x-wrapper::before, .vxe-table--render-default.border--outer.sx-pos--bottom .vxe-table--scroll-x-wrapper::before, .vxe-table--render-default.border--inner.sx-pos--bottom .vxe-table--scroll-x-wrapper::before {
2567
2572
  top: -1px;
2568
2573
  }
2574
+ .vxe-table--render-default.border--default .vxe-cell--col-resizable:before, .vxe-table--render-default.border--default .vxe-cell--col-resizable:after, .vxe-table--render-default.border--none .vxe-cell--col-resizable:before, .vxe-table--render-default.border--none .vxe-cell--col-resizable:after, .vxe-table--render-default.border--outer .vxe-cell--col-resizable:before, .vxe-table--render-default.border--outer .vxe-cell--col-resizable:after, .vxe-table--render-default.border--inner .vxe-cell--col-resizable:before, .vxe-table--render-default.border--inner .vxe-cell--col-resizable:after {
2575
+ content: "";
2576
+ display: inline-block;
2577
+ vertical-align: middle;
2578
+ }
2579
+ .vxe-table--render-default.border--default .vxe-cell--col-resizable:before, .vxe-table--render-default.border--none .vxe-cell--col-resizable:before, .vxe-table--render-default.border--outer .vxe-cell--col-resizable:before, .vxe-table--render-default.border--inner .vxe-cell--col-resizable:before {
2580
+ width: 1px;
2581
+ height: 50%;
2582
+ background-color: var(--vxe-ui-table-resizable-line-color);
2583
+ }
2584
+ .vxe-table--render-default.border--default .vxe-cell--col-resizable:after, .vxe-table--render-default.border--none .vxe-cell--col-resizable:after, .vxe-table--render-default.border--outer .vxe-cell--col-resizable:after, .vxe-table--render-default.border--inner .vxe-cell--col-resizable:after {
2585
+ width: 0;
2586
+ height: 100%;
2587
+ }
2569
2588
  .vxe-table--render-default.border--default .vxe-table--header-wrapper, .vxe-table--render-default.border--full .vxe-table--header-wrapper, .vxe-table--render-default.border--outer .vxe-table--header-wrapper {
2570
2589
  background-color: var(--vxe-ui-table-header-background-color);
2571
2590
  }