mirror of
https://github.com/bunny-lab-io/Borealis.git
synced 2025-12-16 06:45:48 -07:00
Updated Scheduled Job List Screenshot
This commit is contained in:
@@ -173,6 +173,11 @@ export default function ScheduledJobsList({ onCreateJob, onEditJob, refreshToken
|
|||||||
const [assembliesError, setAssembliesError] = useState("");
|
const [assembliesError, setAssembliesError] = useState("");
|
||||||
const gridApiRef = useRef(null);
|
const gridApiRef = useRef(null);
|
||||||
|
|
||||||
|
const deriveRowKey = useCallback((row, index = "") => {
|
||||||
|
const candidate = row?.id ?? row?.name ?? index ?? "";
|
||||||
|
return String(candidate);
|
||||||
|
}, []);
|
||||||
|
|
||||||
const assembliesCellRenderer = useCallback((params) => {
|
const assembliesCellRenderer = useCallback((params) => {
|
||||||
const list = params?.data?.componentsMeta || [];
|
const list = params?.data?.componentsMeta || [];
|
||||||
if (!list.length) {
|
if (!list.length) {
|
||||||
@@ -380,7 +385,7 @@ export default function ScheduledJobsList({ onCreateJob, onEditJob, refreshToken
|
|||||||
setSelectedIds((prev) => {
|
setSelectedIds((prev) => {
|
||||||
if (!prev.size) return prev;
|
if (!prev.size) return prev;
|
||||||
const valid = new Set(
|
const valid = new Set(
|
||||||
mappedRows.map((row, index) => row.id ?? row.name ?? String(index))
|
mappedRows.map((row, index) => deriveRowKey(row, index))
|
||||||
);
|
);
|
||||||
let changed = false;
|
let changed = false;
|
||||||
const next = new Set();
|
const next = new Set();
|
||||||
@@ -403,7 +408,7 @@ export default function ScheduledJobsList({ onCreateJob, onEditJob, refreshToken
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
[assemblyIndex]
|
[assemblyIndex, deriveRowKey]
|
||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -466,7 +471,8 @@ export default function ScheduledJobsList({ onCreateJob, onEditJob, refreshToken
|
|||||||
const api = gridApiRef.current;
|
const api = gridApiRef.current;
|
||||||
if (!api) return;
|
if (!api) return;
|
||||||
api.forEachNode((node) => {
|
api.forEachNode((node) => {
|
||||||
const shouldSelect = selectedIds.has(node.id);
|
const nodeId = String(node?.id ?? "");
|
||||||
|
const shouldSelect = selectedIds.has(nodeId);
|
||||||
if (node.isSelected() !== shouldSelect) {
|
if (node.isSelected() !== shouldSelect) {
|
||||||
node.setSelected(shouldSelect);
|
node.setSelected(shouldSelect);
|
||||||
}
|
}
|
||||||
@@ -488,13 +494,10 @@ export default function ScheduledJobsList({ onCreateJob, onEditJob, refreshToken
|
|||||||
setSelectedIds(next);
|
setSelectedIds(next);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const getRowId = useCallback((params) => {
|
const getRowId = useCallback(
|
||||||
return (
|
(params) => deriveRowKey(params?.data, params?.rowIndex),
|
||||||
params?.data?.id ??
|
[deriveRowKey]
|
||||||
params?.data?.name ??
|
|
||||||
String(params?.rowIndex ?? "")
|
|
||||||
);
|
);
|
||||||
}, []);
|
|
||||||
|
|
||||||
const nameCellRenderer = useCallback(
|
const nameCellRenderer = useCallback(
|
||||||
(params) => {
|
(params) => {
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 214 KiB |
Reference in New Issue
Block a user