vxe-table 4.11.3 → 4.11.5

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-CN.js +1 -1
  22. package/lib/locale/lang/zh-CN.min.js +1 -1
  23. package/lib/locale/lang/zh-CN.umd.js +1 -1
  24. package/lib/style.css +1 -1
  25. package/lib/style.min.css +1 -1
  26. package/lib/table/render/index.js +27 -6
  27. package/lib/table/render/index.min.js +1 -1
  28. package/lib/table/src/header.js +1 -4
  29. package/lib/table/src/header.min.js +1 -1
  30. package/lib/table/style/style.css +20 -1
  31. package/lib/table/style/style.min.css +1 -1
  32. package/lib/ui/index.js +1 -1
  33. package/lib/ui/index.min.js +1 -1
  34. package/lib/ui/src/log.js +1 -1
  35. package/lib/ui/src/log.min.js +1 -1
  36. package/lib/vxe-table/style/style.css +20 -1
  37. package/lib/vxe-table/style/style.min.css +1 -1
  38. package/package.json +2 -2
  39. package/packages/locale/lang/zh-CHT.ts +1 -1
  40. package/packages/locale/lang/zh-CN.ts +1 -1
  41. package/packages/table/render/index.ts +30 -6
  42. package/packages/table/src/header.ts +2 -4
  43. package/styles/components/table.scss +30 -1
  44. package/styles/theme/base.scss +1 -0
  45. package/styles/variable.scss +1 -0
  46. /package/es/{iconfont.1739874198596.ttf → iconfont.1740013709563.ttf} +0 -0
  47. /package/es/{iconfont.1739874198596.woff → iconfont.1740013709563.woff} +0 -0
  48. /package/es/{iconfont.1739874198596.woff2 → iconfont.1740013709563.woff2} +0 -0
  49. /package/lib/{iconfont.1739874198596.ttf → iconfont.1740013709563.ttf} +0 -0
  50. /package/lib/{iconfont.1739874198596.woff → iconfont.1740013709563.woff} +0 -0
  51. /package/lib/{iconfont.1739874198596.woff2 → iconfont.1740013709563.woff2} +0 -0
@@ -72,11 +72,11 @@ function getCellEditFilterProps(renderOpts, params, value, defaultProps) {
72
72
  function isImmediateCell(renderOpts, params) {
73
73
  return params.$type === 'cell' || getInputImmediateModel(renderOpts);
74
74
  }
75
- function getCellLabelVNs(renderOpts, params, cellLabel) {
75
+ function getCellLabelVNs(renderOpts, params, cellLabel, opts) {
76
76
  const { placeholder } = renderOpts;
77
77
  return [
78
78
  h('span', {
79
- class: 'vxe-cell--label'
79
+ class: ['vxe-cell--label', opts ? opts.class : '']
80
80
  }, placeholder && isEmptyValue(cellLabel)
81
81
  ? [
82
82
  h('span', {
@@ -565,11 +565,12 @@ renderer.mixin({
565
565
  tableAutoFocus: 'input',
566
566
  renderTableEdit: defaultEditRender,
567
567
  renderTableCell(renderOpts, params) {
568
- const { props = {} } = renderOpts;
568
+ const { props = {}, showNegativeStatus } = renderOpts;
569
569
  const { row, column } = params;
570
570
  const { type } = props;
571
571
  let cellValue = XEUtils.get(row, column.field);
572
- if (cellValue) {
572
+ let isNegative = false;
573
+ if (!isEmptyValue(cellValue)) {
573
574
  const numberInputConfig = getConfig().numberInput || {};
574
575
  if (type === 'float') {
575
576
  const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
@@ -578,12 +579,23 @@ renderer.mixin({
578
579
  if (!autoFill) {
579
580
  cellValue = XEUtils.toNumber(cellValue);
580
581
  }
582
+ if (showNegativeStatus) {
583
+ if (cellValue < 0) {
584
+ isNegative = true;
585
+ }
586
+ }
581
587
  }
582
588
  else if (type === 'amount') {
583
589
  const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
584
590
  const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2);
585
591
  const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false);
586
- cellValue = XEUtils.commafy(XEUtils.toNumber(cellValue), { digits });
592
+ cellValue = XEUtils.toNumber(cellValue);
593
+ if (showNegativeStatus) {
594
+ if (cellValue < 0) {
595
+ isNegative = true;
596
+ }
597
+ }
598
+ cellValue = XEUtils.commafy(cellValue, { digits });
587
599
  if (!autoFill) {
588
600
  const [iStr, dStr] = cellValue.split('.');
589
601
  if (dStr) {
@@ -595,8 +607,19 @@ renderer.mixin({
595
607
  cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`;
596
608
  }
597
609
  }
610
+ else {
611
+ if (showNegativeStatus) {
612
+ if (XEUtils.toNumber(cellValue) < 0) {
613
+ isNegative = true;
614
+ }
615
+ }
616
+ }
598
617
  }
599
- return getCellLabelVNs(renderOpts, params, cellValue);
618
+ return getCellLabelVNs(renderOpts, params, cellValue, isNegative
619
+ ? {
620
+ class: 'is--negative'
621
+ }
622
+ : {});
600
623
  },
601
624
  renderTableFooter(renderOpts, params) {
602
625
  const { props = {} } = renderOpts;
@@ -34,7 +34,7 @@ export default defineComponent({
34
34
  };
35
35
  const renderRows = (isGroup, isOptimizeMode, cols, $rowIndex) => {
36
36
  const { fixedType } = props;
37
- const { resizable: allResizable, border, columnKey, headerCellClassName, headerCellStyle, showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign, mouseConfig } = tableProps;
37
+ const { resizable: allResizable, columnKey, headerCellClassName, headerCellStyle, showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign, mouseConfig } = tableProps;
38
38
  const { currentColumn, scrollXLoad, scrollYLoad, overflowX } = tableReactData;
39
39
  const { scrollXStore } = tableInternalData;
40
40
  const columnOpts = computeColumnOpts.value;
@@ -154,9 +154,7 @@ export default defineComponent({
154
154
  */
155
155
  !fixedHiddenColumn && showResizable
156
156
  ? h('div', {
157
- class: ['vxe-cell--col-resizable', {
158
- 'is--line': !border || border === 'none'
159
- }],
157
+ class: 'vxe-cell--col-resizable',
160
158
  onMousedown: (evnt) => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
161
159
  onDblclick: (evnt) => $xeTable.handleColResizeDblclickEvent(evnt, cellParams)
162
160
  })
@@ -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
  }