Skip to content

Commit 2cb9322

Browse files
committed
chore: control panel visual
1 parent a5676ef commit 2cb9322

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

infrastructure/control-panel/src/lib/ui/Table/Table.svelte

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
sortOrder?: 'asc' | 'desc';
7070
onSelectionChange?: (index: number, checked: boolean) => void;
7171
onSelectAllChange?: (checked: boolean) => void;
72+
selectedIndices?: number[]; // Array of selected row indices
7273
}
7374
7475
let {
@@ -92,6 +93,7 @@
9293
sortOrder,
9394
onSelectionChange,
9495
onSelectAllChange,
96+
selectedIndices = [],
9597
...restProps
9698
}: ITableProps = $props();
9799
@@ -100,6 +102,25 @@
100102
let checkAll = $state(false);
101103
let checkItems = $derived<boolean[]>(tableData.map(() => false));
102104
105+
// Sync checkbox states with selectedIndices prop
106+
$effect(() => {
107+
if (selectedIndices && selectedIndices.length > 0) {
108+
// Update individual checkboxes based on selectedIndices
109+
checkItems.forEach((_, index) => {
110+
checkItems[index] = selectedIndices.includes(index);
111+
});
112+
113+
// Update header checkbox state
114+
checkAll = selectedIndices.length === tableData.length;
115+
} else {
116+
// Clear all selections
117+
checkItems.forEach((_, index) => {
118+
checkItems[index] = false;
119+
});
120+
checkAll = false;
121+
}
122+
});
123+
103124
function toggleCheckAll(checked: boolean) {
104125
checkAll = checked;
105126

infrastructure/control-panel/src/routes/+page.svelte

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@
262262
handleSelectedRow={handleEVaultRowClick}
263263
onSelectionChange={handleEVaultSelectionChange}
264264
onSelectAllChange={handleSelectAllEVaults}
265+
selectedIndices={selectedEVaults}
265266
/>
266267
{/if}
267268
</TableCard>
@@ -304,6 +305,7 @@
304305
{handleNextPage}
305306
onSelectionChange={handlePlatformSelectionChange}
306307
onSelectAllChange={handleSelectAllPlatforms}
308+
selectedIndices={selectedPlatforms}
307309
/>
308310
{/if}
309311
</TableCard>

0 commit comments

Comments
 (0)