vxe-table 3.15.48 → 3.15.49

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 (43) hide show
  1. package/es/index.esm.js +1 -2
  2. package/es/style.css +1 -1
  3. package/es/table/src/methods.js +26 -10
  4. package/es/table/src/table.js +2 -2
  5. package/es/ui/index.js +1 -1
  6. package/es/ui/src/log.js +1 -1
  7. package/lib/index.common.js +1 -2
  8. package/lib/index.umd.js +2284 -938
  9. package/lib/index.umd.min.js +1 -1
  10. package/lib/style.css +1 -1
  11. package/lib/table/src/methods.js +23 -13
  12. package/lib/table/src/methods.min.js +1 -1
  13. package/lib/table/src/table.js +2 -1
  14. package/lib/table/src/table.min.js +1 -1
  15. package/lib/ui/index.js +1 -1
  16. package/lib/ui/index.min.js +1 -1
  17. package/lib/ui/src/log.js +1 -1
  18. package/lib/ui/src/log.min.js +1 -1
  19. package/lib/v-x-e-table/index.js +1 -2
  20. package/lib/v-x-e-table/index.min.js +1 -1
  21. package/lib/vxe-colgroup/index.js +1 -2
  22. package/lib/vxe-colgroup/index.min.js +1 -1
  23. package/lib/vxe-column/index.js +1 -2
  24. package/lib/vxe-column/index.min.js +1 -1
  25. package/lib/vxe-grid/index.js +1 -2
  26. package/lib/vxe-grid/index.min.js +1 -1
  27. package/lib/vxe-table/index.js +1 -2
  28. package/lib/vxe-table/index.min.js +1 -1
  29. package/lib/vxe-toolbar/index.js +1 -2
  30. package/lib/vxe-toolbar/index.min.js +1 -1
  31. package/lib/vxe-ui/index.js +1 -2
  32. package/lib/vxe-ui/index.min.js +1 -1
  33. package/lib/vxe-v-x-e-table/index.js +1 -2
  34. package/lib/vxe-v-x-e-table/index.min.js +1 -1
  35. package/package.json +1 -1
  36. package/packages/table/src/methods.ts +23 -10
  37. package/packages/table/src/table.ts +2 -2
  38. /package/es/{iconfont.1750813664386.ttf → iconfont.1750995593907.ttf} +0 -0
  39. /package/es/{iconfont.1750813664386.woff → iconfont.1750995593907.woff} +0 -0
  40. /package/es/{iconfont.1750813664386.woff2 → iconfont.1750995593907.woff2} +0 -0
  41. /package/lib/{iconfont.1750813664386.ttf → iconfont.1750995593907.ttf} +0 -0
  42. /package/lib/{iconfont.1750813664386.woff → iconfont.1750995593907.woff} +0 -0
  43. /package/lib/{iconfont.1750813664386.woff2 → iconfont.1750995593907.woff2} +0 -0
@@ -7996,7 +7996,8 @@ const Methods = {
7996
7996
  const childList = vals[2];
7997
7997
  let sLen = 0; // 已选
7998
7998
  let hLen = 0; // 半选
7999
- let vLen = 0; // 有效行
7999
+ let vLen = 0; // 有效子行
8000
+ const cLen = childList.length; // 有效子行
8000
8001
  childList.forEach(checkMethod ? item => {
8001
8002
  const childRowid = handleGetRowId(item);
8002
8003
  const isSelect = checkField ? _xeUtils.default.get(item, checkField) : selectCheckboxMaps[childRowid];
@@ -8027,18 +8028,25 @@ const Methods = {
8027
8028
  }
8028
8029
  vLen++;
8029
8030
  });
8030
- let isSelected = sLen >= vLen && (vLen >= 1 || hLen >= 1);
8031
- if (checkMethod) {
8032
- if (checkMethod({
8033
- $table: $xeTable,
8034
- row
8035
- })) {
8036
- isSelected = sLen >= vLen;
8031
+ let isSelected = false;
8032
+ if (cLen > 0) {
8033
+ if (vLen > 0) {
8034
+ isSelected = (sLen > 0 || hLen > 0) && sLen >= vLen;
8037
8035
  } else {
8038
- isSelected = selectCheckboxMaps[rowid];
8036
+ // 如果存在子项禁用
8037
+ if (sLen > 0 && sLen >= vLen) {
8038
+ isSelected = true;
8039
+ } else if (selectCheckboxMaps[rowid]) {
8040
+ isSelected = true;
8041
+ } else {
8042
+ isSelected = false;
8043
+ }
8039
8044
  }
8045
+ } else {
8046
+ // 如果无子项
8047
+ isSelected = selectCheckboxMaps[rowid];
8040
8048
  }
8041
- const halfSelect = !isSelected && (sLen >= 1 || hLen >= 1);
8049
+ const halfSelect = !isSelected && (sLen > 0 || hLen > 0);
8042
8050
  if (checkField) {
8043
8051
  _xeUtils.default.set(row, checkField, isSelected);
8044
8052
  }
@@ -8096,7 +8104,9 @@ const Methods = {
8096
8104
  handleGetRowId
8097
8105
  } = (0, _util.createHandleGetRowId)($xeTable);
8098
8106
  let sLen = 0; // 已选
8107
+ let dsLen = 0; // 禁用的已选
8099
8108
  let hLen = 0; // 半选
8109
+ let dhLen = 0; // 禁用的半选
8100
8110
  let vLen = 0; // 有效行
8101
8111
  const rootList = treeConfig ? afterTreeFullData : isRowGroupStatus ? afterGroupFullData : afterFullData;
8102
8112
  rootList.forEach(checkMethod ? row => {
@@ -8114,9 +8124,9 @@ const Methods = {
8114
8124
  vLen++;
8115
8125
  } else {
8116
8126
  if (selected) {
8117
- sLen++;
8127
+ dsLen++;
8118
8128
  } else if (treeIndeterminateRowMaps[childRowid]) {
8119
- hLen++;
8129
+ dhLen++;
8120
8130
  }
8121
8131
  }
8122
8132
  } : row => {
@@ -8130,7 +8140,7 @@ const Methods = {
8130
8140
  vLen++;
8131
8141
  });
8132
8142
  const isSelected = rootList.length > 0 ? vLen > 0 ? sLen >= vLen : sLen >= rootList.length : false;
8133
- let halfSelect = !isSelected && (sLen >= 1 || hLen >= 1);
8143
+ let halfSelect = !isSelected && (sLen > 0 || hLen > 0 || dsLen > 0 || dhLen > 0);
8134
8144
  // 如果复选框启用保留记录,当保留数据存在时显示半选
8135
8145
  if (!isSelected && !halfSelect && showReserveStatus) {
8136
8146
  halfSelect = !_xeUtils.default.isEmpty(checkboxReserveRowMap);