UNPKG

@adaptabletools/adaptable

Version:

Powerful AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

71 lines (70 loc) 3.36 kB
import * as React from 'react'; import { CSSProperties } from 'react'; import { AdaptableApi } from '../../types'; import { ModuleInfo } from '../../Strategy/Interface/IModule'; import { ExpressionEditorNamedQuery } from '../../components/ExpressionEditor/NamedQueryContext'; import { BoxProps } from '../../components/Flex'; export type OnePageAdaptableWizardContextType<T> = { data: T; sections: (OnePageAdaptableWizardSection<T> | '-')[]; moduleInfo: ModuleInfo; api: AdaptableApi; namedQuery: ExpressionEditorNamedQuery; }; type CmpProps = BoxProps & { className?: string; style?: React.CSSProperties; }; export declare const SummaryTag: React.FunctionComponent<React.PropsWithChildren<CmpProps>>; export declare const SummaryText: React.FunctionComponent<React.PropsWithChildren<CmpProps>>; export declare const FormDescriptionText: React.FunctionComponent<React.PropsWithChildren<CmpProps>>; export declare const OnePageAdaptableWizardContext: React.Context<OnePageAdaptableWizardContextType<any>>; export declare function useOnePageAdaptableWizardContext<ENTITY>(): OnePageAdaptableWizardContextType<ENTITY>; export interface OnePageAdaptableWizardSection<ENTITY> { title: string; details?: React.ReactNode; isValid?: (data: ENTITY, api: AdaptableApi, context: OnePageAdaptableWizardContextType<ENTITY>) => true | string; isVisible?: (data: ENTITY, api: AdaptableApi, context: OnePageAdaptableWizardContextType<ENTITY>) => boolean; render: (data: ENTITY, index: number) => React.ReactNode; renderSummary?: (data: ENTITY, api: AdaptableApi) => React.ReactNode; } export interface OnePageAdaptableWizardProps<ENTITY> { moduleInfo: ModuleInfo; modal?: boolean; data: ENTITY; sections: (OnePageAdaptableWizardSection<ENTITY> | '-')[]; currentIndex?: number; defaultCurrentIndex?: number; defaultCurrentSectionName?: string; onSectionChange?: (index: number) => void; onHide?: VoidFunction; onFinish?: (data: ENTITY) => any; children?: React.ReactNode; style?: CSSProperties; closeText?: React.ReactNode; closeTooltip?: string; finishText?: React.ReactNode; /** * Optional override for the title rendered in the wizard header. When * absent we fall back to `moduleInfo.FriendlyName` (the standard * "Format Column" / "Styled Column" / etc. behaviour). Use this when * the wizard title should reflect the *current data* — e.g. the * Styled Column wizard wants to switch from "Styled Column" to * "Gradient" / "Percent Bar" once a type has been picked. * * Only the displayed header is affected; the kebab-case `data-name`, * `moduleInfo` context value and validators keep using the canonical * `FriendlyName`. */ moduleName?: string; /** * Persistent preview rendered as a full-width band beneath the wizard * header — visible on every step. Used by wizards (e.g. Styled Column) * that want users to see a live preview of the object they're building * as they progress. */ headerPreview?: React.ReactNode; } export declare const OnePageAdaptableWizard: <ENTITY extends unknown>(props: OnePageAdaptableWizardProps<ENTITY>) => React.JSX.Element; export declare const OnePageWizardSummary: <ENTITY extends unknown>() => React.JSX.Element; export {};