@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
120 lines (119 loc) • 4.8 kB
TypeScript
import { IMediaPicker } from "@omnia/fx/ux";
import { OmniaContext } from "../../";
import { SubscriptionHandler } from "../../core";
import { GuidValue, MediaPickerEnums, MediaPickerImage, MediaPickerImageSettings, MediaPickerImageTransformationResult, MediaPickerLimitedSizeSettings, MediaPickerMedia, MediaPickerProvider, MediaPickerRenditionData, MediaPickerStorageProviderContext, MediaPickerTransformedBase64Image, MediaPickerVideo } from "../../models";
import { MediaPickerService, SettingsService } from "../../services";
import { MediaPickerStore, MultilingualStore } from "../../stores";
import { VueComponentBase, VueComponentBaseProps } from "../VueComponentBase";
import { MediaPickerLocalization } from "./loc/localize";
declare interface MediaPickerActionButton {
text: string;
show: boolean;
onClick: any;
icon?: string;
iconLeft?: boolean;
loading?: boolean;
highLighted?: boolean;
leftAligned?: boolean;
}
export declare class MediaPickerRenderer extends VueComponentBase<IMediaPicker & VueComponentBaseProps> {
selectableMediaTypes: MediaPickerEnums.OmniaMediaTypes[];
providerConfiguration?: (providers: MediaPickerProvider[]) => MediaPickerProvider[];
selectedMedia?: Array<MediaPickerImage | MediaPickerVideo> | MediaPickerImage | MediaPickerVideo;
providerContext: MediaPickerStorageProviderContext;
imageSettings?: MediaPickerImageSettings;
saved: (result: MediaPickerMedia | Array<MediaPickerMedia>) => void;
closed?: () => void;
enableGallery: boolean;
itemLimit: number;
enableMediaCaption?: boolean;
protected settingsService: SettingsService<MediaPickerLimitedSizeSettings>;
omniaContext: OmniaContext;
multilingualStore: MultilingualStore;
private localizationService;
subscriptionHandler: SubscriptionHandler;
loc: MediaPickerLocalization.locInterface;
private uxLoc;
mediaPickerService: MediaPickerService;
mediaPickerStore: MediaPickerStore;
private id_search;
private defaultEditImageMenuId;
private selectedMediasMenuId;
private activedMenuItemId;
private activedProvider;
private transformerElementName;
private editingImageActionButtons;
private convertingFromBase64ToMediaPicker;
private imgThatNeedToConvertFromBase64ToMediaPicker;
private selectedMediaGallery?;
private editingMediaIndex;
private editingMediaId;
private preSelectedImgMetada;
private mediaStates;
private cacheKey;
private galleryPanelRefreshKey;
private finishItemCount;
isSearching: boolean;
hasLoadedInfiniteScrollHandler: boolean;
searchTimeout: any;
searchQueryText: string;
currentFile: {
size: number;
width: number;
height: number;
};
static imageBankElementProvider: string;
private transformerResults;
private menuItems;
private registeredProviders;
private readonly navigationDrawerWidth;
created(): void;
private processMediaGallery;
private initMediaState;
private isMediaPickerVideo;
private init;
private preloadImageMetadata;
private processSelectedMediaInput;
private isPromise;
private handleMigrateMedia;
private EnsureDefaultImageEditProviderIsSelected;
private createMediaPickerImageFromUrl;
onKeypress(event: any): void;
private onPickerClose;
private setSearchKeyword;
onSearch(immediate?: boolean): void;
private onEditingImageSaveButtonClick;
private getFileNameFromBase64;
private onSelectMenuItem;
private onChangedExistedImage;
private getMediaProvider;
CurrentRendition(): [GuidValue, MediaPickerRenditionData[], MediaPickerTransformedBase64Image];
setActiveEditingMedia(index: number): void;
private onMediaOrderChange;
onEditingMediaIndexChange(): void;
private onMediaRemove;
private onDeleteImagePostProcessing;
private SaveAllMedia;
private updateMediaToServer;
private saveMediaToServer;
private onStateChange;
panelRef: import("vue").Ref<any>;
renderMenuItems(): VueTsxSupport.JSX.Element[];
onNewMediaBtnClick(): void;
getData(): (MediaPickerImage | MediaPickerImageTransformationResult | MediaPickerVideo)[];
renderMultiSelectPanel(): VueTsxSupport.JSX.Element;
renderLeftMenu(): VueTsxSupport.JSX.Element;
renderActionButtons(buttons: Array<MediaPickerActionButton>): JSX.Element[];
private renderEditImageForm;
private deSelectMediaItemPanel;
private renderActivedProvider;
private onCreatedProviderComponent;
private activedProviderComponent;
private isShowLoadingOverlay;
private isShowLoading;
private renderLoading;
private renderCardActions;
private renderMainForm;
render(): VueTsxSupport.JSX.Element;
}
export {};