|
127 | 127 | }
|
128 | 128 | };
|
129 | 129 |
|
130 |
| - const tableHeadings = ['eName', 'Uptime', 'IP', 'URI']; |
131 |
| -
|
132 |
| - const pages = [ |
133 |
| - { name: '1', href: '#' }, |
134 |
| - { name: '2', href: '#' }, |
135 |
| - { name: '3', href: '#' } |
136 |
| - ]; |
137 |
| -
|
138 | 130 | // Handle eVault selection changes
|
139 | 131 | function handleEVaultSelectionChange(index: number, checked: boolean) {
|
| 132 | + // Convert page-relative index to global index |
| 133 | + const globalIndex = (currentPage - 1) * itemsPerPage + index; |
| 134 | +
|
140 | 135 | if (checked) {
|
141 |
| - selectedEVaults = [...selectedEVaults, index]; |
| 136 | + selectedEVaults = [...selectedEVaults, globalIndex]; |
142 | 137 | } else {
|
143 |
| - selectedEVaults = selectedEVaults.filter((i) => i !== index); |
| 138 | + selectedEVaults = selectedEVaults.filter((i) => i !== globalIndex); |
144 | 139 | }
|
145 | 140 |
|
146 | 141 | // Store selections immediately in sessionStorage
|
|
332 | 327 | bind:searchValue={evaultsSearchValue}
|
333 | 328 | rightTitle={selectedEVaults.length > 0
|
334 | 329 | ? `${selectedEVaults.length} eVault${selectedEVaults.length === 1 ? '' : 's'} selected`
|
335 |
| - : 'Monitoring all eVault pods across Kubernetes clusters'} |
| 330 | + : ''} |
336 | 331 | showClearSelection={selectedEVaults.length > 0}
|
337 | 332 | onClearSelection={clearEVaultSelection}
|
338 | 333 | />
|
|
359 | 354 | {:else}
|
360 | 355 | <Table
|
361 | 356 | class="mb-4"
|
362 |
| - tableData={mappedEVaultsData} |
| 357 | + tableData={mappedEVaultsData()} |
363 | 358 | withSelection={true}
|
364 |
| - {handlePreviousPage} |
365 |
| - {handleNextPage} |
| 359 | + withPagination={false} |
366 | 360 | handleSelectedRow={handleEVaultRowClick}
|
367 | 361 | onSelectionChange={handleEVaultSelectionChange}
|
368 | 362 | onSelectAllChange={handleSelectAllEVaults}
|
369 |
| - selectedIndices={selectedEVaults} |
| 363 | + selectedIndices={selectedEVaults |
| 364 | + .map((globalIndex) => { |
| 365 | + const pageStart = (currentPage - 1) * itemsPerPage; |
| 366 | + const pageEnd = pageStart + itemsPerPage; |
| 367 | + if (globalIndex >= pageStart && globalIndex < pageEnd) { |
| 368 | + return globalIndex - pageStart; |
| 369 | + } |
| 370 | + return -1; // Not on current page |
| 371 | + }) |
| 372 | + .filter((index) => index !== -1)} |
370 | 373 | />
|
371 | 374 |
|
372 | 375 | <!-- Pagination Info -->
|
|
408 | 411 | bind:searchValue={platformsSearchQuery}
|
409 | 412 | rightTitle={selectedPlatforms.length > 0
|
410 | 413 | ? `${selectedPlatforms.length} platform${selectedPlatforms.length === 1 ? '' : 's'} selected`
|
411 |
| - : 'No platform selected. Select a platform to monitor logs'} |
| 414 | + : ''} |
412 | 415 | showClearSelection={selectedPlatforms.length > 0}
|
413 | 416 | onClearSelection={clearPlatformSelection}
|
414 | 417 | />
|
|
433 | 436 | {:else}
|
434 | 437 | <Table
|
435 | 438 | class="mb-4"
|
436 |
| - tableData={mappedPlatformsData} |
| 439 | + tableData={mappedPlatformsData()} |
437 | 440 | withSelection={true}
|
| 441 | + withPagination={false} |
438 | 442 | onSelectionChange={handlePlatformSelectionChange}
|
439 | 443 | onSelectAllChange={handleSelectAllPlatforms}
|
440 | 444 | selectedIndices={selectedPlatforms}
|
|
0 commit comments