Updated Scheduled Job List Screenshot

This commit is contained in:
2025-11-15 06:48:19 -07:00
parent f4fb060114
commit 0b56573d7e
2 changed files with 13 additions and 10 deletions

View File

@@ -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