UNPKG

@kinvolk/headlamp-plugin

Version:

The needed infrastructure for building Headlamp plugins.

67 lines (66 loc) 3.19 kB
import { PayloadAction } from '@reduxjs/toolkit'; import { ReactNode } from 'react'; import { KubeObject } from '../../lib/k8s/KubeObject'; import { DetailsViewSectionType } from './DetailsViewSection'; export type DetailsViewSection = { id: string; section?: DetailsViewSectionType; }; export declare enum DefaultDetailsViewSection { METADATA = "METADATA", BACK_LINK = "BACK_LINK", MAIN_HEADER = "MAIN_HEADER", EVENTS = "EVENTS", ERROR = "ERROR", LOADING = "LOADING", CHILDREN = "CHILDREN" } type HeaderActionFuncType = (resource: KubeObject | null, sections: (DetailsViewSection | ReactNode)[]) => DetailsViewSection[]; export type DetailsViewsSectionProcessor = { id: string; processor: HeaderActionFuncType; }; export type DetailsViewSectionProcessorArgs = { actions: DetailsViewSection[]; }; export type DetailsViewSectionProcessorType = (info: DetailsViewSectionProcessorArgs) => DetailsViewSection[]; export type DetailsViewSectionsProcessor = { id: string; processor: DetailsViewSectionProcessorType; }; export interface DetailsViewSectionState { /** * List of details views. */ detailViews: DetailsViewSectionType[]; /** * List of details view sections. */ detailsViewSections: DetailsViewSection[]; /** * List of details view sections processors. */ detailsViewSectionsProcessors: DetailsViewsSectionProcessor[]; } declare const detailsViewSectionSlice: import("@reduxjs/toolkit").Slice<DetailsViewSectionState, { /** * Sets details view. */ setDetailsView(state: import("immer").WritableDraft<DetailsViewSectionState>, action: PayloadAction<DetailsViewSectionType>): void; /** * Sets details view section. * * If the processor is passed as a function, it will be wrapped in an object with a generated ID. */ setDetailsViewSection(state: import("immer").WritableDraft<DetailsViewSectionState>, action: PayloadAction<DetailsViewSectionType | DetailsViewSection>): void; /** * Adds a details view sections processor. * * If the processor is passed as a function, it will be wrapped in an object with a generated ID. */ addDetailsViewSectionsProcessor(state: import("immer").WritableDraft<DetailsViewSectionState>, action: PayloadAction<DetailsViewsSectionProcessor | DetailsViewsSectionProcessor["processor"]>): void; }, "detailsViewSection", "detailsViewSection", import("@reduxjs/toolkit").SliceSelectors<DetailsViewSectionState>>; export declare const addDetailsViewSectionsProcessor: import("@reduxjs/toolkit").ActionCreatorWithPayload<DetailsViewsSectionProcessor | HeaderActionFuncType, "detailsViewSection/addDetailsViewSectionsProcessor">, setDetailsView: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<DetailsViewSectionType, "detailsViewSection/setDetailsView">, setDetailsViewSection: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<DetailsViewSectionType | DetailsViewSection, "detailsViewSection/setDetailsViewSection">; export { detailsViewSectionSlice }; declare const _default: import("redux").Reducer<DetailsViewSectionState>; export default _default;