vxe-table 4.3.9 → 4.3.10
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/README.en.md +3 -3
- package/README.md +3 -3
- package/README.zh-TW.md +3 -3
- package/es/grid/src/grid.js +51 -21
- package/es/icon/style/{iconfont.1673363035817.ttf → iconfont.1676040467680.ttf} +0 -0
- package/es/icon/style/{iconfont.1673363035817.woff → iconfont.1676040467680.woff} +0 -0
- package/es/icon/style/{iconfont.1673363035817.woff2 → iconfont.1676040467680.woff2} +0 -0
- package/es/icon/style.css +1 -1
- package/es/{iconfont.1673363035817.ttf → iconfont.1676040467680.ttf} +0 -0
- package/es/{iconfont.1673363035817.woff → iconfont.1676040467680.woff} +0 -0
- package/es/{iconfont.1673363035817.woff2 → iconfont.1676040467680.woff2} +0 -0
- package/es/list/src/list.js +4 -1
- package/es/pager/src/pager.js +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/table.js +151 -138
- package/es/toolbar/src/toolbar.js +2 -2
- package/es/tools/log.js +1 -1
- package/es/v-x-e-table/index.js +1 -1
- package/lib/grid/src/grid.js +72 -26
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/icon/style/{iconfont.1673363035817.ttf → iconfont.1676040467680.ttf} +0 -0
- package/lib/icon/style/{iconfont.1673363035817.woff → iconfont.1676040467680.woff} +0 -0
- package/lib/icon/style/{iconfont.1673363035817.woff2 → iconfont.1676040467680.woff2} +0 -0
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/{iconfont.1673363035817.ttf → iconfont.1676040467680.ttf} +0 -0
- package/lib/{iconfont.1673363035817.woff → iconfont.1676040467680.woff} +0 -0
- package/lib/{iconfont.1673363035817.woff2 → iconfont.1676040467680.woff2} +0 -0
- package/lib/index.umd.js +264 -188
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +5 -0
- package/lib/list/src/list.min.js +1 -1
- package/lib/pager/src/pager.js +1 -1
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/table.js +172 -159
- package/lib/table/src/table.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +4 -2
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/tools/log.js +1 -1
- package/lib/tools/log.min.js +1 -1
- package/lib/v-x-e-table/index.js +1 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/package.json +1 -1
- package/packages/grid/src/grid.ts +50 -20
- package/packages/list/src/list.ts +5 -1
- package/packages/pager/src/pager.ts +1 -1
- package/packages/table/src/table.ts +146 -130
- package/packages/toolbar/src/toolbar.ts +2 -2
- package/types/grid.d.ts +4 -0
- package/types/table.d.ts +1 -1
package/lib/table/src/table.js
CHANGED
|
@@ -1769,7 +1769,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1769
1769
|
var checkAll = checkboxOpts.checkAll,
|
|
1770
1770
|
checkRowKeys = checkboxOpts.checkRowKeys;
|
|
1771
1771
|
if (checkAll) {
|
|
1772
|
-
|
|
1772
|
+
handleCheckedAllCheckboxRow(true, true);
|
|
1773
1773
|
} else if (checkRowKeys) {
|
|
1774
1774
|
var defSelection_1 = [];
|
|
1775
1775
|
checkRowKeys.forEach(function (rowid) {
|
|
@@ -1777,7 +1777,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1777
1777
|
defSelection_1.push(fullDataRowIdData_1[rowid].row);
|
|
1778
1778
|
}
|
|
1779
1779
|
});
|
|
1780
|
-
|
|
1780
|
+
handleCheckedCheckboxRow(defSelection_1, true, true);
|
|
1781
1781
|
}
|
|
1782
1782
|
}
|
|
1783
1783
|
};
|
|
@@ -1794,7 +1794,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1794
1794
|
reserve = radioOpts.reserve;
|
|
1795
1795
|
if (rowid) {
|
|
1796
1796
|
if (fullDataRowIdData[rowid]) {
|
|
1797
|
-
|
|
1797
|
+
handleCheckedRadioRow(fullDataRowIdData[rowid].row, true);
|
|
1798
1798
|
}
|
|
1799
1799
|
if (reserve) {
|
|
1800
1800
|
var rowkey = (0, _util.getRowkey)($xetable);
|
|
@@ -1844,6 +1844,150 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1844
1844
|
}
|
|
1845
1845
|
}
|
|
1846
1846
|
};
|
|
1847
|
+
var handleCheckedRadioRow = function (row, isForce) {
|
|
1848
|
+
var radioOpts = computeRadioOpts.value;
|
|
1849
|
+
var checkMethod = radioOpts.checkMethod;
|
|
1850
|
+
if (row && (isForce || !checkMethod || checkMethod({
|
|
1851
|
+
row: row
|
|
1852
|
+
}))) {
|
|
1853
|
+
reactData.selectRow = row;
|
|
1854
|
+
handleRadioReserveRow(row);
|
|
1855
|
+
}
|
|
1856
|
+
return (0, _vue.nextTick)();
|
|
1857
|
+
};
|
|
1858
|
+
var handleCheckedCheckboxRow = function (rows, value, isForce) {
|
|
1859
|
+
if (rows && !_xeUtils.default.isArray(rows)) {
|
|
1860
|
+
rows = [rows];
|
|
1861
|
+
}
|
|
1862
|
+
rows.forEach(function (row) {
|
|
1863
|
+
return tablePrivateMethods.handleSelectRow({
|
|
1864
|
+
row: row
|
|
1865
|
+
}, !!value, isForce);
|
|
1866
|
+
});
|
|
1867
|
+
return (0, _vue.nextTick)();
|
|
1868
|
+
};
|
|
1869
|
+
var handleCheckedAllCheckboxRow = function (value, isForce) {
|
|
1870
|
+
var treeConfig = props.treeConfig;
|
|
1871
|
+
var selection = reactData.selection;
|
|
1872
|
+
var afterFullData = internalData.afterFullData,
|
|
1873
|
+
checkboxReserveRowMap = internalData.checkboxReserveRowMap;
|
|
1874
|
+
var treeOpts = computeTreeOpts.value;
|
|
1875
|
+
var checkboxOpts = computeCheckboxOpts.value;
|
|
1876
|
+
var checkField = checkboxOpts.checkField,
|
|
1877
|
+
reserve = checkboxOpts.reserve,
|
|
1878
|
+
checkStrictly = checkboxOpts.checkStrictly,
|
|
1879
|
+
checkMethod = checkboxOpts.checkMethod;
|
|
1880
|
+
var selectRows = [];
|
|
1881
|
+
var beforeSelection = treeConfig ? [] : selection.filter(function (row) {
|
|
1882
|
+
return $xetable.findRowIndexOf(afterFullData, row) === -1;
|
|
1883
|
+
});
|
|
1884
|
+
if (checkStrictly) {
|
|
1885
|
+
reactData.isAllSelected = value;
|
|
1886
|
+
} else {
|
|
1887
|
+
/**
|
|
1888
|
+
* 绑定属性方式(高性能,有污染)
|
|
1889
|
+
* 必须在行数据存在对应的属性,否则将不响应
|
|
1890
|
+
*/
|
|
1891
|
+
if (checkField) {
|
|
1892
|
+
var checkValFn = function (row) {
|
|
1893
|
+
if (isForce || !checkMethod || checkMethod({
|
|
1894
|
+
row: row
|
|
1895
|
+
})) {
|
|
1896
|
+
if (value) {
|
|
1897
|
+
selectRows.push(row);
|
|
1898
|
+
}
|
|
1899
|
+
_xeUtils.default.set(row, checkField, value);
|
|
1900
|
+
}
|
|
1901
|
+
};
|
|
1902
|
+
// 如果存在选中方法
|
|
1903
|
+
// 如果方法成立,则更新值,否则忽略该数据
|
|
1904
|
+
if (treeConfig) {
|
|
1905
|
+
_xeUtils.default.eachTree(afterFullData, checkValFn, treeOpts);
|
|
1906
|
+
} else {
|
|
1907
|
+
afterFullData.forEach(checkValFn);
|
|
1908
|
+
}
|
|
1909
|
+
} else {
|
|
1910
|
+
/**
|
|
1911
|
+
* 默认方式(低性能,无污染)
|
|
1912
|
+
* 无需任何属性,直接绑定
|
|
1913
|
+
*/
|
|
1914
|
+
if (treeConfig) {
|
|
1915
|
+
if (value) {
|
|
1916
|
+
/**
|
|
1917
|
+
* 如果是树勾选
|
|
1918
|
+
* 如果方法成立,则添加到临时集合中
|
|
1919
|
+
*/
|
|
1920
|
+
_xeUtils.default.eachTree(afterFullData, function (row) {
|
|
1921
|
+
if (isForce || !checkMethod || checkMethod({
|
|
1922
|
+
row: row
|
|
1923
|
+
})) {
|
|
1924
|
+
selectRows.push(row);
|
|
1925
|
+
}
|
|
1926
|
+
}, treeOpts);
|
|
1927
|
+
} else {
|
|
1928
|
+
/**
|
|
1929
|
+
* 如果是树取消
|
|
1930
|
+
* 如果方法成立,则不添加到临时集合中
|
|
1931
|
+
*/
|
|
1932
|
+
if (!isForce && checkMethod) {
|
|
1933
|
+
_xeUtils.default.eachTree(afterFullData, function (row) {
|
|
1934
|
+
if (checkMethod({
|
|
1935
|
+
row: row
|
|
1936
|
+
}) ? 0 : $xetable.findRowIndexOf(selection, row) > -1) {
|
|
1937
|
+
selectRows.push(row);
|
|
1938
|
+
}
|
|
1939
|
+
}, treeOpts);
|
|
1940
|
+
}
|
|
1941
|
+
}
|
|
1942
|
+
} else {
|
|
1943
|
+
if (value) {
|
|
1944
|
+
/**
|
|
1945
|
+
* 如果是行勾选
|
|
1946
|
+
* 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
|
|
1947
|
+
* 如果不存在选中方法,则添加所有数据到临时集合中
|
|
1948
|
+
*/
|
|
1949
|
+
if (!isForce && checkMethod) {
|
|
1950
|
+
selectRows = afterFullData.filter(function (row) {
|
|
1951
|
+
return $xetable.findRowIndexOf(selection, row) > -1 || checkMethod({
|
|
1952
|
+
row: row
|
|
1953
|
+
});
|
|
1954
|
+
});
|
|
1955
|
+
} else {
|
|
1956
|
+
selectRows = afterFullData.slice(0);
|
|
1957
|
+
}
|
|
1958
|
+
} else {
|
|
1959
|
+
/**
|
|
1960
|
+
* 如果是行取消
|
|
1961
|
+
* 如果方法成立,则不添加到临时集合中;如果方法不成立则判断当前是否已勾选,如果已被勾选则添加到新集合中
|
|
1962
|
+
* 如果不存在选中方法,无需处理,临时集合默认为空
|
|
1963
|
+
*/
|
|
1964
|
+
if (!isForce && checkMethod) {
|
|
1965
|
+
selectRows = afterFullData.filter(function (row) {
|
|
1966
|
+
return checkMethod({
|
|
1967
|
+
row: row
|
|
1968
|
+
}) ? 0 : $xetable.findRowIndexOf(selection, row) > -1;
|
|
1969
|
+
});
|
|
1970
|
+
}
|
|
1971
|
+
}
|
|
1972
|
+
}
|
|
1973
|
+
}
|
|
1974
|
+
if (reserve) {
|
|
1975
|
+
if (value) {
|
|
1976
|
+
selectRows.forEach(function (row) {
|
|
1977
|
+
checkboxReserveRowMap[(0, _util.getRowid)($xetable, row)] = row;
|
|
1978
|
+
});
|
|
1979
|
+
} else {
|
|
1980
|
+
afterFullData.forEach(function (row) {
|
|
1981
|
+
return handleCheckboxReserveRow(row, false);
|
|
1982
|
+
});
|
|
1983
|
+
}
|
|
1984
|
+
}
|
|
1985
|
+
reactData.selection = checkField ? [] : beforeSelection.concat(selectRows);
|
|
1986
|
+
}
|
|
1987
|
+
reactData.treeIndeterminates = [];
|
|
1988
|
+
tablePrivateMethods.checkSelectionStatus();
|
|
1989
|
+
return (0, _vue.nextTick)();
|
|
1990
|
+
};
|
|
1847
1991
|
// 还原展开、选中等相关状态
|
|
1848
1992
|
var handleReserveStatus = function () {
|
|
1849
1993
|
var treeConfig = props.treeConfig;
|
|
@@ -1868,14 +2012,14 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1868
2012
|
if (radioOpts.reserve && radioReserveRow) {
|
|
1869
2013
|
var rowid = (0, _util.getRowid)($xetable, radioReserveRow);
|
|
1870
2014
|
if (fullDataRowIdData[rowid]) {
|
|
1871
|
-
|
|
2015
|
+
handleCheckedRadioRow(fullDataRowIdData[rowid].row, true);
|
|
1872
2016
|
}
|
|
1873
2017
|
}
|
|
1874
2018
|
// 复选框
|
|
1875
2019
|
reactData.selection = getRecoverRow(selection); // 刷新多选行状态
|
|
1876
2020
|
// 还原保留选中状态
|
|
1877
2021
|
if (checkboxOpts.reserve) {
|
|
1878
|
-
|
|
2022
|
+
handleCheckedCheckboxRow(handleReserveRow(internalData.checkboxReserveRowMap), true, true);
|
|
1879
2023
|
}
|
|
1880
2024
|
if (currentRow && !fullAllDataRowIdData[(0, _util.getRowid)($xetable, currentRow)]) {
|
|
1881
2025
|
reactData.currentRow = null; // 刷新当前行状态
|
|
@@ -1950,7 +2094,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1950
2094
|
}
|
|
1951
2095
|
// 如果当前节点已选中,则展开后子节点也被选中
|
|
1952
2096
|
if (!checkStrictly && tableMethods.isCheckedByCheckboxRow(row)) {
|
|
1953
|
-
|
|
2097
|
+
handleCheckedCheckboxRow(childRows, true);
|
|
1954
2098
|
}
|
|
1955
2099
|
return (0, _vue.nextTick)().then(function () {
|
|
1956
2100
|
if (transform) {
|
|
@@ -3342,15 +3486,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
3342
3486
|
* @param {Boolean} value 是否选中
|
|
3343
3487
|
*/
|
|
3344
3488
|
setCheckboxRow: function (rows, value) {
|
|
3345
|
-
|
|
3346
|
-
rows = [rows];
|
|
3347
|
-
}
|
|
3348
|
-
rows.forEach(function (row) {
|
|
3349
|
-
return tablePrivateMethods.handleSelectRow({
|
|
3350
|
-
row: row
|
|
3351
|
-
}, !!value);
|
|
3352
|
-
});
|
|
3353
|
-
return (0, _vue.nextTick)();
|
|
3489
|
+
return handleCheckedCheckboxRow(rows, value, true);
|
|
3354
3490
|
},
|
|
3355
3491
|
isCheckedByCheckboxRow: function (row) {
|
|
3356
3492
|
var selection = reactData.selection;
|
|
@@ -3369,9 +3505,13 @@ var _default = (0, _vue.defineComponent)({
|
|
|
3369
3505
|
* 多选,切换某一行的选中状态
|
|
3370
3506
|
*/
|
|
3371
3507
|
toggleCheckboxRow: function (row) {
|
|
3372
|
-
|
|
3508
|
+
var selection = reactData.selection;
|
|
3509
|
+
var checkboxOpts = computeCheckboxOpts.value;
|
|
3510
|
+
var checkField = checkboxOpts.checkField;
|
|
3511
|
+
var value = checkField ? !_xeUtils.default.get(row, checkField) : $xetable.findRowIndexOf(selection, row) === -1;
|
|
3512
|
+
tablePrivateMethods.handleSelectRow({
|
|
3373
3513
|
row: row
|
|
3374
|
-
});
|
|
3514
|
+
}, value, true);
|
|
3375
3515
|
return (0, _vue.nextTick)();
|
|
3376
3516
|
},
|
|
3377
3517
|
/**
|
|
@@ -3379,126 +3519,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
3379
3519
|
* @param {Boolean} value 是否选中
|
|
3380
3520
|
*/
|
|
3381
3521
|
setAllCheckboxRow: function (value) {
|
|
3382
|
-
|
|
3383
|
-
var selection = reactData.selection;
|
|
3384
|
-
var afterFullData = internalData.afterFullData,
|
|
3385
|
-
checkboxReserveRowMap = internalData.checkboxReserveRowMap;
|
|
3386
|
-
var treeOpts = computeTreeOpts.value;
|
|
3387
|
-
var checkboxOpts = computeCheckboxOpts.value;
|
|
3388
|
-
var checkField = checkboxOpts.checkField,
|
|
3389
|
-
reserve = checkboxOpts.reserve,
|
|
3390
|
-
checkStrictly = checkboxOpts.checkStrictly,
|
|
3391
|
-
checkMethod = checkboxOpts.checkMethod;
|
|
3392
|
-
var selectRows = [];
|
|
3393
|
-
var beforeSelection = treeConfig ? [] : selection.filter(function (row) {
|
|
3394
|
-
return $xetable.findRowIndexOf(afterFullData, row) === -1;
|
|
3395
|
-
});
|
|
3396
|
-
if (checkStrictly) {
|
|
3397
|
-
reactData.isAllSelected = value;
|
|
3398
|
-
} else {
|
|
3399
|
-
/**
|
|
3400
|
-
* 绑定属性方式(高性能,有污染)
|
|
3401
|
-
* 必须在行数据存在对应的属性,否则将不响应
|
|
3402
|
-
*/
|
|
3403
|
-
if (checkField) {
|
|
3404
|
-
var checkValFn = function (row) {
|
|
3405
|
-
if (!checkMethod || checkMethod({
|
|
3406
|
-
row: row
|
|
3407
|
-
})) {
|
|
3408
|
-
if (value) {
|
|
3409
|
-
selectRows.push(row);
|
|
3410
|
-
}
|
|
3411
|
-
_xeUtils.default.set(row, checkField, value);
|
|
3412
|
-
}
|
|
3413
|
-
};
|
|
3414
|
-
// 如果存在选中方法
|
|
3415
|
-
// 如果方法成立,则更新值,否则忽略该数据
|
|
3416
|
-
if (treeConfig) {
|
|
3417
|
-
_xeUtils.default.eachTree(afterFullData, checkValFn, treeOpts);
|
|
3418
|
-
} else {
|
|
3419
|
-
afterFullData.forEach(checkValFn);
|
|
3420
|
-
}
|
|
3421
|
-
} else {
|
|
3422
|
-
/**
|
|
3423
|
-
* 默认方式(低性能,无污染)
|
|
3424
|
-
* 无需任何属性,直接绑定
|
|
3425
|
-
*/
|
|
3426
|
-
if (treeConfig) {
|
|
3427
|
-
if (value) {
|
|
3428
|
-
/**
|
|
3429
|
-
* 如果是树勾选
|
|
3430
|
-
* 如果方法成立,则添加到临时集合中
|
|
3431
|
-
*/
|
|
3432
|
-
_xeUtils.default.eachTree(afterFullData, function (row) {
|
|
3433
|
-
if (!checkMethod || checkMethod({
|
|
3434
|
-
row: row
|
|
3435
|
-
})) {
|
|
3436
|
-
selectRows.push(row);
|
|
3437
|
-
}
|
|
3438
|
-
}, treeOpts);
|
|
3439
|
-
} else {
|
|
3440
|
-
/**
|
|
3441
|
-
* 如果是树取消
|
|
3442
|
-
* 如果方法成立,则不添加到临时集合中
|
|
3443
|
-
*/
|
|
3444
|
-
if (checkMethod) {
|
|
3445
|
-
_xeUtils.default.eachTree(afterFullData, function (row) {
|
|
3446
|
-
if (checkMethod({
|
|
3447
|
-
row: row
|
|
3448
|
-
}) ? 0 : $xetable.findRowIndexOf(selection, row) > -1) {
|
|
3449
|
-
selectRows.push(row);
|
|
3450
|
-
}
|
|
3451
|
-
}, treeOpts);
|
|
3452
|
-
}
|
|
3453
|
-
}
|
|
3454
|
-
} else {
|
|
3455
|
-
if (value) {
|
|
3456
|
-
/**
|
|
3457
|
-
* 如果是行勾选
|
|
3458
|
-
* 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
|
|
3459
|
-
* 如果不存在选中方法,则添加所有数据到临时集合中
|
|
3460
|
-
*/
|
|
3461
|
-
if (checkMethod) {
|
|
3462
|
-
selectRows = afterFullData.filter(function (row) {
|
|
3463
|
-
return $xetable.findRowIndexOf(selection, row) > -1 || checkMethod({
|
|
3464
|
-
row: row
|
|
3465
|
-
});
|
|
3466
|
-
});
|
|
3467
|
-
} else {
|
|
3468
|
-
selectRows = afterFullData.slice(0);
|
|
3469
|
-
}
|
|
3470
|
-
} else {
|
|
3471
|
-
/**
|
|
3472
|
-
* 如果是行取消
|
|
3473
|
-
* 如果方法成立,则不添加到临时集合中;如果方法不成立则判断当前是否已勾选,如果已被勾选则添加到新集合中
|
|
3474
|
-
* 如果不存在选中方法,无需处理,临时集合默认为空
|
|
3475
|
-
*/
|
|
3476
|
-
if (checkMethod) {
|
|
3477
|
-
selectRows = afterFullData.filter(function (row) {
|
|
3478
|
-
return checkMethod({
|
|
3479
|
-
row: row
|
|
3480
|
-
}) ? 0 : $xetable.findRowIndexOf(selection, row) > -1;
|
|
3481
|
-
});
|
|
3482
|
-
}
|
|
3483
|
-
}
|
|
3484
|
-
}
|
|
3485
|
-
}
|
|
3486
|
-
if (reserve) {
|
|
3487
|
-
if (value) {
|
|
3488
|
-
selectRows.forEach(function (row) {
|
|
3489
|
-
checkboxReserveRowMap[(0, _util.getRowid)($xetable, row)] = row;
|
|
3490
|
-
});
|
|
3491
|
-
} else {
|
|
3492
|
-
afterFullData.forEach(function (row) {
|
|
3493
|
-
return handleCheckboxReserveRow(row, false);
|
|
3494
|
-
});
|
|
3495
|
-
}
|
|
3496
|
-
}
|
|
3497
|
-
reactData.selection = checkField ? [] : beforeSelection.concat(selectRows);
|
|
3498
|
-
}
|
|
3499
|
-
reactData.treeIndeterminates = [];
|
|
3500
|
-
tablePrivateMethods.checkSelectionStatus();
|
|
3501
|
-
return (0, _vue.nextTick)();
|
|
3522
|
+
return handleCheckedAllCheckboxRow(value, true);
|
|
3502
3523
|
},
|
|
3503
3524
|
/**
|
|
3504
3525
|
* 获取单选框保留选中的行
|
|
@@ -3630,7 +3651,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
3630
3651
|
var rowOpts = computeRowOpts.value;
|
|
3631
3652
|
var el = refElem.value;
|
|
3632
3653
|
tableMethods.clearCurrentRow();
|
|
3633
|
-
tableMethods.clearCurrentColumn()
|
|
3654
|
+
// tableMethods.clearCurrentColumn()
|
|
3634
3655
|
reactData.currentRow = row;
|
|
3635
3656
|
if (rowOpts.isCurrent || props.highlightCurrentRow) {
|
|
3636
3657
|
if (el) {
|
|
@@ -3649,15 +3670,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
3649
3670
|
* @param {Row} row 行对象
|
|
3650
3671
|
*/
|
|
3651
3672
|
setRadioRow: function (row) {
|
|
3652
|
-
|
|
3653
|
-
var checkMethod = radioOpts.checkMethod;
|
|
3654
|
-
if (row && (!checkMethod || checkMethod({
|
|
3655
|
-
row: row
|
|
3656
|
-
}))) {
|
|
3657
|
-
reactData.selectRow = row;
|
|
3658
|
-
handleRadioReserveRow(row);
|
|
3659
|
-
}
|
|
3660
|
-
return (0, _vue.nextTick)();
|
|
3673
|
+
return handleCheckedRadioRow(row, true);
|
|
3661
3674
|
},
|
|
3662
3675
|
/**
|
|
3663
3676
|
* 用于当前行,手动清空当前高亮的状态
|
|
@@ -3730,7 +3743,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
3730
3743
|
setCurrentColumn: function (fieldOrColumn) {
|
|
3731
3744
|
var column = (0, _util.handleFieldOrColumn)($xetable, fieldOrColumn);
|
|
3732
3745
|
if (column) {
|
|
3733
|
-
tableMethods.clearCurrentRow()
|
|
3746
|
+
// tableMethods.clearCurrentRow()
|
|
3734
3747
|
tableMethods.clearCurrentColumn();
|
|
3735
3748
|
reactData.currentColumn = column;
|
|
3736
3749
|
}
|
|
@@ -5366,7 +5379,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
5366
5379
|
* 多选,行选中事件
|
|
5367
5380
|
* value 选中true 不选false 半选-1
|
|
5368
5381
|
*/
|
|
5369
|
-
handleSelectRow: function (_a, value) {
|
|
5382
|
+
handleSelectRow: function (_a, value, isForce) {
|
|
5370
5383
|
var row = _a.row;
|
|
5371
5384
|
var treeConfig = props.treeConfig;
|
|
5372
5385
|
var selection = reactData.selection,
|
|
@@ -5387,7 +5400,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
5387
5400
|
} else {
|
|
5388
5401
|
// 更新子节点状态
|
|
5389
5402
|
_xeUtils.default.eachTree([row], function (item) {
|
|
5390
|
-
if ($xetable.eqRow(item, row) || !checkMethod || checkMethod({
|
|
5403
|
+
if ($xetable.eqRow(item, row) || isForce || !checkMethod || checkMethod({
|
|
5391
5404
|
row: item
|
|
5392
5405
|
})) {
|
|
5393
5406
|
_xeUtils.default.set(item, checkField, value);
|
|
@@ -5404,7 +5417,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
5404
5417
|
}, treeOpts);
|
|
5405
5418
|
if (matchObj && matchObj.parent) {
|
|
5406
5419
|
var parentStatus = void 0;
|
|
5407
|
-
var vItems_1 = checkMethod ? matchObj.items.filter(function (item) {
|
|
5420
|
+
var vItems_1 = !isForce && checkMethod ? matchObj.items.filter(function (item) {
|
|
5408
5421
|
return checkMethod({
|
|
5409
5422
|
row: item
|
|
5410
5423
|
});
|
|
@@ -5424,10 +5437,10 @@ var _default = (0, _vue.defineComponent)({
|
|
|
5424
5437
|
}
|
|
5425
5438
|
return tablePrivateMethods.handleSelectRow({
|
|
5426
5439
|
row: matchObj.parent
|
|
5427
|
-
}, parentStatus);
|
|
5440
|
+
}, parentStatus, isForce);
|
|
5428
5441
|
}
|
|
5429
5442
|
} else {
|
|
5430
|
-
if (!checkMethod || checkMethod({
|
|
5443
|
+
if (isForce || !checkMethod || checkMethod({
|
|
5431
5444
|
row: row
|
|
5432
5445
|
})) {
|
|
5433
5446
|
_xeUtils.default.set(row, checkField, value);
|
|
@@ -5446,7 +5459,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
5446
5459
|
} else {
|
|
5447
5460
|
// 更新子节点状态
|
|
5448
5461
|
_xeUtils.default.eachTree([row], function (item) {
|
|
5449
|
-
if ($xetable.eqRow(item, row) || !checkMethod || checkMethod({
|
|
5462
|
+
if ($xetable.eqRow(item, row) || isForce || !checkMethod || checkMethod({
|
|
5450
5463
|
row: item
|
|
5451
5464
|
})) {
|
|
5452
5465
|
if (value) {
|
|
@@ -5469,7 +5482,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
5469
5482
|
}, treeOpts);
|
|
5470
5483
|
if (matchObj && matchObj.parent) {
|
|
5471
5484
|
var parentStatus = void 0;
|
|
5472
|
-
var vItems_2 = checkMethod ? matchObj.items.filter(function (item) {
|
|
5485
|
+
var vItems_2 = !isForce && checkMethod ? matchObj.items.filter(function (item) {
|
|
5473
5486
|
return checkMethod({
|
|
5474
5487
|
row: item
|
|
5475
5488
|
});
|
|
@@ -5489,10 +5502,10 @@ var _default = (0, _vue.defineComponent)({
|
|
|
5489
5502
|
}
|
|
5490
5503
|
return tablePrivateMethods.handleSelectRow({
|
|
5491
5504
|
row: matchObj.parent
|
|
5492
|
-
}, parentStatus);
|
|
5505
|
+
}, parentStatus, isForce);
|
|
5493
5506
|
}
|
|
5494
5507
|
} else {
|
|
5495
|
-
if (!checkMethod || checkMethod({
|
|
5508
|
+
if (isForce || !checkMethod || checkMethod({
|
|
5496
5509
|
row: row
|
|
5497
5510
|
})) {
|
|
5498
5511
|
if (value) {
|
|
@@ -5784,7 +5797,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
5784
5797
|
* 多选,选中所有事件
|
|
5785
5798
|
*/
|
|
5786
5799
|
triggerCheckAllEvent: function (evnt, value) {
|
|
5787
|
-
|
|
5800
|
+
handleCheckedAllCheckboxRow(value);
|
|
5788
5801
|
if (evnt) {
|
|
5789
5802
|
tableMethods.dispatchEvent('checkbox-all', {
|
|
5790
5803
|
records: tableMethods.getCheckboxRecords(),
|
|
@@ -5804,7 +5817,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
5804
5817
|
var newValue = row;
|
|
5805
5818
|
var isChange = oldValue !== newValue;
|
|
5806
5819
|
if (isChange) {
|
|
5807
|
-
|
|
5820
|
+
handleCheckedRadioRow(newValue);
|
|
5808
5821
|
} else if (!radioOpts.strict) {
|
|
5809
5822
|
isChange = oldValue === newValue;
|
|
5810
5823
|
if (isChange) {
|