import { ViewType } from '@oinone/kunlun-meta'; import { ButtonBizStyle, ButtonType } from '@oinone/kunlun-vue-ui-common'; type StateEntity = { readonly handle: string; [key: string]: any; }; export interface RenderPosition { handle: string; slotName?: string; rowIndex?: number; } export interface OioGlobalState { fullscreen: boolean; disabledRelationQuery?: boolean; mainViewHandle?: string; getMainViewState(): OioAnyViewState | undefined; } export interface OioViewState extends StateEntity { /** * Vue生命周期时可能有值,用于获取渲染参数处理属性多态的问题 */ __position: RenderPosition[]; fullscreen: boolean; viewType?: ViewType; popupScene?: string; createActionBarState(options: { handle: string; } & Partial>): OioActionBarState; /** * 此获取方法仅能用在Vue生命周期,否则无法准确获取真实的ActionBar状态变量 */ getActionBarState(rowIndex?: number): OioActionBarState | undefined; pushField(handle: string, rowIndex?: number): void; popField(handle: string, rowIndex?: number): void; pushAction(handle: string, rowIndex?: number): void; popAction(handle: string, rowIndex?: number): void; } export interface OioActionBarState extends StateEntity { inline?: boolean; actions: string[]; visibleActions: string[]; bizStyle?: string; getActionBarBizStyle?(actionHandle: string): { type: ButtonType; bizStyle: ButtonBizStyle; } | undefined; } export interface OioTableViewState extends OioViewState { searchView?: string; actionBar?: OioActionBarState; actionBars?: Record; inlineActionBars?: OioActionBarState[]; table?: string; fields?: string[]; fieldWidgets?: Record; } export interface OioSearchViewState extends OioViewState { search?: string; fields?: string[]; fieldWidgets?: Record; } export interface OioFormViewState extends OioViewState { draftCode?: string; actionBar?: OioActionBarState; actionBars?: Record; form?: string; fields?: string[]; fieldWidgets?: Record; } export interface OioDetailViewState extends OioViewState { actionBar?: OioActionBarState; actionBars?: Record; detail?: string; disabledRelationQuery?: boolean; fields?: string[]; fieldWidgets?: Record; } export interface OioCardState extends StateEntity { titleProps?: Record; contentProps?: Record; fields?: string[]; fieldWidgets?: Record; } export interface OioGalleryViewState extends OioViewState { searchView?: string; actionBar?: OioActionBarState; inlineActionBars?: OioActionBarState[]; gallery?: string; cards?: OioCardState[]; } export interface OioTreeViewState extends OioViewState { searchView?: string; actionBar?: OioActionBarState; tree?: string; fields?: string[]; fieldWidgets?: Record; } export type OioAnyViewState = OioTableViewState | OioSearchViewState | OioFormViewState | OioDetailViewState | OioGalleryViewState | OioTreeViewState; export type OioListViewState = OioTableViewState | OioGalleryViewState; export type OioObjectViewState = OioFormViewState | OioDetailViewState | OioSearchViewState; export declare function isTableViewState(state: OioAnyViewState): state is OioTableViewState; export declare function isSearchViewState(state: OioAnyViewState): state is OioSearchViewState; export declare function isFormViewState(state: OioAnyViewState): state is OioFormViewState; export declare function isDetailViewState(state: OioAnyViewState): state is OioDetailViewState; export declare function isGalleryViewState(state: OioAnyViewState): state is OioGalleryViewState; export declare function isTreeViewState(state: OioAnyViewState): state is OioTreeViewState; export declare function isListViewState(state: OioAnyViewState): state is OioListViewState; export declare function isObjectViewState(state: OioAnyViewState): state is OioObjectViewState; export declare function hasFieldsViewState(state: OioAnyViewState): state is OioTableViewState | OioFormViewState | OioDetailViewState; export declare function hasActionBarViewState(state: OioAnyViewState): state is OioTableViewState | OioFormViewState | OioDetailViewState | OioGalleryViewState | OioTreeViewState; export declare function hasRowActionBarViewState(state: OioAnyViewState): state is OioTableViewState | OioGalleryViewState; export {};