UNPKG

@aurigma/design-atoms-model

Version:

Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.

418 lines 20.3 kB
var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { ContentItem } from "./ContentItem"; import { BarcodePermissions } from "./BarcodePermissions"; import { ArgumentException } from "../../Exception"; import { ResizeGripsPermissions } from "./ResizeGripsPermissions"; import { RgbColors } from "../../Colors"; import * as _ from "underscore"; import { BarcodeFormat } from "./BarcodeFormat"; import { BarcodeData } from "./BarcodeData"; import { BarcodeSubType } from "./BarcodeSubType"; import { equals } from "../../Utils/Utils"; import { Property } from "../Decorators/Property"; import { ModelComponent } from "../ModelComponent"; import { PropertyChanged } from "../Decorators/PropertyChanged"; import { SimplePropertyFactory } from "../Decorators/Factory"; var BarcodeItem = /** @class */ (function (_super) { __extends(BarcodeItem, _super); function BarcodeItem(format, content, options, rectangle) { var _this = _super.call(this) || this; _this._barcodeContent = ""; _this._barcodeFormat = BarcodeFormat.QR_CODE; _this._barcodeOptions = new EncodingOptions(); _this._barcodeSubType = BarcodeSubType.Url; _this._color = RgbColors.black; _this.type = BarcodeItem.type; _this._onOptionsPropertyChanged = function (s, p) { _this._propertyChanged.notify(_this, "barcodeOptions"); }; _this._barcodePermissions = new BarcodePermissions(); _this._barcodeOptions.pureBarcode = true; _this._ignorePermissionsChange = true; _this.manipulationPermissions.resizeGrips = new ResizeGripsPermissions(true, false); _this.itemPermissions.itemToolbarPermissions.showEditButton = true; _this.shapePermissions.allowChangeFillColor = true; _this.barcodePermissions.allowChangeBarcodeType = false; _this.barcodePermissions.allowChangeBarcodeColor = true; _this.barcodePermissions.allowChangeBarcodeContent = true; _this._ignorePermissionsChange = false; _this.fillColor = RgbColors.white; if (format != null) _this._barcodeFormat = format; if (content != null) _this._barcodeContent = content; if (options != null) _this._barcodeOptions = options; _this._subscribeOptionsPropertyChanged(); if (rectangle != null) _this.sourceRectangle = rectangle; _this.applyPermissionsConstrain(); return _this; } Object.defineProperty(BarcodeItem.prototype, "barcodePermissions", { get: function () { return this._barcodePermissions; }, set: function (value) { if (value == null) { throw new ArgumentException("barcodePermissions cannot be null"); } if (equals(this._barcodePermissions, value)) return; this._barcodePermissions.propertyChanged.remove(this._onPermissionsChanged); this._barcodePermissions = value; this._barcodePermissions.propertyChanged.add(this._onPermissionsChanged); this._onPermissionsChanged(); }, enumerable: true, configurable: true }); Object.defineProperty(BarcodeItem.prototype, "barcodeContent", { get: function () { return this._barcodeContent; }, set: function (value) { if (this._barcodeContent === value) return; this._barcodeContent = value; this._propertyChanged.notify(this, "barcodeContent"); }, enumerable: true, configurable: true }); Object.defineProperty(BarcodeItem.prototype, "barcodeFormat", { get: function () { return this._barcodeFormat; }, set: function (value) { if (this._barcodeFormat === value) return; this._barcodeFormat = value; this._propertyChanged.notify(this, "barcodeFormat"); }, enumerable: true, configurable: true }); Object.defineProperty(BarcodeItem.prototype, "barcodeSubType", { get: function () { return this._barcodeSubType; }, set: function (value) { if (this._barcodeSubType === value) return; this._barcodeSubType = value; this._propertyChanged.notify(this, "barcodeSubType"); }, enumerable: true, configurable: true }); Object.defineProperty(BarcodeItem.prototype, "color", { get: function () { return this._color; }, set: function (value) { if (this._color.equals(value)) return; this._color = value; this._propertyChanged.notify(this, "color"); }, enumerable: true, configurable: true }); Object.defineProperty(BarcodeItem.prototype, "barcodeOptions", { get: function () { return this._barcodeOptions; }, set: function (value) { if (JSON.stringify(this._barcodeOptions) === JSON.stringify(value)) return; this._unsubscribeOptionsPropertyChanged(); this._barcodeOptions = value; this._subscribeOptionsPropertyChanged(); this._propertyChanged.notify(this, "barcodeOptions"); }, enumerable: true, configurable: true }); BarcodeItem.prototype._subscribeOptionsPropertyChanged = function () { if (this._barcodeOptions != null) this._barcodeOptions.addPropertyChanged(this._onOptionsPropertyChanged); }; BarcodeItem.prototype._unsubscribeOptionsPropertyChanged = function () { if (this._barcodeOptions != null) this._barcodeOptions.removePropertyChanged(this._onOptionsPropertyChanged); }; Object.defineProperty(BarcodeItem.prototype, "isQrCode", { get: function () { return this.barcodeFormat === BarcodeFormat.QR_CODE; }, enumerable: true, configurable: true }); Object.defineProperty(BarcodeItem.prototype, "isSquareCode", { get: function () { return this.barcodeFormat === BarcodeFormat.QR_CODE || this.barcodeFormat === BarcodeFormat.DATA_MATRIX; }, enumerable: true, configurable: true }); Object.defineProperty(BarcodeItem.prototype, "isLinearBarcode", { get: function () { return (this.barcodeFormat === BarcodeFormat.EAN_13 || this.barcodeFormat === BarcodeFormat.EAN_8 || this.barcodeFormat == BarcodeFormat.CODE_128 || this.barcodeFormat === BarcodeFormat.UPC_A || this.barcodeFormat === BarcodeFormat.UPC_E); }, enumerable: true, configurable: true }); BarcodeItem.prototype._copy = function (source, destination, generateNewIds, appropriateParentContainer) { _super.prototype._copy.call(this, source, destination, generateNewIds, appropriateParentContainer); destination.barcodePermissions = source.barcodePermissions.clone(); destination.barcodeContent = source.barcodeContent; destination.barcodeFormat = source.barcodeFormat; destination.barcodeSubType = source.barcodeSubType; destination.color = source.color.clone(); destination.barcodeOptions = new EncodingOptions(); destination.barcodeOptions.width = source.barcodeOptions.width; destination.barcodeOptions.height = source.barcodeOptions.height; destination.barcodeOptions.margin = source.barcodeOptions.margin; destination.barcodeOptions.pureBarcode = source.barcodeOptions.pureBarcode; destination.barcodeOptions.errorCorrection = source.barcodeOptions.errorCorrection; destination.barcodeOptions.characterSet = source.barcodeOptions.characterSet; destination.barcodeOptions.pdf417Compact = source.barcodeOptions.pdf417Compact; destination.barcodeOptions.pdf417Compaction = source.barcodeOptions.pdf417Compaction; destination.barcodeOptions.pdf417Dimensions = source.barcodeOptions.pdf417Dimensions; destination.barcodeOptions.disableEci = source.barcodeOptions.disableEci; destination.barcodeOptions.code128ForceCodesetB = source.barcodeOptions.code128ForceCodesetB; destination.barcodeOptions.aztecLayers = source.barcodeOptions.aztecLayers; destination.barcodeOptions.qrVersion = source.barcodeOptions.qrVersion; destination.barcodeOptions.xDimension = source.barcodeOptions.xDimension; destination.barcodeOptions.databarExpandedSegments = source.barcodeOptions.databarExpandedSegments; }; BarcodeItem.prototype.equals = function (other) { return _super.prototype.equals.call(this, other) && equals(this._barcodePermissions, other._barcodePermissions) && equals(this._barcodeContent, other._barcodeContent) && equals(this._barcodeFormat, other._barcodeFormat) && equals(this._barcodeSubType, other._barcodeSubType) && equals(this._color, other._color) && equals(this._barcodeOptions, other._barcodeOptions); }; BarcodeItem.prototype.clone = function (generateNewIds, appropriateParentContainer) { if (generateNewIds === void 0) { generateNewIds = false; } if (appropriateParentContainer === void 0) { appropriateParentContainer = false; } var item = new BarcodeItem(); this._copy(this, item, generateNewIds, appropriateParentContainer); return item; }; BarcodeItem.prototype.getSimplifiedObject = function (omitProperties) { if (!_.isArray(omitProperties) && !_.isString(omitProperties)) omitProperties = []; var simplified = _super.prototype.getSimplifiedObject.call(this, [ "barcodePermissions", "isQrCode", "isLinearBarcode", "isSquareCode", "barcodeData" ].concat(omitProperties)); simplified["barcodePermissions"] = this.barcodePermissions.getSimplifiedObject(); return simplified; }; BarcodeItem.prototype.applyPermissionsConstrain = function () { if (this.itemPermissions != null && this.itemPermissions.itemToolbarPermissions != null) { if (this.barcodePermissions != null && !this.barcodePermissions.allowChangeBarcodeContent) this.itemPermissions.itemToolbarPermissions.showEditButtonConstraint = this.barcodePermissions.allowChangeBarcodeContent; else this.itemPermissions.itemToolbarPermissions.showEditButtonConstraint = null; this.itemPermissions.itemToolbarPermissions.showSelectButton = false; } }; Object.defineProperty(BarcodeItem.prototype, "barcodeData", { get: function () { var barcodeMetaData = new BarcodeData(); barcodeMetaData.barcodeSubType = this.barcodeSubType; barcodeMetaData.barcodeFormat = this.barcodeFormat; switch (barcodeMetaData.barcodeFormat) { default: barcodeMetaData.barcodeValue = this.barcodeContent; break; case BarcodeFormat.QR_CODE: switch (this.barcodeSubType) { case BarcodeSubType.Phone: barcodeMetaData.phone = this.barcodeContent; break; case BarcodeSubType.Url: barcodeMetaData.url = this.barcodeContent; break; case BarcodeSubType.Data: barcodeMetaData.data = this.barcodeContent; break; case BarcodeSubType.VCard: return BarcodeData.fromVCardString(this.barcodeContent); } break; } return barcodeMetaData; }, enumerable: true, configurable: true }); BarcodeItem.prototype.applyBarcodeData = function (barcodeData) { this.barcodeFormat = barcodeData.barcodeFormat; this.barcodeSubType = barcodeData.barcodeSubType != null ? barcodeData.barcodeSubType : (this.barcodeFormat === BarcodeFormat.QR_CODE ? BarcodeSubType.Phone : BarcodeSubType.None); var barcodeContent = ""; switch (this.barcodeFormat) { case BarcodeFormat.QR_CODE: switch (this.barcodeSubType) { case BarcodeSubType.Phone: barcodeContent = barcodeData.phone; break; case BarcodeSubType.Data: barcodeContent = barcodeData.data; break; case BarcodeSubType.None: case BarcodeSubType.Url: barcodeContent = barcodeData.url; break; case BarcodeSubType.VCard: barcodeContent = barcodeData.toVCardString(); break; } break; default: barcodeContent = barcodeData.barcodeValue; break; } this.barcodeContent = barcodeContent; }; BarcodeItem.type = "BarcodeItem"; __decorate([ Property({ factory: new SimplePropertyFactory("") }), __metadata("design:type", String), __metadata("design:paramtypes", [String]) ], BarcodeItem.prototype, "barcodeContent", null); __decorate([ Property({ enumObject: BarcodeFormat }), __metadata("design:type", String), __metadata("design:paramtypes", [String]) ], BarcodeItem.prototype, "barcodeFormat", null); __decorate([ Property({ enumObject: BarcodeSubType }), __metadata("design:type", String), __metadata("design:paramtypes", [String]) ], BarcodeItem.prototype, "barcodeSubType", null); return BarcodeItem; }(ContentItem)); export { BarcodeItem }; var EncodingOptions = /** @class */ (function (_super) { __extends(EncodingOptions, _super); function EncodingOptions() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = EncodingOptions.type; return _this; } EncodingOptions.prototype.equals = function (other) { return other != null && equals(this.width, other.width) && equals(this.height, other.height) && equals(this.margin, other.margin) && equals(this.pureBarcode, other.pureBarcode) && equals(this.errorCorrection, other.errorCorrection) && equals(this.characterSet, other.characterSet) && equals(this.pdf417Compact, other.pdf417Compact) && equals(this.pdf417Compaction, other.pdf417Compaction) && _.isEqual(this.pdf417Dimensions, other.pdf417Dimensions) && equals(this.disableEci, other.disableEci) && equals(this.code128ForceCodesetB, other.code128ForceCodesetB) && equals(this.aztecLayers, other.aztecLayers) && equals(this.qrVersion, other.qrVersion) && equals(this.xDimension, other.xDimension && equals(this.databarExpandedSegments, other.databarExpandedSegments)); }; EncodingOptions.type = "EncodingOptions"; __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory(0) }), __metadata("design:type", Number) ], EncodingOptions.prototype, "width", void 0); __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory(0) }), __metadata("design:type", Number) ], EncodingOptions.prototype, "height", void 0); __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory(0) }), __metadata("design:type", Number) ], EncodingOptions.prototype, "margin", void 0); __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory(true) }), __metadata("design:type", Boolean) ], EncodingOptions.prototype, "pureBarcode", void 0); __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory("") }), __metadata("design:type", String) ], EncodingOptions.prototype, "errorCorrection", void 0); __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory("") }), __metadata("design:type", String) ], EncodingOptions.prototype, "characterSet", void 0); __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory(false) }), __metadata("design:type", Boolean) ], EncodingOptions.prototype, "pdf417Compact", void 0); __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory("") }), __metadata("design:type", String) ], EncodingOptions.prototype, "pdf417Compaction", void 0); __decorate([ PropertyChanged(), Property({ ignore: true }), __metadata("design:type", Object) ], EncodingOptions.prototype, "pdf417Dimensions", void 0); __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory(false) }), __metadata("design:type", Boolean) ], EncodingOptions.prototype, "disableEci", void 0); __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory(false) }), __metadata("design:type", Boolean) ], EncodingOptions.prototype, "code128ForceCodesetB", void 0); __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory(0) }), __metadata("design:type", Number) ], EncodingOptions.prototype, "aztecLayers", void 0); __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory(0) }), __metadata("design:type", Number) ], EncodingOptions.prototype, "qrVersion", void 0); __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory(0) }), __metadata("design:type", Number) ], EncodingOptions.prototype, "xDimension", void 0); __decorate([ PropertyChanged(), Property({ factory: new SimplePropertyFactory(0) }), __metadata("design:type", Number) ], EncodingOptions.prototype, "databarExpandedSegments", void 0); return EncodingOptions; }(ModelComponent)); export { EncodingOptions }; //# sourceMappingURL=BarcodeItem.js.map