@kinvolk/headlamp-plugin
Version:
The needed infrastructure for building Headlamp plugins.
44 lines (43 loc) • 2.03 kB
TypeScript
import type { PayloadAction } from '@reduxjs/toolkit';
import type { ReactElement } from 'react';
import type { ClusterChooserType } from '../components/cluster/ClusterChooser';
export type FunctionsToOverride = {
setToken?: (cluster: string, token: string | null) => void;
getToken?: (cluster: string) => string | undefined;
};
export interface UIPanel {
/** Unique ID for this panel */
id: string;
/** Panel location */
side: 'top' | 'right' | 'bottom' | 'left';
/** React component that will be rendered inside the panel */
component: (props: any) => ReactElement;
}
export interface UIState {
isVersionDialogOpen: boolean;
clusterChooserButtonComponent?: ClusterChooserType;
hideAppBar?: boolean;
isFullWidth?: boolean;
functionsToOverride: FunctionsToOverride;
panels: Array<UIPanel>;
}
export declare const INITIAL_UI_STATE: UIState;
export declare const uiSlice: import("@reduxjs/toolkit").Slice<UIState, {
setHideAppBar(state: import("immer").WritableDraft<UIState>, action: PayloadAction<boolean | undefined>): void;
setClusterChooserButton(state: import("immer").WritableDraft<UIState>, action: PayloadAction<ClusterChooserType | undefined>): void;
setVersionDialogOpen(state: import("immer").WritableDraft<UIState>, action: PayloadAction<boolean>): void;
setFunctionsToOverride(state: import("immer").WritableDraft<UIState>, action: PayloadAction<FunctionsToOverride>): void;
setIsFullWidth(state: import("immer").WritableDraft<UIState>, action: PayloadAction<boolean | undefined>): void;
addUIPanel(state: import("immer").WritableDraft<UIState>, action: PayloadAction<UIPanel>): void;
}, "ui", "ui", import("@reduxjs/toolkit").SliceSelectors<UIState>>;
/**
* @returns UI panels grouped by their location
*/
export declare const useUIPanelsGroupedBySide: () => {
top: UIPanel[];
right: UIPanel[];
left: UIPanel[];
bottom: UIPanel[];
};
declare const _default: import("redux").Reducer<UIState>;
export default _default;