@omnia/fx-spfx
Version:
Provide Omnia Fx Sharepoint Stuffs.
70 lines (69 loc) • 2.81 kB
TypeScript
import { GuidValue, ILayoutCanvasExpansionItemInstance, WebComponentDefinition } from "@omnia/fx-models";
import { SpfxWebPartSettingMsg } from "../messagebus/internal/InternalTopics";
import { OmniaWPContainerSettingsModel } from "../models";
export interface OmniaWPState {
webComponents: WebComponentDefinition[];
displaySelectComponents: boolean;
displaySettingsComponentForm: boolean;
selectedComponentTag: string;
selectedSettingsComponentTag: string;
componentTitle: string;
settingsComponentDialog: {
visible: boolean;
};
isEditMode: boolean;
activeTab: number;
layoutItems: ILayoutCanvasExpansionItemInstance[];
customCssClases: string;
customCssStyle: string;
}
export default function useOmniaWP(webpartid: string): {
state: {
webComponents: {
title: string;
description?: string;
icon?: {
iconType: import("@omnia/fx-models").IconTypes;
role?: string;
};
featureDependencyIds?: {
toString: () => string;
}[];
requiresLicense?: {
toString: () => string;
}[];
requiredBackendRuntime?: import("@omnia/fx-models").OmniaBackendRuntimes[];
requiredClientRuntime?: import("@omnia/fx-models").OmniaClientRuntimes[];
}[];
displaySelectComponents: boolean;
displaySettingsComponentForm: boolean;
selectedComponentTag: string;
selectedSettingsComponentTag: string;
componentTitle: string;
settingsComponentDialog: {
visible: boolean;
};
isEditMode: boolean;
activeTab: number;
layoutItems: {
slots: {
header: () => JSX.Element;
content: () => JSX.Element | JSX.Element[];
};
definitionId: {
toString: () => string;
};
}[];
customCssClases: string;
customCssStyle: string;
};
populateComponentTitle: (componentManifestId: GuidValue, elementTag?: string) => void;
subscribeSpfxWebPartSettingTopic: (callback: (msg: SpfxWebPartSettingMsg) => void) => void;
subcribeMessage: (msg: SpfxWebPartSettingMsg, settings: OmniaWPContainerSettingsModel) => void;
saveComponentSettings: (value: any, settings: OmniaWPContainerSettingsModel) => Promise<void>;
onDisplayModeChanged: (mode: any) => void;
updateAdvanceCss: (settings: OmniaWPContainerSettingsModel) => void;
renderDisplayComponent: (manifestid?: GuidValue) => VueTsxSupport.JSX.Element;
renderSettingsComponent: (settings: OmniaWPContainerSettingsModel) => VueTsxSupport.JSX.Element;
init: (settings: OmniaWPContainerSettingsModel) => void;
};