mirror of
https://github.com/portainer/portainer.git
synced 2025-07-19 13:29:41 +02:00
refactor(kube/apps): migrate table to react [EE-4685] (#11028)
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run
This commit is contained in:
parent
e9ebef15a0
commit
76e49ed9a8
41 changed files with 756 additions and 903 deletions
|
@ -16,14 +16,19 @@ export interface TableSettings
|
|||
|
||||
export function DefaultDatatableSettings({
|
||||
settings,
|
||||
onShowSystemChange,
|
||||
}: {
|
||||
settings: TableSettings;
|
||||
onShowSystemChange?(showSystem: boolean): void;
|
||||
}) {
|
||||
return (
|
||||
<>
|
||||
<SystemResourcesSettings
|
||||
value={settings.showSystemResources}
|
||||
onChange={(value) => settings.setShowSystemResources(value)}
|
||||
onChange={(value) => {
|
||||
settings.setShowSystemResources(value);
|
||||
onShowSystemChange?.(value);
|
||||
}}
|
||||
/>
|
||||
|
||||
<TableSettingsMenuAutoRefresh
|
||||
|
|
|
@ -1,18 +1,36 @@
|
|||
import { refreshableSettings, createPersistedStore } from '@@/datatables/types';
|
||||
import { useState } from 'react';
|
||||
|
||||
import {
|
||||
refreshableSettings,
|
||||
createPersistedStore,
|
||||
ZustandSetFunc,
|
||||
} from '@@/datatables/types';
|
||||
import { useTableState } from '@@/datatables/useTableState';
|
||||
|
||||
import { TableSettings } from './DefaultDatatableSettings';
|
||||
import { systemResourcesSettings } from './SystemResourcesSettings';
|
||||
|
||||
export function createStore(
|
||||
export function createStore<T extends TableSettings>(
|
||||
storageKey: string,
|
||||
initialSortBy: string | { id: string; desc: boolean } = 'name'
|
||||
initialSortBy?: string | { id: string; desc: boolean },
|
||||
create: (set: ZustandSetFunc<T>) => Omit<T, keyof TableSettings> = () =>
|
||||
({}) as T
|
||||
) {
|
||||
return createPersistedStore<TableSettings>(
|
||||
return createPersistedStore<T>(
|
||||
storageKey,
|
||||
initialSortBy,
|
||||
(set) => ({
|
||||
...refreshableSettings(set),
|
||||
...systemResourcesSettings(set),
|
||||
})
|
||||
(set) =>
|
||||
({
|
||||
...refreshableSettings(set),
|
||||
...systemResourcesSettings(set),
|
||||
...create(set),
|
||||
}) as T
|
||||
);
|
||||
}
|
||||
|
||||
export function useKubeStore<T extends TableSettings>(
|
||||
...args: Parameters<typeof createStore<T>>
|
||||
) {
|
||||
const [store] = useState(() => createStore(...args));
|
||||
return useTableState(store, args[0]);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue