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:
parent
6b5c24faff
commit
0dc1805881
46 changed files with 969 additions and 850 deletions
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue