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.

847 lines 31.1 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __values = (this && this.__values) || function(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function () { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); }; import { PointF, Environment, PrintAreaBoundsType } from "@aurigma/design-atoms-model"; import { HandlerFactoryByItem, RenderState } from "../../ItemHandlers"; import { SurfaceHandler } from ".."; import { Translations } from "../../Viewer"; import { PreviewTextEditorController } from "./PreviewTextEditorController"; import { LayerCollection } from "../../LayerCollection"; import { CanvasData } from "../../CanvasData"; import { Layer } from "../../Layer"; import { CanvasRendererStyle } from "../../Canvas/CanvasRendererStyle"; import { RenderingConfigProvider } from "../../RenderingConfigProvider"; var PreviewCanvas = /** @class */ (function () { function PreviewCanvas(sourceSurface, previewContainersSourceFactory, zoom, mul, renderer, designAtomsApiClient, colorPreviewService, service, viewerConfigurationContext, colorParser) { var _this = this; this._onPreviewContainersChanged = function () { _this._updateLayers(); }; this._onLayerCollectionChanged = function () { _this._unsubscribeLayersEvents(); _this._subscribeLayersEvents(); }; this._onItemHandlersChanged = function () { _this._updateHandlers(); }; this._sourceSurface = sourceSurface; this._previewContainersSource = previewContainersSourceFactory.create(this._sourceSurface); this._surfaceHandler = new SurfaceHandler(this._sourceSurface); this._layers = new LayerCollection(this); this._zoom = zoom; this._mul = mul; this._renderer = renderer; this._designAtomsApiClient = designAtomsApiClient; this._colorPreviewService = colorPreviewService; this._service = service; this._viewerConfigurationContext = viewerConfigurationContext; this._colorParser = colorParser; this._handlerFactory = new HandlerFactoryByItem(this, { create: function () { return new PreviewTextEditorController(); } }, this._colorPreviewService, this._colorParser); this._renderingConfigProvider = new RenderingConfigProvider(this); this._previewContainersSource.addPreviewContainersChanged(this._onPreviewContainersChanged); this.layers.add_collectionChanged(this._onLayerCollectionChanged); this._updateLayers(); this._style = new CanvasRendererStyle(); } Object.defineProperty(PreviewCanvas.prototype, "layers", { get: function () { return this._layers; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "width", { get: function () { return this.workspaceWidth * this.zoom * Environment.screenDpi / 72; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "height", { get: function () { return this.workspaceHeight * this.zoom * Environment.screenDpi / 72; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "workspaceWidth", { get: function () { return this._workspaceSize.width; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "workspaceHeight", { get: function () { return this._workspaceSize.height; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "workspace", { get: function () { return { width: this.workspaceWidth, height: this.workspaceHeight, zoom: this.zoom }; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "canvasElementSize", { get: function () { return {}; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "currentItemHandler", { get: function () { return null; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "ignorePermissionsMode", { get: function () { return false; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "service", { get: function () { return this._service; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "isInitialized", { get: function () { return true; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "initialization", { get: function () { return false; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "zoom", { get: function () { return this._zoom; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "mul", { get: function () { return this._mul; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "disableSmoothing", { get: function () { return false; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "hitTestManager", { get: function () { return null; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "previewMode", { get: function () { return false; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "designAtomsApiClient", { get: function () { return this._designAtomsApiClient; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "textEditor", { get: function () { return null; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "textWhizz", { get: function () { return null; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "fontRegistry", { get: function () { return null; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "frontEndTextRenderingEnabled", { get: function () { return false; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "minFontSize", { get: function () { return 0.1; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "maxFontSize", { get: function () { return 100; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "minLeading", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "maxLeading", { get: function () { return 100; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "isSelectionLocked", { get: function () { return false; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "isSelectionResizing", { get: function () { return false; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "isSelectionDragging", { get: function () { return false; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "isSelectionRotating", { get: function () { return false; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "isSelectionIdle", { get: function () { return false; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "viewerConfiguration", { get: function () { return this._viewerConfigurationContext.configuration; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "offset", { get: function () { return new PointF(); }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "history", { get: function () { return null; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "rgbColorProfileFileId", { get: function () { return null; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "cmykColorProfileFileId", { get: function () { return null; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "grayscaleColorProfileFileId", { get: function () { return null; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "targetDpi", { get: function () { return null; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "resizeGripColor", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "rotationGripColor", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "resizeGripSize", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "rotationGripSize", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "tags", { get: function () { return {}; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "selectionColor", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "selectionWidth", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "resizeGripLineColor", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "rotationGripLineColor", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "rotationGripLineLength", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "translations", { get: function () { return new Translations(); }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "multipleSelectionEnabled", { get: function () { return false; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "mouseMoveTimeout", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "goodViolationIconCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "warningViolationIconCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "badViolationIconCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "qualityBadToWarningChangeScaleBarCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "qualityWarningToGoodChangeScaleBarCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "qualityBadToGoodChangeScaleBarCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "qualityNoAnimationChangeScaleBarCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "qualityChangeScaleBarCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "placeholderButtonGroupCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "handleButtonCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "doneButtonCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "qualityChangeContainerCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "qualityChangeInfoBarCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "violationContainerCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "violationWarningButtonCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "bigButtonGroupCssClass", { get: function () { return ""; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "contentAngle", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "sourceSurface", { get: function () { return this._sourceSurface; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "style", { get: function () { return this._style; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "hoverHandler", { get: function () { return null; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "renderingConfig", { get: function () { return this.viewerConfiguration.renderingConfig; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "renderingConfigProvider", { get: function () { return this._renderingConfigProvider; }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "_workspaceSize", { get: function () { return this._surfaceHandler.getBounds(PrintAreaBoundsType.Total); }, enumerable: true, configurable: true }); Object.defineProperty(PreviewCanvas.prototype, "_allItemHandlers", { get: function () { return this.layers .selectMany(function (layer) { return layer.flatItemHandlers.toArray(); }) .toArray(); }, enumerable: true, configurable: true }); PreviewCanvas.prototype.getItemHandler = function (item) { return this._handlerFactory.get(item); }; PreviewCanvas.prototype.deleteItemHandler = function (itemHandler) { this._handlerFactory.delete(itemHandler); }; PreviewCanvas.prototype.getData = function (forService, layerId) { return new CanvasData(this, forService, layerId); }; PreviewCanvas.prototype.drawWaitClock = function (context, center) { this._renderer.drawWaitClock(context, center, this.mul); }; PreviewCanvas.prototype.doesContainItem = function (item) { return this._sourceSurface.getAllItems().contains(item); }; PreviewCanvas.prototype.updateSelection = function (force) { }; PreviewCanvas.prototype.redraw = function () { }; PreviewCanvas.prototype.pauseRedraw = function () { }; PreviewCanvas.prototype.continueRedraw = function () { }; PreviewCanvas.prototype.redrawDesign = function () { }; PreviewCanvas.prototype.redrawActiveTexts = function () { }; PreviewCanvas.prototype.updateTexts = function () { }; PreviewCanvas.prototype.updateViolationContainers = function (updatePosition, onlyVisible) { }; PreviewCanvas.prototype.updateViolationContainer = function (itemHandler, updatePosition) { }; PreviewCanvas.prototype.updateViolationContainerPosition = function (itemHandler) { }; PreviewCanvas.prototype.addViolationContainer = function (itemHandler) { }; PreviewCanvas.prototype.removeViolationContainer = function (itemHandler) { }; PreviewCanvas.prototype.isOnlyThisItemHandlerSelected = function (itemHandler) { return false; }; PreviewCanvas.prototype.isItemHandlerSelected = function (itemHandler) { return false; }; PreviewCanvas.prototype.addSelectedItemHandler = function (itemHandler) { }; PreviewCanvas.prototype.removeSelectedItemHandler = function (itemHandler) { }; PreviewCanvas.prototype.setSelectedItemHandlers = function (itemHandlers) { }; PreviewCanvas.prototype.clearSelectedItemHandlers = function () { }; PreviewCanvas.prototype.add_zoomChanged = function (listener) { }; PreviewCanvas.prototype.remove_zoomChanged = function (listener) { }; PreviewCanvas.prototype.waitFontRegistryInitialized = function () { return Promise.resolve(); }; PreviewCanvas.prototype.addPlaceholderButtonGroup = function (placeholder) { }; PreviewCanvas.prototype.removePlaceholderButtonGroup = function (placeholder) { }; PreviewCanvas.prototype.updatePlaceholderButtonGroup = function (placeholder) { }; PreviewCanvas.prototype.updatePlaceholderButtonGroups = function () { }; PreviewCanvas.prototype.updatePlaceholderButtonGroupPosition = function (placeholder) { }; PreviewCanvas.prototype.isDragSource = function (itemHandler) { return false; }; PreviewCanvas.prototype.isDragTarget = function (itemHandler) { return false; }; PreviewCanvas.prototype.updateButtonGroups = function (options) { }; PreviewCanvas.prototype.waitUpdate = function (itemHandlers) { var _this = this; var allItemHandlers = itemHandlers !== null && itemHandlers !== void 0 ? itemHandlers : this._allItemHandlers; return Promise.all(allItemHandlers .filter(function (itemHandler) { return itemHandler.isVisible(); }) .map(function (itemHandler) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, itemHandler.waitUpdate()]; case 1: _a.sent(); return [4 /*yield*/, this._waitHandlerReady(itemHandler)]; case 2: _a.sent(); return [2 /*return*/]; } }); }); })); }; PreviewCanvas.prototype.waitUpdateAndExecute = function (callback) { return __awaiter(this, void 0, void 0, function () { var _this = this; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this._previewContainersSource.ensureUpdatedAndExecuteAsync(function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.waitUpdate()]; case 1: _a.sent(); callback(); return [2 /*return*/]; } }); }); })]; case 1: _a.sent(); return [2 /*return*/]; } }); }); }; PreviewCanvas.prototype.onLayerTextureLoaded = function () { }; PreviewCanvas.prototype.pauseUpdateTexts = function () { }; PreviewCanvas.prototype.resumeUpdateTexts = function () { }; PreviewCanvas.prototype.enableSelection = function () { }; PreviewCanvas.prototype.disableSelection = function () { }; PreviewCanvas.prototype.unsubscribeLimitsMessage = function () { }; PreviewCanvas.prototype.subscribeLimitsMessage = function () { }; PreviewCanvas.prototype.add_onScroll = function (handler) { }; PreviewCanvas.prototype.remove_onScroll = function (handler) { }; PreviewCanvas.prototype.add_selectedItemHandlerChanged = function (handler) { }; PreviewCanvas.prototype.remove_selectedItemHandlerChanged = function (handler) { }; PreviewCanvas.prototype.add_onSelectionLocked = function (handler) { }; PreviewCanvas.prototype.remove_onSelectionLocked = function (handler) { }; PreviewCanvas.prototype.ensureFocus = function () { }; PreviewCanvas.prototype.setCursor = function (value, onBody) { }; PreviewCanvas.prototype.getAllItemHandlers = function (options) { return this._allItemHandlers; }; PreviewCanvas.prototype.violationWarningButtonHitTestObject = function (pt) { throw new Error("Method not implemented."); }; PreviewCanvas.prototype.getButtonGroupRectInGripsDiv = function (div, ignoreRotate) { throw new Error("Method not implemented."); }; PreviewCanvas.prototype.dispose = function () { this._previewContainersSource.removePreviewContainersChanged(this._onPreviewContainersChanged); this._layers.remove_collectionChanged(this._onLayerCollectionChanged); this._layers.clear(); this._handlerFactory.clear(); }; PreviewCanvas.prototype._subscribeLayersEvents = function () { var e_1, _a; try { for (var _b = __values(this.layers), _c = _b.next(); !_c.done; _c = _b.next()) { var layer = _c.value; layer.itemHandlers.add_collectionChanged(this._onItemHandlersChanged); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } finally { if (e_1) throw e_1.error; } } }; PreviewCanvas.prototype._unsubscribeLayersEvents = function () { var e_2, _a; try { for (var _b = __values(this.layers), _c = _b.next(); !_c.done; _c = _b.next()) { var layer = _c.value; layer.itemHandlers.remove_collectionChanged(this._onItemHandlersChanged); } } catch (e_2_1) { e_2 = { error: e_2_1 }; } finally { try { if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } finally { if (e_2) throw e_2.error; } } }; PreviewCanvas.prototype._updateLayers = function () { var _this = this; this._layers.clear(); var layers = this._previewContainersSource.getPreviewContainers() .map(function (container) { return new Layer(container, _this); }); this._layers.addRange(layers); this._updateHandlers(); }; PreviewCanvas.prototype._updateHandlers = function () { var e_3, _a; try { for (var _b = __values(this._allItemHandlers), _c = _b.next(); !_c.done; _c = _b.next()) { var itemHandler = _c.value; itemHandler.renderState = itemHandler.isVisible ? RenderState.Bottom : RenderState.Hidden; } } catch (e_3_1) { e_3 = { error: e_3_1 }; } finally { try { if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } finally { if (e_3) throw e_3.error; } } }; PreviewCanvas.prototype._waitHandlerReady = function (itemHandler) { if (itemHandler.ready) { return Promise.resolve(); } return new Promise(function (resolve) { itemHandler.addReady(function () { return resolve(); }); }); }; return PreviewCanvas; }()); export { PreviewCanvas }; //# sourceMappingURL=PreviewCanvas.js.map