1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-22 23:09:41 +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

@ -13,7 +13,10 @@ import {
buildAction,
QuickActionsSettings,
} from '@@/datatables/QuickActionsSettings';
import { ColumnVisibilityMenu } from '@@/datatables/ColumnVisibilityMenu';
import {
ColumnVisibilityMenu,
getColumnVisibilityState,
} from '@@/datatables/ColumnVisibilityMenu';
import { TableSettingsProvider } from '@@/datatables/useTableSettings';
import { useTableState } from '@@/datatables/useTableState';
@ -64,38 +67,23 @@ export function StackContainersDatatable({ environment, stackName }: Props) {
endpointId={environment.Id}
/>
)}
initialTableState={{
columnVisibility: Object.fromEntries(
tableState.hiddenColumns.map((col) => [col, false])
),
}}
renderTableSettings={(tableInstance) => {
const columnsToHide = tableInstance
.getAllColumns()
.filter((col) => col.getCanHide());
return (
<>
<ColumnVisibilityMenu<DockerContainer>
columns={columnsToHide}
onChange={(hiddenColumns) => {
tableState.setHiddenColumns(hiddenColumns);
tableInstance.setColumnVisibility(
Object.fromEntries(
hiddenColumns.map((col) => [col, false])
)
);
}}
value={tableState.hiddenColumns}
/>
<Table.SettingsMenu
quickActions={<QuickActionsSettings actions={actions} />}
>
<ContainersDatatableSettings settings={tableState} />
</Table.SettingsMenu>
</>
);
}}
initialTableState={getColumnVisibilityState(tableState.hiddenColumns)}
renderTableSettings={(tableInstance) => (
<>
<ColumnVisibilityMenu<DockerContainer>
table={tableInstance}
onChange={(hiddenColumns) => {
tableState.setHiddenColumns(hiddenColumns);
}}
value={tableState.hiddenColumns}
/>
<Table.SettingsMenu
quickActions={<QuickActionsSettings actions={actions} />}
>
<ContainersDatatableSettings settings={tableState} />
</Table.SettingsMenu>
</>
)}
dataset={containersQuery.data || []}
isLoading={containersQuery.isLoading}
emptyContentLabel="No containers found"