@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
90 lines (89 loc) • 4.07 kB
TypeScript
import { VersionedLayout, VersionedLayoutDefinition, EditorDisplayModes, GuidValue, IActionButton, IEditorItem, IEditorItemPanelsRenderer, IEditorTabRegistration, IVersionedData, Layout, LayoutEditorCanvasApi, ThemeDefinition, LayoutEditorModes } from "@omnia/fx-models";
import { VersionedLayoutEditorStore } from "..";
import { VersionedLayoutStore, MultilingualStore } from "../../../stores";
import { EditorChromeStore } from "../../editorchrome";
import { OmniaUxLocalization } from "../../UxModels";
import { IVersionedLayoutDefinitionEditorTabRenderer } from "./IVersionedLayoutDefinitionEditorTabRenderer";
import { RefreshStateOption } from "./RefreshStateOption";
declare class PanelRenderer implements IEditorItemPanelsRenderer {
generateElement(h: any): JSX.Element;
}
export declare class VersionedLayoutDefinitionEditorItemPrivateImutableState {
readonly multilingualStore: MultilingualStore;
readonly editorChromeStore: EditorChromeStore;
readonly versionedLayoutEditorStore: VersionedLayoutEditorStore;
readonly versionedLayoutStore: VersionedLayoutStore;
readonly layoutThemeDefinition: ThemeDefinition;
readonly blockThemeDefinition: ThemeDefinition;
readonly enableAlternateLayouts: boolean;
readonly enableBlockLockSettings: boolean;
readonly hideDeleteButton: boolean;
readonly hideBreakpointPreview: boolean;
readonly hasEditPermission: boolean;
readonly currentIdentity: string;
readonly parentVersionedLayout: VersionedLayout;
readonly layoutEditorMode?: LayoutEditorModes;
readonly authDisabled?: boolean;
readonly layoutProvider?: string;
}
export declare class VersionedLayoutDefinitionEditorItemState {
versionedLayout: VersionedLayout;
versionedData: IVersionedData<VersionedLayoutDefinition>;
layout: Layout;
title: string;
}
export declare class VersionedLayoutDefinitionEditorItem implements IEditorItem {
private immutableState;
state: VersionedLayoutDefinitionEditorItemState;
loc: OmniaUxLocalization;
settings: {
defaultDisplayMode: EditorDisplayModes;
};
tabs: IEditorTabRegistration[];
title: string | JSX.Element | JSX.Element[];
private isCheckedOut;
private isCheckedOutToMe;
private layoutEditorCanvasApi;
private extendedtabRenderer;
private extendedRightItemExtendButtons;
private isDefaultLayout;
private _defaultLayoutEditorTabApiReadyCallBack;
panelsRenderer: PanelRenderer;
constructor(immutableState: VersionedLayoutDefinitionEditorItemPrivateImutableState, state: VersionedLayoutDefinitionEditorItemState);
private createDesignAndPreviewButton;
addRightItemExtendButton(actionButton: IActionButton): void;
addTabRenderer(tabId: GuidValue, tabName: string, tabRenderer: IVersionedLayoutDefinitionEditorTabRenderer): void;
onDefaultLayoutEditorTabApiReady(cb: (api: LayoutEditorCanvasApi) => void): void;
private setLayoutEditorCanvasApi;
private discardChanges;
private saveAsDraft;
private delete;
private publish;
private clickVersionHistory;
private checkOut;
private takeControl;
setNewVersionedData(newVersionedData: IVersionedData<VersionedLayoutDefinition>, mergeWithoutCache?: boolean, refreshStateOption?: RefreshStateOption): Promise<void>;
private setNewEditorItem;
private loadLayout;
private generateDisplayBreakpoints;
private generateAlternateLayoutMapping;
private generateVersionHistoryButton;
private generatePublishButton;
private generateDiscardButton;
private generateCheckOutButton;
private generateCloseButton;
private generateSaveAsDraftButton;
private generateDeleteButton;
private generateTakeOverButton;
private rightItemRenderer;
private rightItemExtendRenderer;
private leftItemExtendRenderer;
private leftItemRenderer;
private leftItemRendererForLayoutTab;
private emptyActionItem;
private previousJson;
private triggerAutoSave;
private fetchLayout;
onEditorActivation(): void;
}
export {};