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.

182 lines 9.19 kB
import { MultiCallRequest } from "./MultiCallRequest"; import { ItemHandlerImageLoaderService } from "./ItemHandlerImageLoaderService"; import * as Utils from "@aurigma/design-atoms-model/Utils/Utils"; export class Service { constructor(designAtomsApiClient) { this._designAtomsApiClient = null; this._multiCallEnabled = false; this._nextMultiCallRequest = null; this._updateShapeItemHandler = (canvasData, itemHandlerData, itemData, colorSettings, resolve, failure) => { const data = { canvasData: canvasData, itemData: itemData, itemHandlerData: itemHandlerData, }; this._designAtomsApiClient.sendRequest("UpdateShapeItemHandler", data, resolve, failure); }; this._updateByColorData = (canvasData, colorData, itemData, colorSettings, /* not used but required */ resolve, failure) => { const data = { canvasData: canvasData, colorData: colorData, }; this._designAtomsApiClient.sendRequest("UpdateByColorData", data, resolve, failure); }; this._updateBoundedTextItemHandler = (canvasData, itemHandlerData, itemData, colorSettings, resolve, failure) => { const data = { itemData: itemData, canvasData: canvasData, itemHandlerData: itemHandlerData, colorSettings: colorSettings }; this._designAtomsApiClient.sendRequest("UpdateBoundedTextItemHandler", data, resolve, failure); }; this._updatePlainTextItemHandler = (canvasData, itemHandlerData, itemData, colorSettings, resolve, failure) => { const data = { itemData: itemData, canvasData: canvasData, itemHandlerData: itemHandlerData, colorSettings: colorSettings }; this._designAtomsApiClient.sendRequest("UpdatePlainTextItemHandler", data, resolve, failure); }; this._designAtomsApiClient = designAtomsApiClient; this.imageLoaderService = new ItemHandlerImageLoaderService(Utils.urlCombine(designAtomsApiClient.backendUrl, `/api/ccviewer`)); } get multiCallEnabled() { return this._multiCallEnabled; } set multiCallEnabled(value) { this._multiCallEnabled = value; } get multiCallStarted() { return this._nextMultiCallRequest != null && this._nextMultiCallRequest.multiCallStarted; } beginMultiCall() { if (!this.multiCallEnabled) return; if (!this.multiCallStarted) this._nextMultiCallRequest = new MultiCallRequest(this, this.imageLoaderService); this._nextMultiCallRequest.beginMultiCall(); } endMultiCall(requestImage = true) { if (!this.multiCallEnabled) return Promise.resolve(false); if (!this.multiCallStarted) throw new Error("ServiceProxy: beginMultiCall should be called first to start MultiCall."); return this._nextMultiCallRequest.endMultiCall(requestImage); } UpdateImageItemHandler(canvasData, itemHandlerData, itemData, colorSettings, actualSize, preserveAspectRatio, url, resolve, failure) { const data = { canvasData: canvasData, itemHandlerData: itemHandlerData, itemData: itemData, actualSize: actualSize, preserveAspectRatio: preserveAspectRatio, url: url }; this._designAtomsApiClient.sendRequest("UpdateImageItemHandler", data, resolve, failure); } UpdateBarcodeItemHandler(canvasData, itemHandlerData, itemData, colorSettings, resolve, failure) { const data = { canvasData: canvasData, itemHandlerData: itemHandlerData, itemData: itemData, colorSettings: colorSettings }; this._designAtomsApiClient.sendRequest("UpdateBarcodeItemHandler", data, resolve, failure); } UpdateBoundedTextItemHandler(canvasData, itemHandlerData, itemData, colorSettings, resolve, failure) { this._callUpdateItemHandler(canvasData, itemHandlerData, itemData, colorSettings, resolve, failure, "UpdateBoundedTextItemHandler", this._updateBoundedTextItemHandler); } UpdatePathBoundedTextItemHandler(canvasData, itemHandlerData, itemData, colorSettings, resolve, failure) { const data = { itemData: itemData, canvasData: canvasData, itemHandlerData: itemHandlerData, colorSettings: colorSettings }; this._designAtomsApiClient.sendRequest("UpdatePathBoundedTextItemHandler", data, resolve, failure); } UpdatePlainTextItemHandler(canvasData, itemHandlerData, itemData, colorSettings, success, failure) { this._callUpdateItemHandler(canvasData, itemHandlerData, itemData, colorSettings, success, failure, "UpdatePlainTextItemHandler", this._updatePlainTextItemHandler); } UpdateAutoScaledTextItemHandler(canvasData, itemHandlerData, itemData, colorSettings, resolve, failure) { const data = { itemData: itemData, canvasData: canvasData, itemHandlerData: itemHandlerData, colorSettings: colorSettings }; this._designAtomsApiClient.sendRequest("UpdateAutoScaledTextItemHandler", data, resolve, failure); } UpdateArchedTextItemHandler(canvasData, itemHandlerData, itemData, colorSettings, resolve, failure) { const data = { itemData: itemData, canvasData: canvasData, itemHandlerData: itemHandlerData, colorSettings: colorSettings }; this._designAtomsApiClient.sendRequest("UpdateArchedTextItemHandler", data, resolve, failure); } UpdateCurvedTextItemHandler(canvasData, itemHandlerData, itemData, colorSettings, resolve, failure) { const data = { itemData: itemData, canvasData: canvasData, itemHandlerData: itemHandlerData, colorSettings: colorSettings }; this._designAtomsApiClient.sendRequest("UpdateCurvedTextItemHandler", data, resolve, failure); } UpdateByColorData(canvasData, colorData, success, failure) { this._callUpdateItemHandler(canvasData, colorData, null, null, success, failure, "UpdateByColorData", this._updateByColorData); } UpdateByRectangleItemHandlerData(canvasData, itemHandlerData, itemData, colorSettings, resolve, failure) { this.UpdateShapeItemHandler(canvasData, itemHandlerData, itemData, colorSettings, resolve, failure); } UpdateShapeItemHandler(canvasData, itemHandlerData, itemData, colorSettings, success, failure) { this._callUpdateItemHandler(canvasData, itemHandlerData, itemData, colorSettings, success, failure, "UpdateShapeItemHandler", this._updateShapeItemHandler); } GetImageSize(imageId, pageIndex, success, failure) { // Multi call not implemented this._getImageSize(imageId, pageIndex, success, failure); } getWatermarkItemsAsync(width, height, watermarkConfig) { const data = { width: width, height: height, watermarkConfig: watermarkConfig }; return new Promise((resolve, reject) => { this._designAtomsApiClient.sendRequest("getWatermarkItems", data, (result) => { resolve(result); }, (error, userContext, methodName) => reject({ error: error, userContext: userContext, methodName: methodName })); }); } getWatermarkItems(width, height, watermarkConfig, resolve, failure) { const data = { width: width, height: height, watermarkConfig: watermarkConfig }; this._designAtomsApiClient.sendRequest("getWatermarkItems", data, resolve, failure); } sendRequest(methodName, data, resolve, failure, returnRawResponse = false) { return this._designAtomsApiClient.sendRequest(methodName, data, resolve, failure, returnRawResponse); } _getImageSize(imageId, pageIndex, resolve, failure) { const data = { imageId: imageId, pageIndex: pageIndex, }; this._designAtomsApiClient.sendRequest("GetImageSize", data, resolve, failure); } _callUpdateItemHandler(canvasData, itemHandlerData, itemData, colorSettings, success, failure, serverMethodName, method) { const data = { canvasData: canvasData, itemHandlerData: itemHandlerData, itemData: itemData, methodName: serverMethodName }; if (this._nextMultiCallRequest != null && this._nextMultiCallRequest.multiCallStarted) { if (this._nextMultiCallRequest.queueForMultiCall(data, success, failure)) return; } method(canvasData, itemHandlerData, itemData, colorSettings, success, failure); } } //# sourceMappingURL=Service.js.map