UNPKG

stimulsoft-forms

Version:
83 lines 13.6 kB
import StiFormObject from "../elements/base/StiFormObject"; import { Enum } from "../system/Enum"; import { PaperKind } from "../system/enums"; export default class StiPagePaperKind extends StiFormObject { static { this._availableStandardKinds = []; } constructor(name, kind, width, height) { super(); this.name = name; this.kind = kind; this._width = width; this._height = height; } get width() { return this._width; } set width(value) { this._width = value; this.updatePaperKind(); } get height() { return this._height; } set height(value) { this._height = value; this.updatePaperKind(); } updatePaperKind() { this.kind = StiPagePaperKind.availableStandardKinds().find((k) => k.height == this.height && k.width == this.width)?.kind ?? PaperKind.Custom; } saveToJsonObject(options) { let jObject = super.saveToJsonObject(options); jObject.addPropertyEnum("Kind", PaperKind, this.kind); if (this.kind == PaperKind.Custom) { jObject.addPropertyNumber("Width", this.width); jObject.addPropertyNumber("Height", this.height); } return jObject; } loadFromJsonObject(json) { super.loadFromJsonObject(json); for (let property of json.properties()) { switch (property.name) { case "Kind": this.kind = Enum.parse(PaperKind, property.value); break; case "Width": this.width = property.value; break; case "Height": this.height = property.value; break; } } } clone() { return new StiPagePaperKind(this.name, this.kind, this.width, this.height); } static availableStandardKinds() { if (this._availableStandardKinds.length == 0) { this._availableStandardKinds.push(new StiPagePaperKind("Custom", PaperKind.Custom, 794, 1123)); this._availableStandardKinds.push(new StiPagePaperKind("Letter", PaperKind.Letter, 816, 1056)); this._availableStandardKinds.push(new StiPagePaperKind("Tabloid", PaperKind.Tabloid, 1056, 1632)); this._availableStandardKinds.push(new StiPagePaperKind("Legal", PaperKind.Legal, 816, 1344)); this._availableStandardKinds.push(new StiPagePaperKind("Statement", PaperKind.Statement, 528, 816)); this._availableStandardKinds.push(new StiPagePaperKind("Executive", PaperKind.Executive, 696, 1008)); this._availableStandardKinds.push(new StiPagePaperKind("A3", PaperKind.A3, 1123, 1587)); this._availableStandardKinds.push(new StiPagePaperKind("A4", PaperKind.A4, 794, 1123)); this._availableStandardKinds.push(new StiPagePaperKind("A5", PaperKind.A5, 559, 794)); this._availableStandardKinds.push(new StiPagePaperKind("B4", PaperKind.B4, 971, 1376)); this._availableStandardKinds.push(new StiPagePaperKind("B5", PaperKind.B5, 688, 971)); } return this._availableStandardKinds; } static fromStandardPaperKind(standardPaperKind) { if (standardPaperKind == PaperKind.Custom) { return null; } return this.availableStandardKinds().filter((k) => k.kind === standardPaperKind)[0].clone(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RpUGFnZVBhcGVyS2luZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0aW11bHNvZnQtZm9ybXMvc3JjL2xpYi9wcm9wZXJ0aWVzL1N0aVBhZ2VQYXBlcktpbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxhQUFhLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUc1QyxNQUFNLENBQUMsT0FBTyxPQUFPLGdCQUFpQixTQUFRLGFBQWE7YUFDakMsNEJBQXVCLEdBQXVCLEVBQUUsQ0FBQztJQUt6RSxZQUFtQixJQUFZLEVBQVMsSUFBZSxFQUFFLEtBQWEsRUFBRSxNQUFjO1FBQ3BGLEtBQUssRUFBRSxDQUFDO1FBRFMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFTLFNBQUksR0FBSixJQUFJLENBQVc7UUFFckQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxLQUFLLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxNQUFNLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVPLGVBQWU7UUFDckIs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QXNCLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM5RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0aUZvcm1PYmplY3QgZnJvbSBcIi4uL2VsZW1lbnRzL2Jhc2UvU3RpRm9ybU9iamVjdFwiO1xyXG5pbXBvcnQgeyBFbnVtIH0gZnJvbSBcIi4uL3N5c3RlbS9FbnVtXCI7XHJcbmltcG9ydCB7IFBhcGVyS2luZCB9IGZyb20gXCIuLi9zeXN0ZW0vZW51bXNcIjtcclxuaW1wb3J0IFN0aUpzb24gZnJvbSBcIi4uL3N5c3RlbS9TdGlKc29uXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdGlQYWdlUGFwZXJLaW5kIGV4dGVuZHMgU3RpRm9ybU9iamVjdCB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgX2F2YWlsYWJsZVN0YW5kYXJkS2luZHM6IFN0aVBhZ2VQYXBlcktpbmRbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF93aWR0aDogbnVtYmVyO1xyXG4gIHByaXZhdGUgX2hlaWdodDogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmFtZTogc3RyaW5nLCBwdWJsaWMga2luZDogUGFwZXJLaW5kLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuX3dpZHRoID0gd2lkdGg7XHJcbiAgICB0aGlzLl9oZWlnaHQgPSBoZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHdpZHRoKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fd2lkdGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHdpZHRoKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3dpZHRoID0gdmFsdWU7XHJcbiAgICB0aGlzLnVwZGF0ZVBhcGVyS2luZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBoZWlnaHQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9oZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGhlaWdodCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9oZWlnaHQgPSB2YWx1ZTtcclxuICAgIHRoaXMudXBkYXRlUGFwZXJLaW5kKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVBhcGVyS2luZCgpIHtcclxuICAgIHRoaXMua2luZCA9XHJcbiAgICAgIFN0aVBhZ2VQYXBlcktpbmQuYXZhaWxhYmxlU3RhbmRhcmRLaW5kcygpLmZpbmQoKGspID0+IGsuaGVpZ2h0ID09IHRoaXMuaGVpZ2h0ICYmIGsud2lkdGggPT0gdGhpcy53aWR0aCk/LmtpbmQgPz9cclxuICAgICAgUGFwZXJLaW5kLkN1c3RvbTtcclxuICB9XHJcblxyXG4gIHNhdmVUb0pzb25PYmplY3Qob3B0aW9uczogYW55KTogU3RpSnNvbiB7XHJcbiAgICBsZXQgak9iamVjdCA9IHN1cGVyLnNhdmVUb0pzb25PYmplY3Qob3B0aW9ucyk7XHJcbiAgICBqT2JqZWN0LmFkZFByb3BlcnR5RW51bShcIktpbmRcIiwgUGFwZXJLaW5kLCB0aGlzLmtpbmQpO1xyXG4gICAgaWYgKHRoaXMua2luZCA9PSBQYXBlcktpbmQuQ3VzdG9tKSB7XHJcbiAgICAgIGpPYmplY3QuYWRkUHJvcGVydHlOdW1iZXIoXCJXaWR0aFwiLCB0aGlzLndpZHRoKTtcclxuICAgICAgak9iamVjdC5hZGRQcm9wZXJ0eU51bWJlcihcIkhlaWdodFwiLCB0aGlzLmhlaWdodCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gak9iamVjdDtcclxuICB9XHJcbiAgcHVibGljIGxvYWRGcm9tSnNvbk9iamVjdChqc29uOiBTdGlKc29uKSB7XHJcbiAgICBzdXBlci5sb2FkRnJvbUpzb25PYmplY3QoanNvbik7XHJcbiAgICBmb3IgKGxldCBwcm9wZXJ0eSBvZiBqc29uLnByb3BlcnRpZXMoKSkge1xyXG4gICAgICBzd2l0Y2ggKHByb3BlcnR5Lm5hbWUpIHtcclxuICAgICAgICBjYXNlIFwiS2luZFwiOlxyXG4gICAgICAgICAgdGhpcy5raW5kID0gRW51bS5wYXJzZShQYXBlcktpbmQsIHByb3BlcnR5LnZhbHVlKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJXaWR0aFwiOlxyXG4gICAgICAgICAgdGhpcy53aWR0aCA9IHByb3BlcnR5LnZhbHVlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcIkhlaWdodFwiOlxyXG4gICAgICAgICAgdGhpcy5oZWlnaHQgPSBwcm9wZXJ0eS52YWx1ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9uZSgpOiBTdGlQYWdlUGFwZXJLaW5kIHtcclxuICAgIHJldHVybiBuZXcgU3RpUGFnZVBhcGVyS2luZCh0aGlzLm5hbWUsIHRoaXMua2luZCwgdGhpcy53aWR0aCwgdGhpcy5oZWlnaHQpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF2YWlsYWJsZVN0YW5kYXJkS2luZHMoKTogU3RpUGFnZVBhcGVyS2luZFtdIHtcclxuICAgIGlmICh0aGlzLl9hdmFpbGFibGVTdGFuZGFyZEtpbmRzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIHRoaXMuX2F2YWlsYWJsZVN0YW5kYXJkS2luZHMucHVzaChuZXcgU3RpUGFnZVBhcGVyS2luZChcIkN1c3RvbVwiLCBQYXBlcktpbmQuQ3VzdG9tLCA3OTQsIDExMjMpKTtcclxuICAgICAgdGhpcy5fYXZhaWxhYmxlU3RhbmRhcmRLaW5kcy5wdXNoKG5ldyBTdGlQYWdlUGFwZXJLaW5kKFwiTGV0dGVyXCIsIFBhcGVyS2luZC5MZXR0ZXIsIDgxNiwgMTA1NikpO1xyXG4gICAgICB0aGlzLl9hdmFpbGFibGVTdGFuZGFyZEtpbmRzLnB1c2gobmV3IFN0aVBhZ2VQYXBlcktpbmQoXCJUYWJsb2lkXCIsIFBhcGVyS2luZC5UYWJsb2lkLCAxMDU2LCAxNjMyKSk7XHJcbiAgICAgIHRoaXMuX2F2YWlsYWJsZVN0YW5kYXJkS2luZHMucHVzaChuZXcgU3RpUGFnZVBhcGVyS2luZChcIkxlZ2FsXCIsIFBhcGVyS2luZC5MZWdhbCwgODE2LCAxMzQ0KSk7XHJcbiAgICAgIHRoaXMuX2F2YWlsYWJsZVN0YW5kYXJkS2luZHMucHVzaChuZXcgU3RpUGFnZVBhcGVyS2luZChcIlN0YXRlbWVudFwiLCBQYXBlcktpbmQuU3RhdGVtZW50LCA1MjgsIDgxNikpO1xyXG4gICAgICB0aGlzLl9hdmFpbGFibGVTdGFuZGFyZEtpbmRzLnB1c2gobmV3IFN0aVBhZ2VQYXBlcktpbmQoXCJFeGVjdXRpdmVcIiwgUGFwZXJLaW5kLkV4ZWN1dGl2ZSwgNjk2LCAxMDA4KSk7XHJcbiAgICAgIHRoaXMuX2F2YWlsYWJsZVN0YW5kYXJkS2luZHMucHVzaChuZXcgU3RpUGFnZVBhcGVyS2luZChcIkEzXCIsIFBhcGVyS2luZC5BMywgMTEyMywgMTU4NykpO1xyXG4gICAgICB0aGlzLl9hdmFpbGFibGVTdGFuZGFyZEtpbmRzLnB1c2gobmV3IFN0aVBhZ2VQYXBlcktpbmQoXCJBNFwiLCBQYXBlcktpbmQuQTQsIDc5NCwgMTEyMykpO1xyXG4gICAgICB0aGlzLl9hdmFpbGFibGVTdGFuZGFyZEtpbmRzLnB1c2gobmV3IFN0aVBhZ2VQYXBlcktpbmQoXCJBNVwiLCBQYXBlcktpbmQuQTUsIDU1OSwgNzk0KSk7XHJcbiAgICAgIHRoaXMuX2F2YWlsYWJsZVN0YW5kYXJkS2luZHMucHVzaChuZXcgU3RpUGFnZVBhcGVyS2luZChcIkI0XCIsIFBhcGVyS2luZC5CNCwgOTcxLCAxMzc2KSk7XHJcbiAgICAgIHRoaXMuX2F2YWlsYWJsZVN0YW5kYXJkS2luZHMucHVzaChuZXcgU3RpUGFnZVBhcGVyS2luZChcIkI1XCIsIFBhcGVyS2luZC5CNSwgNjg4LCA5NzEpKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9hdmFpbGFibGVTdGFuZGFyZEtpbmRzO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZyb21TdGFuZGFyZFBhcGVyS2luZChzdGFuZGFyZFBhcGVyS2luZDogUGFwZXJLaW5kKTogU3RpUGFnZVBhcGVyS2luZCB7XHJcbiAgICBpZiAoc3RhbmRhcmRQYXBlcktpbmQgPT0gUGFwZXJLaW5kLkN1c3RvbSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmF2YWlsYWJsZVN0YW5kYXJkS2luZHMoKS5maWx0ZXIoKGspID0+IGsua2luZCA9PT0gc3RhbmRhcmRQYXBlcktpbmQpWzBdLmNsb25lKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==