@aurigma/design-atoms
Version:
Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.
83 lines (82 loc) • 4.49 kB
TypeScript
import { EventWithSenderArg } from "@aurigma/design-atoms-model/EventObject";
import { ContentItemHandler } from "./ContentItemHandler";
import { PlaceholderItemHandler } from "./PlaceholderItemHandler";
import { ImageHandlerData } from "./ImageHandlerData";
import { ImageItem, ResizeMode, ImageEffect } from "@aurigma/design-atoms-model/Product/Items";
import * as TextWhizz from "@aurigma/text-whizz/TextWhizzJS";
import { IPermissions } from "../Permission";
import { IListenableColorPreviewService } from "../Services/IColorPreviewService";
import { IDesignAtomsApiClient } from "../Services/IDesignAtomsApiClient";
import { Color } from "@aurigma/design-atoms-model";
export { ImageEffect };
export declare type ImageLoadOpions = {
downloadToServerCache?: boolean;
actualSize?: boolean;
saveAspectRatio?: boolean;
};
export declare class ImageItemHandler extends ContentItemHandler {
private _sourceImageHorizontalResolution;
private _sourceImageVerticalResolution;
private _maxImageSize;
protected _saveAspectRatio: boolean;
protected _actualSize: boolean;
protected _takeIntoAccountImageDpi: boolean;
protected _sourceUrl: string;
protected _qualityChangeContainer: HTMLElement;
protected _qualityChangeScaleBar: HTMLElement;
protected _qualityChangeInfoBar: HTMLElement;
protected _imageResizedEvent: EventWithSenderArg<this, IImageResizedData>;
static readonly typeName: string;
constructor(item?: ImageItem, textWhizz?: typeof TextWhizz, apiClient?: IDesignAtomsApiClient, colorPreviewService?: IListenableColorPreviewService);
get item(): ImageItem;
set item(item: ImageItem);
get needToDownloadImage(): boolean;
set needToDownloadImage(v: boolean);
get takeIntoAccountImageDpi(): boolean;
set takeIntoAccountImageDpi(v: boolean);
get sourceImageHorizontalResolution(): number;
set sourceImageHorizontalResolution(value: number);
get sourceImageVerticalResolution(): number;
set sourceImageVerticalResolution(value: number);
get qualityChangeScaleBar(): HTMLElement;
set qualityChangeScaleBar(v: HTMLElement);
get qualityChangeInfoBar(): HTMLElement;
set qualityChangeInfoBar(v: HTMLElement);
get qualityChangeContainer(): HTMLElement;
set qualityChangeContainer(v: HTMLElement);
get isQualityChangeBarEmpty(): boolean;
/**
* Loads an image from the external source using the specified parameters.
* @param sourceUrl The URL to load image from.
* @param options.actualSize specifies whether a size of the image item should be same as a size of loaded image
* @param options.saveAspectRatio specifies whether to decrease width or height of the ImageItemHandler to save aspect ratio of loaded image.
* @param options.downloadToServerCache specifies whether the bitmap should be loaded to the private cache
* @returns storage id of loaded image
*/
loadImage(sourceUrl: string, options?: ImageLoadOpions): Promise<string>;
loadImageFromRemoteUrl(remoteUrl: string, appDomainUrl?: string): Promise<void>;
showEditButton(): boolean;
addImageResized(handler: (sender?: ImageItemHandler, data?: IImageResizedData) => any): void;
removeImageResized(handler: (sender?: ImageItemHandler, data?: IImageResizedData) => any): void;
onResized(): boolean;
setQualityChangeScaleBarWidth(progress: number): void;
setQualityChangeInfoBarText(value: string): void;
setBadToWarningChangeScaleBarClass(): void;
setWarningToGoodChangeScaleBarClass(): void;
setBadToGoodChangeScaleBarClass(): void;
updateRectangle(keepLocation?: boolean, resizeMode?: ResizeMode, parentPlaceholder?: PlaceholderItemHandler, hiResOutputDpi?: number): void;
protected _updateImpl(beforeUpdate?: Function, afterUpdate?: Function): Promise<void>;
protected _getDrawingFillColor(): Color;
protected _setDataItem(item: ImageItem, itemHandlerData: any): void;
protected _onItemPropertyChanged(sender: ImageItem, propertyName: string): void;
protected _getDefaultPermissions(): IPermissions;
protected _createDataInstance(itemHandler?: ImageItemHandler): ImageHandlerData;
protected _updateImageUrl(): void;
protected _createImageUrl(): string;
private _getColorLessContainer;
private _getDitherSettings;
}
export interface IImageResizedData {
Width: number;
Height: number;
}