@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
73 lines (72 loc) • 2.73 kB
TypeScript
import { VNode } from "vue";
import { Block, BlockLayoutSettings, SectionSettings } from "../../../../models";
import { ThemingRenditionManager } from "../../";
import { LayoutItem } from "../../../../models";
import { LayoutCanvasStore, BlockCatalogStore } from "../../";
import { VueComponentBaseProps, VueComponentBase, VueComponentBaseEvents } from "../../../VueComponentBase";
import { SettingsService, MediaPickerService } from "../../../../services";
import { UserTargetingStore, BlockTitleSettingsStore, MultilingualStore } from "../../../../stores";
import { SubscriptionHandler } from "../../../..";
import { BlockInstance, LayoutMediaContext, LayoutFileContext, ThemeStore } from "../../../";
import { AnchorLink } from "../../../AnchorLink";
import { OmniaContext } from "../../../../contexts";
export interface BlockRendererProps extends VueComponentBaseProps {
block: Block;
parentContainer: LayoutItem;
settings: SectionSettings;
}
interface BlockRendererEvents extends VueComponentBaseEvents {
onGetBlock?: {
blockGetterFunc: (block: Block) => void;
};
onBlockInstanceCreated?: BlockInstance;
onBlockInstanceCacheKeyUpdated?: BlockInstance;
}
export declare class LayoutBlockRenderer extends VueComponentBase<BlockRendererProps, BlockRendererEvents> {
block: Block;
parentContainer: LayoutItem;
settings: SectionSettings;
useClickProtection: boolean;
protected settingsService: SettingsService<any>;
layoutEditorStore: LayoutCanvasStore;
layoutMediaContext: LayoutMediaContext;
layoutFileContext: LayoutFileContext;
blockTitleSettingsStore: BlockTitleSettingsStore;
targetingStore: UserTargetingStore;
layoutItemStore: BlockCatalogStore;
mediaPickerService: MediaPickerService;
themeStore: ThemeStore;
themingRenditionManager: ThemingRenditionManager;
subscriptionHandler: SubscriptionHandler;
omniaContext: OmniaContext;
multilingualStore: MultilingualStore;
blockInstance: BlockInstance;
anchorLink: AnchorLink;
private isHideBlock;
private targetCurrentUser;
private isEditMode;
private isLazyLoad;
onBlockChanged(): void;
beforeCreate(): void;
created(): void;
beforeDestroy(): void;
private scrollIntoViewDisabled;
private handleAnchorLink;
private get backgroundImage();
/**
* Creates the element
* @param h
*/
createElement(): VNode;
private getThemeTargetId;
private createAnchorElement;
private getAnchorName;
hideBlock(isHide: boolean): void;
checkTargetingValue(settings: BlockLayoutSettings): void;
/**
* Render
* @param h
*/
render(): VueTsxSupport.JSX.Element;
}
export {};