UNPKG

@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
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; }