openxiangda 1.0.216 → 1.0.218
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/lib/cli.js +8 -0
- package/package.json +1 -1
- package/packages/sdk/dist/runtime/index.cjs +41 -0
- package/packages/sdk/dist/runtime/index.cjs.map +1 -1
- package/packages/sdk/dist/runtime/index.mjs +41 -0
- package/packages/sdk/dist/runtime/index.mjs.map +1 -1
- package/packages/sdk/dist/runtime/react.cjs +41 -0
- package/packages/sdk/dist/runtime/react.cjs.map +1 -1
- package/packages/sdk/dist/runtime/react.d.mts +3 -0
- package/packages/sdk/dist/runtime/react.d.ts +3 -0
- package/packages/sdk/dist/runtime/react.mjs +41 -0
- package/packages/sdk/dist/runtime/react.mjs.map +1 -1
- package/packages/sdk/source/admin-list/AdminList.tsx +47 -0
- package/packages/sdk/source/admin-list/types.ts +3 -0
package/lib/cli.js
CHANGED
|
@@ -27408,6 +27408,14 @@ function getCandidateBuildControlFiles() {
|
|
|
27408
27408
|
return unique(files).sort();
|
|
27409
27409
|
}
|
|
27410
27410
|
|
|
27411
|
+
function isDirectory(value) {
|
|
27412
|
+
try {
|
|
27413
|
+
return fs.statSync(value).isDirectory();
|
|
27414
|
+
} catch {
|
|
27415
|
+
return false;
|
|
27416
|
+
}
|
|
27417
|
+
}
|
|
27418
|
+
|
|
27411
27419
|
function getCandidateSourceFiles(plan) {
|
|
27412
27420
|
const files = new Set(plan.changedFiles || []);
|
|
27413
27421
|
for (const file of getCandidateBuildControlFiles()) files.add(file);
|
package/package.json
CHANGED
|
@@ -44438,8 +44438,11 @@ function AdminList(props) {
|
|
|
44438
44438
|
preserveSelectionAcrossPages = true,
|
|
44439
44439
|
rowActions = [],
|
|
44440
44440
|
rowKey,
|
|
44441
|
+
rowSelectable,
|
|
44442
|
+
rowSelectionReason,
|
|
44441
44443
|
searchFields = [],
|
|
44442
44444
|
selectable = true,
|
|
44445
|
+
selectedRowKeys: controlledSelectedKeys,
|
|
44443
44446
|
style,
|
|
44444
44447
|
toolbar
|
|
44445
44448
|
} = props;
|
|
@@ -44522,6 +44525,40 @@ function AdminList(props) {
|
|
|
44522
44525
|
},
|
|
44523
44526
|
[messageApi, onSelectionChange]
|
|
44524
44527
|
);
|
|
44528
|
+
(0, import_react21.useEffect)(() => {
|
|
44529
|
+
if (!controlledSelectedKeys) return;
|
|
44530
|
+
const nextKeys = [...controlledSelectedKeys];
|
|
44531
|
+
const nextKeySet = new Set(nextKeys);
|
|
44532
|
+
for (const key of selectedRowsRef.current.keys()) {
|
|
44533
|
+
if (!nextKeySet.has(key)) selectedRowsRef.current.delete(key);
|
|
44534
|
+
}
|
|
44535
|
+
for (const row of rows) {
|
|
44536
|
+
const key = getRowKey(rowKey, row);
|
|
44537
|
+
if (nextKeySet.has(key)) selectedRowsRef.current.set(key, row);
|
|
44538
|
+
}
|
|
44539
|
+
selectedKeysRef.current = nextKeys;
|
|
44540
|
+
setSelectedKeys(nextKeys);
|
|
44541
|
+
}, [controlledSelectedKeys, rowKey, rows]);
|
|
44542
|
+
(0, import_react21.useEffect)(() => {
|
|
44543
|
+
if (!rowSelectable || !selectedKeysRef.current.length || !rows.length) {
|
|
44544
|
+
return;
|
|
44545
|
+
}
|
|
44546
|
+
const disabledKeys = new Set(
|
|
44547
|
+
rows.filter((row) => !rowSelectable(row)).map((row) => getRowKey(rowKey, row))
|
|
44548
|
+
);
|
|
44549
|
+
if (!disabledKeys.size) return;
|
|
44550
|
+
const nextKeys = selectedKeysRef.current.filter(
|
|
44551
|
+
(key) => !disabledKeys.has(key)
|
|
44552
|
+
);
|
|
44553
|
+
if (nextKeys.length === selectedKeysRef.current.length) return;
|
|
44554
|
+
for (const key of disabledKeys) selectedRowsRef.current.delete(key);
|
|
44555
|
+
selectedKeysRef.current = nextKeys;
|
|
44556
|
+
setSelectedKeys(nextKeys);
|
|
44557
|
+
onSelectionChange?.({
|
|
44558
|
+
rowKeys: nextKeys,
|
|
44559
|
+
rows: nextKeys.map((key) => selectedRowsRef.current.get(key)).filter(Boolean)
|
|
44560
|
+
});
|
|
44561
|
+
}, [onSelectionChange, rowKey, rowSelectable, rows]);
|
|
44525
44562
|
(0, import_react21.useEffect)(() => {
|
|
44526
44563
|
let active = true;
|
|
44527
44564
|
setReady(false);
|
|
@@ -45505,6 +45542,10 @@ function AdminList(props) {
|
|
|
45505
45542
|
rowSelection: selectable ? {
|
|
45506
45543
|
preserveSelectedRowKeys: preserveSelectionAcrossPages,
|
|
45507
45544
|
selectedRowKeys: selectedKeys,
|
|
45545
|
+
getCheckboxProps: (row) => ({
|
|
45546
|
+
disabled: rowSelectable ? !rowSelectable(row) : false,
|
|
45547
|
+
title: rowSelectionReason?.(row)
|
|
45548
|
+
}),
|
|
45508
45549
|
onChange: handleSelectionChange
|
|
45509
45550
|
} : void 0,
|
|
45510
45551
|
scroll: { x: "max-content" },
|