vxe-table 3.11.30-beta.0 → 3.11.30
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.
- package/es/style.css +1 -1
- package/es/table/module/keyboard/mixin.js +2 -1
- package/es/table/src/methods.js +233 -272
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +264 -313
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/keyboard/mixin.js +2 -3
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/src/methods.js +260 -306
- package/lib/table/src/methods.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/module/keyboard/mixin.ts +3 -1
- package/packages/table/src/methods.ts +242 -262
- /package/es/{iconfont.1734070646835.ttf → iconfont.1734099731402.ttf} +0 -0
- /package/es/{iconfont.1734070646835.woff → iconfont.1734099731402.woff} +0 -0
- /package/es/{iconfont.1734070646835.woff2 → iconfont.1734099731402.woff2} +0 -0
- /package/lib/{iconfont.1734070646835.ttf → iconfont.1734099731402.ttf} +0 -0
- /package/lib/{iconfont.1734070646835.woff → iconfont.1734099731402.woff} +0 -0
- /package/lib/{iconfont.1734070646835.woff2 → iconfont.1734099731402.woff2} +0 -0
package/lib/index.umd.js
CHANGED
|
@@ -2220,7 +2220,7 @@ function getClass(property, params) {
|
|
|
2220
2220
|
;// CONCATENATED MODULE: ./packages/ui/index.ts
|
|
2221
2221
|
|
|
2222
2222
|
|
|
2223
|
-
const version = "3.11.30
|
|
2223
|
+
const version = "3.11.30";
|
|
2224
2224
|
core_.VxeUI.version = version;
|
|
2225
2225
|
core_.VxeUI.tableVersion = version;
|
|
2226
2226
|
core_.VxeUI.setConfig({
|
|
@@ -2790,7 +2790,7 @@ function isNodeElement(elem) {
|
|
|
2790
2790
|
const {
|
|
2791
2791
|
log: log_log
|
|
2792
2792
|
} = core_.VxeUI;
|
|
2793
|
-
const log_version = `table v${"3.11.30
|
|
2793
|
+
const log_version = `table v${"3.11.30"}`;
|
|
2794
2794
|
const warnLog = log_log.create('warn', log_version);
|
|
2795
2795
|
const errLog = log_log.create('error', log_version);
|
|
2796
2796
|
;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
|
|
@@ -9547,11 +9547,12 @@ const Methods = {
|
|
|
9547
9547
|
}
|
|
9548
9548
|
},
|
|
9549
9549
|
handleCheckedCheckboxRow(rows, value, isForce) {
|
|
9550
|
+
const $xeTable = this;
|
|
9550
9551
|
if (rows && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
|
|
9551
9552
|
rows = [rows];
|
|
9552
9553
|
}
|
|
9553
|
-
|
|
9554
|
-
|
|
9554
|
+
$xeTable.handleBatchSelectRows(rows, !!value, isForce);
|
|
9555
|
+
$xeTable.checkSelectionStatus();
|
|
9555
9556
|
return this.$nextTick();
|
|
9556
9557
|
},
|
|
9557
9558
|
/**
|
|
@@ -9584,271 +9585,118 @@ const Methods = {
|
|
|
9584
9585
|
return !!treeIndeterminateMaps[getRowid(this, row)] && !this.isCheckedByCheckboxRow(row);
|
|
9585
9586
|
},
|
|
9586
9587
|
/**
|
|
9587
|
-
*
|
|
9588
|
+
* 切换选中
|
|
9588
9589
|
* 多选,行选中事件
|
|
9589
|
-
* value 选中true 不选false 半选-1
|
|
9590
9590
|
*/
|
|
9591
|
-
handleBatchSelectRows(rows,
|
|
9591
|
+
handleBatchSelectRows(rows, checked, isForce) {
|
|
9592
9592
|
const $xeTable = this;
|
|
9593
|
+
const props = $xeTable;
|
|
9594
|
+
const reactData = $xeTable;
|
|
9593
9595
|
const {
|
|
9594
9596
|
treeConfig
|
|
9595
|
-
} =
|
|
9597
|
+
} = props;
|
|
9596
9598
|
const {
|
|
9597
|
-
selectCheckboxMaps
|
|
9598
|
-
|
|
9599
|
-
|
|
9599
|
+
selectCheckboxMaps
|
|
9600
|
+
} = reactData;
|
|
9601
|
+
const selectRowMaps = Object.assign({}, selectCheckboxMaps);
|
|
9602
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
9603
|
+
const {
|
|
9604
|
+
transform,
|
|
9605
|
+
mapChildrenField
|
|
9606
|
+
} = treeOpts;
|
|
9607
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
9608
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
9600
9609
|
const {
|
|
9601
9610
|
checkField,
|
|
9602
9611
|
checkStrictly,
|
|
9603
9612
|
checkMethod
|
|
9604
9613
|
} = checkboxOpts;
|
|
9614
|
+
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
9605
9615
|
if (checkField) {
|
|
9616
|
+
// 树结构
|
|
9606
9617
|
if (treeConfig && !checkStrictly) {
|
|
9607
|
-
|
|
9608
|
-
|
|
9609
|
-
row
|
|
9610
|
-
}, value, isForce);
|
|
9611
|
-
});
|
|
9612
|
-
} else {
|
|
9613
|
-
rows.forEach(row => {
|
|
9618
|
+
// 更新子节点状态
|
|
9619
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(rows, row => {
|
|
9614
9620
|
if (isForce || !checkMethod || checkMethod({
|
|
9615
9621
|
row
|
|
9616
9622
|
})) {
|
|
9617
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField,
|
|
9618
|
-
|
|
9623
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, checked);
|
|
9624
|
+
if (indeterminateField) {
|
|
9625
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
|
|
9626
|
+
}
|
|
9627
|
+
$xeTable.handleCheckboxReserveRow(row, checked);
|
|
9619
9628
|
}
|
|
9629
|
+
}, {
|
|
9630
|
+
children: transform ? mapChildrenField : childrenField
|
|
9620
9631
|
});
|
|
9621
|
-
|
|
9622
|
-
|
|
9623
|
-
if (treeConfig && !checkStrictly) {
|
|
9624
|
-
rows.forEach(row => {
|
|
9625
|
-
this.handleSelectRow({
|
|
9626
|
-
row
|
|
9627
|
-
}, value, isForce);
|
|
9628
|
-
});
|
|
9632
|
+
reactData.selectCheckboxMaps = selectRowMaps;
|
|
9633
|
+
return;
|
|
9629
9634
|
} else {
|
|
9630
|
-
|
|
9635
|
+
// 列表
|
|
9631
9636
|
rows.forEach(row => {
|
|
9632
|
-
const rowid = getRowid($xeTable, row);
|
|
9633
9637
|
if (isForce || !checkMethod || checkMethod({
|
|
9634
9638
|
row
|
|
9635
9639
|
})) {
|
|
9636
|
-
|
|
9637
|
-
|
|
9638
|
-
selectRowMaps[rowid] = row;
|
|
9639
|
-
}
|
|
9640
|
-
} else {
|
|
9641
|
-
if (selectRowMaps[rowid]) {
|
|
9642
|
-
delete selectRowMaps[rowid];
|
|
9643
|
-
}
|
|
9644
|
-
}
|
|
9645
|
-
this.handleCheckboxReserveRow(row, value);
|
|
9640
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, checked);
|
|
9641
|
+
$xeTable.handleCheckboxReserveRow(row, checked);
|
|
9646
9642
|
}
|
|
9647
9643
|
});
|
|
9648
|
-
this.selectCheckboxMaps = selectRowMaps;
|
|
9649
9644
|
}
|
|
9645
|
+
reactData.selectCheckboxMaps = selectRowMaps;
|
|
9646
|
+
return;
|
|
9650
9647
|
}
|
|
9651
|
-
|
|
9652
|
-
|
|
9653
|
-
|
|
9654
|
-
|
|
9655
|
-
|
|
9656
|
-
handleSelectRow({
|
|
9657
|
-
row
|
|
9658
|
-
}, value, isForce) {
|
|
9659
|
-
const {
|
|
9660
|
-
selectCheckboxMaps,
|
|
9661
|
-
afterFullData,
|
|
9662
|
-
treeConfig,
|
|
9663
|
-
treeOpts,
|
|
9664
|
-
treeIndeterminateMaps,
|
|
9665
|
-
checkboxOpts
|
|
9666
|
-
} = this;
|
|
9667
|
-
const {
|
|
9668
|
-
checkField,
|
|
9669
|
-
checkStrictly,
|
|
9670
|
-
checkMethod
|
|
9671
|
-
} = checkboxOpts;
|
|
9672
|
-
const selectRowMaps = {
|
|
9673
|
-
...selectCheckboxMaps
|
|
9674
|
-
};
|
|
9675
|
-
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
9676
|
-
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
9677
|
-
const rowid = getRowid(this, row);
|
|
9678
|
-
if (checkField) {
|
|
9679
|
-
if (treeConfig && !checkStrictly) {
|
|
9680
|
-
if (value === -1) {
|
|
9681
|
-
if (!treeIndeterminateMaps[rowid]) {
|
|
9682
|
-
if (indeterminateField) {
|
|
9683
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, true);
|
|
9684
|
-
}
|
|
9685
|
-
treeIndeterminateMaps[rowid] = row;
|
|
9686
|
-
}
|
|
9687
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, false);
|
|
9688
|
-
} else {
|
|
9689
|
-
// 更新子节点状态
|
|
9690
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([row], item => {
|
|
9691
|
-
if (this.eqRow(item, row) || isForce || !checkMethod || checkMethod({
|
|
9692
|
-
row: item
|
|
9693
|
-
})) {
|
|
9694
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item, checkField, value);
|
|
9695
|
-
if (indeterminateField) {
|
|
9696
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
|
|
9697
|
-
}
|
|
9698
|
-
delete treeIndeterminateMaps[getRowid(this, item)];
|
|
9699
|
-
this.handleCheckboxReserveRow(row, value);
|
|
9700
|
-
}
|
|
9701
|
-
}, {
|
|
9702
|
-
children: childrenField
|
|
9703
|
-
});
|
|
9704
|
-
}
|
|
9705
|
-
// 如果存在父节点,更新父节点状态
|
|
9706
|
-
const matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, item => this.eqRow(item, row), {
|
|
9707
|
-
children: childrenField
|
|
9708
|
-
});
|
|
9709
|
-
if (matchObj && matchObj.parent) {
|
|
9710
|
-
let parentStatus;
|
|
9711
|
-
const vItems = [];
|
|
9712
|
-
const vItemMaps = {};
|
|
9713
|
-
if (!isForce && checkMethod) {
|
|
9714
|
-
matchObj.items.forEach(item => {
|
|
9715
|
-
if (checkMethod({
|
|
9716
|
-
row: item
|
|
9717
|
-
})) {
|
|
9718
|
-
const itemRid = getRowid(this, item);
|
|
9719
|
-
vItemMaps[itemRid] = item;
|
|
9720
|
-
vItems.push(item);
|
|
9721
|
-
}
|
|
9722
|
-
});
|
|
9723
|
-
} else {
|
|
9724
|
-
matchObj.items.forEach(item => {
|
|
9725
|
-
const itemRid = getRowid(this, item);
|
|
9726
|
-
vItemMaps[itemRid] = item;
|
|
9727
|
-
vItems.push(item);
|
|
9728
|
-
});
|
|
9729
|
-
}
|
|
9730
|
-
const indeterminatesItem = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().find(matchObj.items, item => !!treeIndeterminateMaps[getRowid(this, item)]);
|
|
9731
|
-
if (indeterminatesItem) {
|
|
9732
|
-
parentStatus = -1;
|
|
9733
|
-
} else {
|
|
9734
|
-
const selectItems = [];
|
|
9735
|
-
matchObj.items.forEach(item => {
|
|
9736
|
-
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(item, checkField)) {
|
|
9737
|
-
selectItems.push(item);
|
|
9738
|
-
}
|
|
9739
|
-
});
|
|
9740
|
-
parentStatus = selectItems.filter(item => vItemMaps[getRowid(this, item)]).length === vItems.length ? true : selectItems.length || value === -1 ? -1 : false;
|
|
9741
|
-
}
|
|
9742
|
-
this.selectCheckboxMaps = selectRowMaps;
|
|
9743
|
-
return this.handleSelectRow({
|
|
9744
|
-
row: matchObj.parent
|
|
9745
|
-
}, parentStatus, isForce);
|
|
9746
|
-
}
|
|
9747
|
-
} else {
|
|
9748
|
-
if (isForce || !checkMethod || checkMethod({
|
|
9749
|
-
row
|
|
9750
|
-
})) {
|
|
9751
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, value);
|
|
9752
|
-
this.handleCheckboxReserveRow(row, value);
|
|
9753
|
-
}
|
|
9754
|
-
}
|
|
9755
|
-
} else {
|
|
9756
|
-
if (treeConfig && !checkStrictly) {
|
|
9757
|
-
if (value === -1) {
|
|
9758
|
-
if (!treeIndeterminateMaps[rowid]) {
|
|
9759
|
-
if (indeterminateField) {
|
|
9760
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, true);
|
|
9761
|
-
}
|
|
9762
|
-
treeIndeterminateMaps[rowid] = row;
|
|
9763
|
-
}
|
|
9764
|
-
if (selectRowMaps[rowid]) {
|
|
9765
|
-
delete selectRowMaps[rowid];
|
|
9766
|
-
}
|
|
9767
|
-
} else {
|
|
9768
|
-
// 更新子节点状态
|
|
9769
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([row], item => {
|
|
9770
|
-
const itemRid = getRowid(this, item);
|
|
9771
|
-
if (this.eqRow(item, row) || isForce || !checkMethod || checkMethod({
|
|
9772
|
-
row: item
|
|
9773
|
-
})) {
|
|
9774
|
-
if (value) {
|
|
9775
|
-
selectRowMaps[itemRid] = item;
|
|
9776
|
-
} else {
|
|
9777
|
-
if (selectRowMaps[itemRid]) {
|
|
9778
|
-
delete selectRowMaps[itemRid];
|
|
9779
|
-
}
|
|
9780
|
-
}
|
|
9781
|
-
if (indeterminateField) {
|
|
9782
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
|
|
9783
|
-
}
|
|
9784
|
-
delete treeIndeterminateMaps[getRowid(this, item)];
|
|
9785
|
-
this.handleCheckboxReserveRow(row, value);
|
|
9786
|
-
}
|
|
9787
|
-
}, {
|
|
9788
|
-
children: childrenField
|
|
9789
|
-
});
|
|
9790
|
-
}
|
|
9791
|
-
// 如果存在父节点,更新父节点状态
|
|
9792
|
-
const matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, item => this.eqRow(item, row), {
|
|
9793
|
-
children: childrenField
|
|
9794
|
-
});
|
|
9795
|
-
if (matchObj && matchObj.parent) {
|
|
9796
|
-
let parentStatus;
|
|
9797
|
-
const vItems = [];
|
|
9798
|
-
const vItemMaps = {};
|
|
9799
|
-
if (!isForce && checkMethod) {
|
|
9800
|
-
matchObj.items.forEach(item => {
|
|
9801
|
-
if (checkMethod({
|
|
9802
|
-
row: item
|
|
9803
|
-
})) {
|
|
9804
|
-
const itemRid = getRowid(this, item);
|
|
9805
|
-
vItemMaps[itemRid] = item;
|
|
9806
|
-
vItems.push(item);
|
|
9807
|
-
}
|
|
9808
|
-
});
|
|
9809
|
-
} else {
|
|
9810
|
-
matchObj.items.forEach(item => {
|
|
9811
|
-
const itemRid = getRowid(this, item);
|
|
9812
|
-
vItemMaps[itemRid] = item;
|
|
9813
|
-
vItems.push(item);
|
|
9814
|
-
});
|
|
9815
|
-
}
|
|
9816
|
-
const indeterminatesItem = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().find(matchObj.items, item => !!treeIndeterminateMaps[getRowid(this, item)]);
|
|
9817
|
-
if (indeterminatesItem) {
|
|
9818
|
-
parentStatus = -1;
|
|
9819
|
-
} else {
|
|
9820
|
-
const selectItems = [];
|
|
9821
|
-
matchObj.items.forEach(item => {
|
|
9822
|
-
const itemRid = getRowid(this, item);
|
|
9823
|
-
if (selectRowMaps[itemRid]) {
|
|
9824
|
-
selectItems.push(item);
|
|
9825
|
-
}
|
|
9826
|
-
});
|
|
9827
|
-
parentStatus = selectItems.filter(item => vItemMaps[getRowid(this, item)]).length === vItems.length ? true : selectItems.length || value === -1 ? -1 : false;
|
|
9828
|
-
}
|
|
9829
|
-
this.selectCheckboxMaps = selectRowMaps;
|
|
9830
|
-
return this.handleSelectRow({
|
|
9831
|
-
row: matchObj.parent
|
|
9832
|
-
}, parentStatus, isForce);
|
|
9833
|
-
}
|
|
9834
|
-
} else {
|
|
9648
|
+
// 树结构
|
|
9649
|
+
if (treeConfig && !checkStrictly) {
|
|
9650
|
+
// 更新子节点状态
|
|
9651
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(rows, row => {
|
|
9652
|
+
const rowid = getRowid($xeTable, row);
|
|
9835
9653
|
if (isForce || !checkMethod || checkMethod({
|
|
9836
9654
|
row
|
|
9837
9655
|
})) {
|
|
9838
|
-
if (
|
|
9839
|
-
|
|
9840
|
-
selectRowMaps[rowid] = row;
|
|
9841
|
-
}
|
|
9656
|
+
if (checked) {
|
|
9657
|
+
selectRowMaps[rowid] = row;
|
|
9842
9658
|
} else {
|
|
9843
9659
|
if (selectRowMaps[rowid]) {
|
|
9844
9660
|
delete selectRowMaps[rowid];
|
|
9845
9661
|
}
|
|
9846
9662
|
}
|
|
9847
|
-
|
|
9663
|
+
$xeTable.handleCheckboxReserveRow(row, checked);
|
|
9848
9664
|
}
|
|
9849
|
-
}
|
|
9665
|
+
}, {
|
|
9666
|
+
children: transform ? mapChildrenField : childrenField
|
|
9667
|
+
});
|
|
9668
|
+
reactData.selectCheckboxMaps = selectRowMaps;
|
|
9669
|
+
return;
|
|
9850
9670
|
}
|
|
9851
|
-
|
|
9671
|
+
// 列表
|
|
9672
|
+
rows.forEach(row => {
|
|
9673
|
+
const rowid = getRowid($xeTable, row);
|
|
9674
|
+
if (isForce || !checkMethod || checkMethod({
|
|
9675
|
+
row
|
|
9676
|
+
})) {
|
|
9677
|
+
if (checked) {
|
|
9678
|
+
if (!selectRowMaps[rowid]) {
|
|
9679
|
+
selectRowMaps[rowid] = row;
|
|
9680
|
+
}
|
|
9681
|
+
} else {
|
|
9682
|
+
if (selectRowMaps[rowid]) {
|
|
9683
|
+
delete selectRowMaps[rowid];
|
|
9684
|
+
}
|
|
9685
|
+
}
|
|
9686
|
+
$xeTable.handleCheckboxReserveRow(row, checked);
|
|
9687
|
+
}
|
|
9688
|
+
});
|
|
9689
|
+
reactData.selectCheckboxMaps = selectRowMaps;
|
|
9690
|
+
},
|
|
9691
|
+
/**
|
|
9692
|
+
* 即将移除
|
|
9693
|
+
* @deprecated
|
|
9694
|
+
*/
|
|
9695
|
+
handleSelectRow({
|
|
9696
|
+
row
|
|
9697
|
+
}, checked, isForce) {
|
|
9698
|
+
const $xeTable = this;
|
|
9699
|
+
$xeTable.handleBatchSelectRows([row], checked, isForce);
|
|
9852
9700
|
},
|
|
9853
9701
|
handleToggleCheckRowEvent(evnt, params) {
|
|
9854
9702
|
const {
|
|
@@ -9865,20 +9713,20 @@ const Methods = {
|
|
|
9865
9713
|
if (trigger === 'manual') {
|
|
9866
9714
|
return;
|
|
9867
9715
|
}
|
|
9868
|
-
let
|
|
9716
|
+
let checked = false;
|
|
9869
9717
|
if (checkField) {
|
|
9870
|
-
|
|
9718
|
+
checked = !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField);
|
|
9871
9719
|
} else {
|
|
9872
|
-
|
|
9720
|
+
checked = !selectCheckboxMaps[getRowid(this, row)];
|
|
9873
9721
|
}
|
|
9874
9722
|
if (evnt) {
|
|
9875
|
-
this.triggerCheckRowEvent(evnt, params,
|
|
9723
|
+
this.triggerCheckRowEvent(evnt, params, checked);
|
|
9876
9724
|
} else {
|
|
9877
|
-
this.handleSelectRow(params,
|
|
9725
|
+
this.handleSelectRow(params, checked);
|
|
9878
9726
|
this.checkSelectionStatus();
|
|
9879
9727
|
}
|
|
9880
9728
|
},
|
|
9881
|
-
triggerCheckRowEvent(evnt, params,
|
|
9729
|
+
triggerCheckRowEvent(evnt, params, checked) {
|
|
9882
9730
|
const {
|
|
9883
9731
|
checkboxOpts,
|
|
9884
9732
|
afterFullData
|
|
@@ -9914,13 +9762,13 @@ const Methods = {
|
|
|
9914
9762
|
if (!checkMethod || checkMethod({
|
|
9915
9763
|
row
|
|
9916
9764
|
})) {
|
|
9917
|
-
this.handleSelectRow(params,
|
|
9765
|
+
this.handleSelectRow(params, checked);
|
|
9918
9766
|
this.checkSelectionStatus();
|
|
9919
9767
|
this.emitEvent('checkbox-change', Object.assign({
|
|
9920
9768
|
records: this.getCheckboxRecords(),
|
|
9921
9769
|
reserves: this.getCheckboxReserveRecords(),
|
|
9922
9770
|
indeterminates: this.getCheckboxIndeterminateRecords(),
|
|
9923
|
-
checked
|
|
9771
|
+
checked
|
|
9924
9772
|
}, params), evnt);
|
|
9925
9773
|
}
|
|
9926
9774
|
},
|
|
@@ -9928,6 +9776,7 @@ const Methods = {
|
|
|
9928
9776
|
* 多选,切换某一行的选中状态
|
|
9929
9777
|
*/
|
|
9930
9778
|
toggleCheckboxRow(row) {
|
|
9779
|
+
const $xeTable = this;
|
|
9931
9780
|
const {
|
|
9932
9781
|
selectCheckboxMaps,
|
|
9933
9782
|
checkboxOpts
|
|
@@ -9935,14 +9784,14 @@ const Methods = {
|
|
|
9935
9784
|
const {
|
|
9936
9785
|
checkField
|
|
9937
9786
|
} = checkboxOpts;
|
|
9938
|
-
const
|
|
9939
|
-
|
|
9940
|
-
|
|
9941
|
-
|
|
9942
|
-
this.checkSelectionStatus();
|
|
9943
|
-
return this.$nextTick();
|
|
9787
|
+
const checked = checkField ? !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) : !selectCheckboxMaps[getRowid($xeTable, row)];
|
|
9788
|
+
$xeTable.handleBatchSelectRows([row], checked, true);
|
|
9789
|
+
$xeTable.checkSelectionStatus();
|
|
9790
|
+
return $xeTable.$nextTick();
|
|
9944
9791
|
},
|
|
9945
|
-
handleCheckedAllCheckboxRow(
|
|
9792
|
+
handleCheckedAllCheckboxRow(checked, isForce) {
|
|
9793
|
+
const $xeTable = this;
|
|
9794
|
+
const reactData = $xeTable;
|
|
9946
9795
|
const {
|
|
9947
9796
|
afterFullData,
|
|
9948
9797
|
treeConfig,
|
|
@@ -9971,7 +9820,7 @@ const Methods = {
|
|
|
9971
9820
|
}
|
|
9972
9821
|
// 疑惑!
|
|
9973
9822
|
if (checkStrictly) {
|
|
9974
|
-
this.isAllSelected =
|
|
9823
|
+
this.isAllSelected = checked;
|
|
9975
9824
|
} else {
|
|
9976
9825
|
/**
|
|
9977
9826
|
* 绑定属性方式(高性能,有污染)
|
|
@@ -9982,10 +9831,10 @@ const Methods = {
|
|
|
9982
9831
|
if (isForce || !checkMethod || checkMethod({
|
|
9983
9832
|
row
|
|
9984
9833
|
})) {
|
|
9985
|
-
if (
|
|
9834
|
+
if (checked) {
|
|
9986
9835
|
selectRowMaps[getRowid(this, row)] = row;
|
|
9987
9836
|
}
|
|
9988
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField,
|
|
9837
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, checked);
|
|
9989
9838
|
}
|
|
9990
9839
|
if (treeConfig && indeterminateField) {
|
|
9991
9840
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
|
|
@@ -10006,7 +9855,7 @@ const Methods = {
|
|
|
10006
9855
|
* 无需任何属性,直接绑定
|
|
10007
9856
|
*/
|
|
10008
9857
|
if (treeConfig) {
|
|
10009
|
-
if (
|
|
9858
|
+
if (checked) {
|
|
10010
9859
|
/**
|
|
10011
9860
|
* 如果是树勾选
|
|
10012
9861
|
* 如果方法成立,则添加到临时集合中
|
|
@@ -10039,7 +9888,7 @@ const Methods = {
|
|
|
10039
9888
|
}
|
|
10040
9889
|
}
|
|
10041
9890
|
} else {
|
|
10042
|
-
if (
|
|
9891
|
+
if (checked) {
|
|
10043
9892
|
/**
|
|
10044
9893
|
* 如果是行勾选
|
|
10045
9894
|
* 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
|
|
@@ -10079,7 +9928,7 @@ const Methods = {
|
|
|
10079
9928
|
}
|
|
10080
9929
|
}
|
|
10081
9930
|
if (reserve) {
|
|
10082
|
-
if (
|
|
9931
|
+
if (checked) {
|
|
10083
9932
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectRowMaps, (row, rowid) => {
|
|
10084
9933
|
checkboxReserveRowMap[rowid] = row;
|
|
10085
9934
|
});
|
|
@@ -10089,6 +9938,8 @@ const Methods = {
|
|
|
10089
9938
|
}
|
|
10090
9939
|
this.selectCheckboxMaps = checkField ? {} : selectRowMaps;
|
|
10091
9940
|
}
|
|
9941
|
+
reactData.isAllSelected = checked;
|
|
9942
|
+
reactData.isIndeterminate = false;
|
|
10092
9943
|
this.treeIndeterminateMaps = {};
|
|
10093
9944
|
this.treeIndeterminateRowMaps = {};
|
|
10094
9945
|
this.checkSelectionStatus();
|
|
@@ -10101,81 +9952,182 @@ const Methods = {
|
|
|
10101
9952
|
setAllCheckboxRow(value) {
|
|
10102
9953
|
return this.handleCheckedAllCheckboxRow(value, true);
|
|
10103
9954
|
},
|
|
10104
|
-
|
|
9955
|
+
updateCheckboxStatus() {
|
|
9956
|
+
const $xeTable = this;
|
|
9957
|
+
const props = $xeTable;
|
|
9958
|
+
const reactData = $xeTable;
|
|
9959
|
+
const internalData = $xeTable;
|
|
10105
9960
|
const {
|
|
10106
|
-
afterFullData,
|
|
10107
|
-
selectCheckboxMaps,
|
|
10108
|
-
treeIndeterminateMaps,
|
|
10109
|
-
checkboxOpts,
|
|
10110
9961
|
treeConfig
|
|
10111
|
-
} =
|
|
9962
|
+
} = props;
|
|
9963
|
+
const {
|
|
9964
|
+
selectCheckboxMaps,
|
|
9965
|
+
treeIndeterminateMaps
|
|
9966
|
+
} = reactData;
|
|
9967
|
+
const selectRowMaps = Object.assign({}, selectCheckboxMaps);
|
|
9968
|
+
const halfRowMaps = Object.assign({}, treeIndeterminateMaps);
|
|
9969
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
9970
|
+
const {
|
|
9971
|
+
transform,
|
|
9972
|
+
mapChildrenField
|
|
9973
|
+
} = treeOpts;
|
|
9974
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
9975
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
10112
9976
|
const {
|
|
10113
9977
|
checkField,
|
|
10114
9978
|
checkStrictly,
|
|
10115
9979
|
checkMethod
|
|
10116
9980
|
} = checkboxOpts;
|
|
10117
|
-
const
|
|
10118
|
-
|
|
10119
|
-
|
|
10120
|
-
|
|
10121
|
-
|
|
10122
|
-
|
|
10123
|
-
|
|
10124
|
-
|
|
10125
|
-
|
|
10126
|
-
|
|
10127
|
-
|
|
9981
|
+
const {
|
|
9982
|
+
afterTreeFullData
|
|
9983
|
+
} = internalData;
|
|
9984
|
+
if (checkStrictly) {
|
|
9985
|
+
return;
|
|
9986
|
+
}
|
|
9987
|
+
// 树结构
|
|
9988
|
+
if (treeConfig) {
|
|
9989
|
+
const childRowMaps = {};
|
|
9990
|
+
const childRowList = [];
|
|
9991
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData, row => {
|
|
9992
|
+
const rowid = getRowid($xeTable, row);
|
|
9993
|
+
const childList = row[transform ? mapChildrenField : childrenField];
|
|
9994
|
+
if (childList && childList.length && !childRowMaps[rowid]) {
|
|
9995
|
+
childRowMaps[rowid] = 1;
|
|
9996
|
+
childRowList.unshift([row, rowid, childList]);
|
|
9997
|
+
}
|
|
9998
|
+
}, {
|
|
9999
|
+
children: transform ? mapChildrenField : childrenField
|
|
10000
|
+
});
|
|
10001
|
+
childRowList.forEach(vals => {
|
|
10002
|
+
const row = vals[0];
|
|
10003
|
+
const rowid = vals[1];
|
|
10004
|
+
const childList = vals[2];
|
|
10005
|
+
let sLen = 0; // 已选
|
|
10006
|
+
let hLen = 0; // 半选
|
|
10007
|
+
let vLen = 0; // 有效行
|
|
10008
|
+
childList.forEach(checkMethod ? item => {
|
|
10009
|
+
const childRowid = getRowid($xeTable, item);
|
|
10010
|
+
const isSelect = checkField ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(item, checkField) : selectRowMaps[childRowid];
|
|
10011
|
+
if (checkMethod({
|
|
10012
|
+
row: item
|
|
10128
10013
|
})) {
|
|
10129
|
-
|
|
10130
|
-
|
|
10014
|
+
if (isSelect) {
|
|
10015
|
+
sLen++;
|
|
10016
|
+
} else if (halfRowMaps[childRowid]) {
|
|
10017
|
+
hLen++;
|
|
10018
|
+
}
|
|
10019
|
+
vLen++;
|
|
10020
|
+
} else {
|
|
10021
|
+
if (isSelect) {
|
|
10022
|
+
sLen++;
|
|
10023
|
+
} else if (halfRowMaps[childRowid]) {
|
|
10024
|
+
hLen++;
|
|
10025
|
+
}
|
|
10131
10026
|
}
|
|
10132
|
-
|
|
10133
|
-
|
|
10134
|
-
|
|
10027
|
+
} : item => {
|
|
10028
|
+
const childRowid = getRowid($xeTable, item);
|
|
10029
|
+
const isSelect = checkField ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(item, checkField) : selectRowMaps[childRowid];
|
|
10030
|
+
if (isSelect) {
|
|
10031
|
+
sLen++;
|
|
10032
|
+
} else if (halfRowMaps[childRowid]) {
|
|
10033
|
+
hLen++;
|
|
10135
10034
|
}
|
|
10136
|
-
|
|
10137
|
-
}
|
|
10138
|
-
|
|
10139
|
-
|
|
10140
|
-
|
|
10141
|
-
|
|
10142
|
-
|
|
10143
|
-
|
|
10035
|
+
vLen++;
|
|
10036
|
+
});
|
|
10037
|
+
const isSelected = sLen >= vLen;
|
|
10038
|
+
const halfSelect = !isSelected && (sLen >= 1 || hLen >= 1);
|
|
10039
|
+
if (checkField) {
|
|
10040
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField, isSelected);
|
|
10041
|
+
}
|
|
10042
|
+
if (isSelected) {
|
|
10043
|
+
if (!checkField) {
|
|
10044
|
+
selectRowMaps[rowid] = row;
|
|
10045
|
+
}
|
|
10046
|
+
if (halfRowMaps[rowid]) {
|
|
10047
|
+
delete halfRowMaps[rowid];
|
|
10144
10048
|
}
|
|
10145
10049
|
} else {
|
|
10146
|
-
if (
|
|
10147
|
-
|
|
10050
|
+
if (!checkField) {
|
|
10051
|
+
if (selectRowMaps[rowid]) {
|
|
10052
|
+
delete selectRowMaps[rowid];
|
|
10053
|
+
}
|
|
10054
|
+
}
|
|
10055
|
+
if (halfSelect) {
|
|
10056
|
+
halfRowMaps[rowid] = row;
|
|
10148
10057
|
} else {
|
|
10149
|
-
|
|
10058
|
+
if (halfRowMaps[rowid]) {
|
|
10059
|
+
delete halfRowMaps[rowid];
|
|
10060
|
+
}
|
|
10150
10061
|
}
|
|
10151
10062
|
}
|
|
10063
|
+
});
|
|
10064
|
+
}
|
|
10065
|
+
reactData.selectCheckboxMaps = selectRowMaps;
|
|
10066
|
+
reactData.treeIndeterminateMaps = halfRowMaps;
|
|
10067
|
+
},
|
|
10068
|
+
updateAllCheckboxStatus() {
|
|
10069
|
+
const $xeTable = this;
|
|
10070
|
+
const props = $xeTable;
|
|
10071
|
+
const reactData = $xeTable;
|
|
10072
|
+
const internalData = $xeTable;
|
|
10073
|
+
const {
|
|
10074
|
+
treeConfig
|
|
10075
|
+
} = props;
|
|
10076
|
+
const {
|
|
10077
|
+
selectCheckboxMaps,
|
|
10078
|
+
treeIndeterminateMaps
|
|
10079
|
+
} = reactData;
|
|
10080
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
10081
|
+
const {
|
|
10082
|
+
checkField,
|
|
10083
|
+
checkMethod
|
|
10084
|
+
} = checkboxOpts;
|
|
10085
|
+
const {
|
|
10086
|
+
afterFullData,
|
|
10087
|
+
afterTreeFullData
|
|
10088
|
+
} = internalData;
|
|
10089
|
+
let sLen = 0; // 已选
|
|
10090
|
+
let hLen = 0; // 半选
|
|
10091
|
+
let vLen = 0; // 有效行
|
|
10092
|
+
const rootList = treeConfig ? afterTreeFullData : afterFullData;
|
|
10093
|
+
rootList.forEach(checkMethod ? row => {
|
|
10094
|
+
const childRowid = getRowid($xeTable, row);
|
|
10095
|
+
const selected = checkField ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) : selectCheckboxMaps[childRowid];
|
|
10096
|
+
if (checkMethod({
|
|
10097
|
+
row
|
|
10098
|
+
})) {
|
|
10099
|
+
if (selected) {
|
|
10100
|
+
sLen++;
|
|
10101
|
+
} else if (treeIndeterminateMaps[childRowid]) {
|
|
10102
|
+
hLen++;
|
|
10103
|
+
}
|
|
10104
|
+
vLen++;
|
|
10152
10105
|
} else {
|
|
10153
|
-
|
|
10154
|
-
|
|
10155
|
-
|
|
10156
|
-
|
|
10157
|
-
disableRows.push(row);
|
|
10158
|
-
return true;
|
|
10159
|
-
}
|
|
10160
|
-
if (selectCheckboxMaps[getRowid(this, row)]) {
|
|
10161
|
-
checkRows.push(row);
|
|
10162
|
-
return true;
|
|
10163
|
-
}
|
|
10164
|
-
return false;
|
|
10165
|
-
} : row => selectCheckboxMaps[getRowid(this, row)]);
|
|
10166
|
-
isAllSelected = isAllResolve && afterFullData.length !== disableRows.length;
|
|
10167
|
-
if (treeConfig) {
|
|
10168
|
-
isIndeterminate = !isAllSelected && afterFullData.some(row => {
|
|
10169
|
-
const itemRid = getRowid(this, row);
|
|
10170
|
-
return treeIndeterminateMaps[itemRid] || selectCheckboxMaps[itemRid];
|
|
10171
|
-
});
|
|
10172
|
-
} else {
|
|
10173
|
-
isIndeterminate = !isAllSelected && afterFullData.some(row => selectCheckboxMaps[getRowid(this, row)]);
|
|
10106
|
+
if (selected) {
|
|
10107
|
+
sLen++;
|
|
10108
|
+
} else if (treeIndeterminateMaps[childRowid]) {
|
|
10109
|
+
hLen++;
|
|
10174
10110
|
}
|
|
10175
10111
|
}
|
|
10176
|
-
|
|
10177
|
-
|
|
10178
|
-
|
|
10112
|
+
} : row => {
|
|
10113
|
+
const childRowid = getRowid($xeTable, row);
|
|
10114
|
+
const selected = checkField ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) : selectCheckboxMaps[childRowid];
|
|
10115
|
+
if (selected) {
|
|
10116
|
+
sLen++;
|
|
10117
|
+
} else if (treeIndeterminateMaps[childRowid]) {
|
|
10118
|
+
hLen++;
|
|
10119
|
+
}
|
|
10120
|
+
vLen++;
|
|
10121
|
+
});
|
|
10122
|
+
const isSelected = sLen >= vLen;
|
|
10123
|
+
const halfSelect = !isSelected && (sLen >= 1 || hLen >= 1);
|
|
10124
|
+
reactData.isAllSelected = isSelected;
|
|
10125
|
+
reactData.isIndeterminate = halfSelect;
|
|
10126
|
+
},
|
|
10127
|
+
checkSelectionStatus() {
|
|
10128
|
+
const $xeTable = this;
|
|
10129
|
+
$xeTable.updateCheckboxStatus();
|
|
10130
|
+
$xeTable.updateAllCheckboxStatus();
|
|
10179
10131
|
},
|
|
10180
10132
|
// 还原展开、选中等相关状态
|
|
10181
10133
|
handleReserveStatus() {
|
|
@@ -21769,6 +21721,7 @@ function getCheckboxRangeRows($xeTable, evnt, params, targetTrElem, trRect, offs
|
|
|
21769
21721
|
}
|
|
21770
21722
|
},
|
|
21771
21723
|
handleCheckboxRangeEvent(evnt, params) {
|
|
21724
|
+
const $xeTable = this;
|
|
21772
21725
|
const {
|
|
21773
21726
|
column,
|
|
21774
21727
|
cell
|
|
@@ -21848,9 +21801,7 @@ function getCheckboxRangeRows($xeTable, evnt, params, targetTrElem, trRect, offs
|
|
|
21848
21801
|
lastRangeRows = rangeRows;
|
|
21849
21802
|
if (evnt.ctrlKey) {
|
|
21850
21803
|
rangeRows.forEach(row => {
|
|
21851
|
-
|
|
21852
|
-
row
|
|
21853
|
-
}, selectRecords.indexOf(row) === -1);
|
|
21804
|
+
$xeTable.handleBatchSelectRows([row], selectRecords.indexOf(row) === -1);
|
|
21854
21805
|
});
|
|
21855
21806
|
} else {
|
|
21856
21807
|
this.setAllCheckboxRow(false);
|