1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-25 08:19:40 +02:00

refactor(docker/services): convert services table to react [EE-4675] (#10289)

This commit is contained in:
Chaim Lev-Ari 2023-10-22 11:32:05 +02:00 committed by GitHub
parent 6b5c24faff
commit 0dc1805881
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
46 changed files with 969 additions and 850 deletions

View file

@ -2,6 +2,7 @@ import { Layers } from 'lucide-react';
import { Datatable } from '@@/datatables';
import { useTableState } from '@@/datatables/useTableState';
import { getColumnVisibilityState } from '@@/datatables/ColumnVisibilityMenu';
import { useEdgeStacks } from '../../queries/useEdgeStacks';
import { EdgeStack, StatusType } from '../../types';
@ -33,6 +34,7 @@ export function EdgeStacksDatatable() {
titleIcon={Layers}
columns={columns}
dataset={edgeStacksQuery.data || []}
initialTableState={getColumnVisibilityState(tableState.hiddenColumns)}
settingsManager={tableState}
emptyContentLabel="No stack available."
isLoading={edgeStacksQuery.isLoading}

View file

@ -14,24 +14,17 @@ export function TableSettingsMenus({
tableInstance: Table<DecoratedEdgeStack>;
tableState: TableSettings;
}) {
const columnsToHide = tableInstance
.getAllColumns()
.filter((col) => col.getCanHide());
return (
<>
{columnsToHide && columnsToHide.length > 0 && (
<ColumnVisibilityMenu<DecoratedEdgeStack>
columns={columnsToHide}
onChange={(hiddenColumns) => {
tableState.setHiddenColumns(hiddenColumns);
tableInstance.setColumnVisibility(
Object.fromEntries(hiddenColumns.map((col) => [col, false]))
);
}}
value={tableState.hiddenColumns}
/>
)}
(
<ColumnVisibilityMenu<DecoratedEdgeStack>
table={tableInstance}
onChange={(hiddenColumns) => {
tableState.setHiddenColumns(hiddenColumns);
}}
value={tableState.hiddenColumns}
/>
)
<TableSettingsMenu>
<TableSettingsMenuAutoRefresh
value={tableState.autoRefreshRate}