@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
62 lines (61 loc) • 2.62 kB
TypeScript
import { IWebComponentInstance } from "../../../..";
import "../../ImageTransformer.css";
import { OmniaTheming, VueComponentBase } from "../../..";
import { ImageTransformerLocalization } from "../../loc/localize";
import { MediaPickerCropTransformation, MediaPickerImageRatio, MediaPickerTransformation, ImageCropzoneRect, MediaPickerImageRatioDefinition } from "../../../../models";
import { MultilingualStore, MediaPickerStore } from "../../../../stores";
import IImageEditor from "../../tui-image-editor/interfaces";
export interface ImageTransformCropperProps {
imageTransformationData?: Array<MediaPickerTransformation>;
editorInstance: IImageEditor;
selectableRatios?: Array<MediaPickerImageRatioDefinition>;
changedImageCropAreaCallback?: (cropData: MediaPickerCropTransformation) => void;
shareableRenditions?: Array<MediaPickerCropTransformation>;
selectedRenditionId?: {
value: number;
};
isShowWarningDialog?: {
value: boolean;
};
}
declare interface ImageRatioDefinitionPicker {
isCustom: boolean;
definition: MediaPickerImageRatio;
}
export declare class ImageTransformCropper extends VueComponentBase<ImageTransformCropperProps> implements IWebComponentInstance {
imageTransformationData?: Array<MediaPickerTransformation>;
editorInstance: IImageEditor;
selectableRatios?: Array<MediaPickerImageRatioDefinition>;
changedImageCropAreaCallback?: (cropData: MediaPickerCropTransformation) => void;
shareableRenditions: Array<MediaPickerCropTransformation>;
selectedRenditionId: {
value: number;
};
isShowWarningDialog: {
value: boolean;
};
omniaTheming: OmniaTheming;
loc: ImageTransformerLocalization.locInterface;
multilingualStore: MultilingualStore;
mediaPickerStore: MediaPickerStore;
private index;
private availableImageRatioDefinitions;
private internalCropTransformationData;
private selectedCropRatio;
private customRenditions;
shareableRenditionsChanged(): void;
mounted(): void;
created(): void;
beforeDestroy(): void;
init(): void;
onCropAreaChanged(props: ImageCropzoneRect): void;
updateImageCropAreaChange(): void;
onInitCropperEvent(): void;
onSelectCropRatio(ratioPicker: ImageRatioDefinitionPicker): void;
generatedCropZone(imageCropzoneRect: ImageCropzoneRect, cropzoneRect?: number): void;
saveCropState(rendition: MediaPickerCropTransformation): void;
getCropState(ratioId: number): MediaPickerCropTransformation;
getIndex(): number;
render(): VueTsxSupport.JSX.Element;
}
export {};