@colijnit/sharedcomponents 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-sharedcomponents.umd.js +2140 -0
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -0
- package/colijnit-sharedcomponents.d.ts +13 -0
- package/colijnit-sharedcomponents.metadata.json +1 -0
- package/esm2015/colijnit-sharedcomponents.js +14 -0
- package/esm2015/lib/components/docsign/component/signature/signature.component.js +75 -0
- package/esm2015/lib/components/docsign/component/signatures/signatures.component.js +44 -0
- package/esm2015/lib/components/docsign/docsign.component.js +225 -0
- package/esm2015/lib/components/docsign/docsign.module.js +23 -0
- package/esm2015/lib/components/send-method-dialog/enums/send-option.js +8 -0
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +203 -0
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +26 -0
- package/esm2015/lib/components/stock/stock-information/stock-information.component.js +57 -0
- package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +254 -0
- package/esm2015/lib/components/stock/stock-location/stock-location.component.js +62 -0
- package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +2 -0
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +98 -0
- package/esm2015/lib/components/stock/stock.component.js +67 -0
- package/esm2015/lib/components/stock/stock.module.js +44 -0
- package/esm2015/lib/enum/icon.enum.js +23 -0
- package/esm2015/lib/factory/business-object-factory.js +120 -0
- package/esm2015/lib/factory/decorators/boolean.decorator.js +102 -0
- package/esm2015/lib/factory/decorators/complex-array.decorator.js +55 -0
- package/esm2015/lib/factory/decorators/complex-field.decorator.js +57 -0
- package/esm2015/lib/factory/decorators/date-field.decorator.js +36 -0
- package/esm2015/lib/factory/decorators/string-number.decorator.js +43 -0
- package/esm2015/lib/model/business-object.js +81 -0
- package/esm2015/lib/model/icon-svg.js +22 -0
- package/esm2015/lib/service/icon-cache.service.js +51 -0
- package/esm2015/lib/service/ione-connector-adapter.service.js +117 -0
- package/esm2015/lib/service/stock.service.js +33 -0
- package/esm2015/lib/utils/array-utils.js +183 -0
- package/esm2015/lib/utils/is-nill.function.js +5 -0
- package/esm2015/public-api.js +10 -0
- package/fesm2015/colijnit-sharedcomponents.js +2066 -0
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -0
- package/lib/components/docsign/component/signature/signature.component.d.ts +16 -0
- package/{src/lib → lib}/components/docsign/component/signature/style/_layout.scss +0 -0
- package/{src/lib → lib}/components/docsign/component/signature/style/_material-definition.scss +0 -0
- package/{src/lib → lib}/components/docsign/component/signature/style/_theme.scss +0 -0
- package/{src/lib → lib}/components/docsign/component/signature/style/material.scss +0 -0
- package/lib/components/docsign/component/signatures/signatures.component.d.ts +12 -0
- package/{src/lib → lib}/components/docsign/component/signatures/style/_layout.scss +0 -0
- package/{src/lib → lib}/components/docsign/component/signatures/style/_material-definition.scss +0 -0
- package/{src/lib → lib}/components/docsign/component/signatures/style/_theme.scss +0 -0
- package/{src/lib → lib}/components/docsign/component/signatures/style/material.scss +0 -0
- package/lib/components/docsign/docsign.component.d.ts +92 -0
- package/lib/components/docsign/docsign.module.d.ts +2 -0
- package/{src/lib → lib}/components/docsign/style/_layout.scss +0 -0
- package/{src/lib → lib}/components/docsign/style/_material-definition.scss +0 -0
- package/{src/lib → lib}/components/docsign/style/_theme.scss +0 -0
- package/{src/lib → lib}/components/docsign/style/material.scss +0 -0
- package/lib/components/send-method-dialog/enums/send-option.d.ts +6 -0
- package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +37 -0
- package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +2 -0
- package/{src/lib → lib}/components/send-method-dialog/style/_layout.scss +0 -0
- package/{src/lib → lib}/components/send-method-dialog/style/_material-definition.scss +0 -0
- package/{src/lib → lib}/components/send-method-dialog/style/_theme.scss +0 -0
- package/{src/lib → lib}/components/send-method-dialog/style/material.scss +0 -0
- package/lib/components/stock/stock-information/stock-information.component.d.ts +8 -0
- package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +43 -0
- package/lib/components/stock/stock-location/stock-location.component.d.ts +12 -0
- package/{src/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.ts → lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts} +2 -2
- package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +20 -0
- package/lib/components/stock/stock.component.d.ts +19 -0
- package/lib/components/stock/stock.module.d.ts +2 -0
- package/{src/lib → lib}/components/stock/style/_layout.scss +0 -0
- package/{src/lib → lib}/components/stock/style/_material-definition.scss +0 -0
- package/{src/lib → lib}/components/stock/style/_theme.scss +0 -0
- package/{src/lib → lib}/components/stock/style/material.scss +0 -0
- package/{src/lib/enum/icon.enum.ts → lib/enum/icon.enum.d.ts} +1 -2
- package/lib/factory/business-object-factory.d.ts +23 -0
- package/lib/factory/decorators/boolean.decorator.d.ts +43 -0
- package/lib/factory/decorators/complex-array.decorator.d.ts +25 -0
- package/lib/factory/decorators/complex-field.decorator.d.ts +25 -0
- package/lib/factory/decorators/date-field.decorator.d.ts +17 -0
- package/lib/factory/decorators/string-number.decorator.d.ts +22 -0
- package/lib/model/business-object.d.ts +7 -0
- package/lib/model/icon-svg.d.ts +4 -0
- package/lib/service/icon-cache.service.d.ts +18 -0
- package/lib/service/ione-connector-adapter.service.d.ts +21 -0
- package/lib/service/stock.service.d.ts +13 -0
- package/{src/lib → lib}/style/_mixin.scss +0 -0
- package/{src/lib → lib}/style/_variables.scss +0 -0
- package/lib/utils/array-utils.d.ts +57 -0
- package/lib/utils/is-nill.function.d.ts +1 -0
- package/package.json +25 -15
- package/{src/public-api.ts → public-api.d.ts} +0 -4
- package/.browserslistrc +0 -16
- package/colijnit-sharedcomponents-1.0.7.tgz +0 -0
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -17
- package/src/lib/components/docsign/component/signature/signature.component.ts +0 -82
- package/src/lib/components/docsign/component/signatures/signatures.component.ts +0 -50
- package/src/lib/components/docsign/docsign.component.ts +0 -252
- package/src/lib/components/docsign/docsign.module.ts +0 -22
- package/src/lib/components/send-method-dialog/enums/send-option.ts +0 -6
- package/src/lib/components/send-method-dialog/send-method-dialog.component.ts +0 -215
- package/src/lib/components/send-method-dialog/send-method-dialog.module.ts +0 -27
- package/src/lib/components/stock/stock-information/stock-information.component.ts +0 -59
- package/src/lib/components/stock/stock-information-grid/stock-information-grid.component.ts +0 -278
- package/src/lib/components/stock/stock-location/stock-location.component.ts +0 -82
- package/src/lib/components/stock/stock-transfer/stock-transfer.component.ts +0 -111
- package/src/lib/components/stock/stock.component.ts +0 -78
- package/src/lib/components/stock/stock.module.ts +0 -47
- package/src/lib/factory/business-object-factory.ts +0 -120
- package/src/lib/factory/decorators/boolean.decorator.ts +0 -113
- package/src/lib/factory/decorators/complex-array.decorator.ts +0 -61
- package/src/lib/factory/decorators/complex-field.decorator.ts +0 -63
- package/src/lib/factory/decorators/date-field.decorator.ts +0 -41
- package/src/lib/factory/decorators/string-number.decorator.ts +0 -48
- package/src/lib/model/business-object.ts +0 -85
- package/src/lib/model/icon-svg.ts +0 -22
- package/src/lib/service/icon-cache.service.ts +0 -51
- package/src/lib/service/ione-connector-adapter.service.ts +0 -113
- package/src/lib/service/stock.service.ts +0 -35
- package/src/lib/utils/array-utils.ts +0 -202
- package/src/lib/utils/is-nill.function.ts +0 -4
- package/src/test.ts +0 -27
- package/tsconfig.lib.json +0 -18
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"TextDimension":{"__symbolic":"interface"},"DocsignComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"ione-docsign","template":"\n <iframe #iframe></iframe>\n <ione-signatures *ngIf=\"showSignatures\" @showHideSignature\n [showFirstSignature]=\"showSigBuyer\"\n [firstSignatureTitle]=\"firstSignatureLabel\"\n [showSecondSignature]=\"showSigSeller\"\n [secondSignatureTitle]=\"secondSignatureLabel\"\n [saveButtonLabel]=\"saveButtonLabel\"\n [clearButtonLabel]=\"clearButtonLabel\"\n (saveFirstSignature)=\"saveFirstSignature($event)\"\n (saveSecondSignature)=\"saveSecondSignature($event)\"\n ></ione-signatures>\n <input type=\"button\" *ngIf=\"(showSigBuyer || showSigSeller) && !showSignatures\" class=\"button button-sign-document\"\n [value]=\"signDocumentButtonLabel\"\n (click)=\"showSignatures = true\"\n />\n <input type=\"button\" class=\"button button-cancel\"\n [value]=\"cancelButtonLabel\"\n (click)=\"cancelClick.emit($event)\"\n />\n ","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":39,"character":4},"arguments":["showHideSignature",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":40,"character":6},"arguments":["void",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":40,"character":20},"arguments":[{"transform":"translate(-50%, -50%) scale(0)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":41,"character":6},"arguments":["*",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":41,"character":17},"arguments":[{"transform":"translate(-50%, -50%) scale(1)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":42,"character":6},"arguments":["void <=> *",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":42,"character":31},"arguments":["200ms ease-in-out"]}]}]]}],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":45,"character":17},"member":"None"}}]}],"members":{"iframe":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":48,"character":3},"arguments":["iframe",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":48,"character":31}}]}]}],"pdf":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":103,"character":3}}]}],"firstSignatureLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":115,"character":3}}]}],"firstSignatureField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":118,"character":3}}]}],"secondSignatureLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":121,"character":3}}]}],"secondSignatureField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":124,"character":3}}]}],"saveButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":127,"character":3}}]}],"clearButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":130,"character":3}}]}],"signDocumentButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":133,"character":3}}]}],"cancelButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":136,"character":3}}]}],"pdfSaved":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":139,"character":3}}]}],"cancelClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":142,"character":3}}]}],"showClass":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":145,"character":3},"arguments":["class.ione-docsign"]}]}],"saveFirstSignature":[{"__symbolic":"method"}],"saveSecondSignature":[{"__symbolic":"method"}],"_openPDF":[{"__symbolic":"method"}],"_savePdf":[{"__symbolic":"method"}],"_checkSignatures":[{"__symbolic":"method"}],"_getPositionSignature":[{"__symbolic":"method"}],"_saveSignature":[{"__symbolic":"method"}]}},"DocsignModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":4}],"declarations":[{"__symbolic":"reference","name":"DocsignComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}],"exports":[{"__symbolic":"reference","name":"DocsignComponent"}]}]}],"members":{}},"StockComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"co-stock","template":"\n <div class=\"stock-info-container\">\n <co-stock-information [article]=\"articleExtended\"></co-stock-information>\n <hr>\n <co-stock-information-grid *ngIf=\"showStockInformationGrid\" (transferIconClicked)=\"handleStockTransferClick($event)\"></co-stock-information-grid>\n <co-stock-location *ngIf=\"showStockLocation\" (backToStockLines)=\"backToStockLinesClicked()\"></co-stock-location>\n <co-stock-transfer *ngIf=\"showStockTransfer\"\n (handleCancelClicked)=\"backToStock()\"\n [article]=\"articleExtended\"\n [stockSticker]=\"stockService.stockStickers\"\n (handleStickerClicked)=\"handleStickerClicked.emit($event)\"\n [articleWarehouse]=\"articleWarehouse\"\n [allWarehouses]=\"allWarehouses\"\n >\n </co-stock-transfer>\n </div>\n ","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":23,"character":17},"member":"None"}}]}],"members":{"stock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":27,"character":3},"arguments":[{"__symbolic":"reference","name":"StockComponent"}]}]}],"handleStickerClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"articleExtended":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"articleWarehouse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"allWarehouses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"showClass":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":47,"character":3},"arguments":["class.co-stock"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"backToStockLinesClicked":[{"__symbolic":"method"}],"handleStockTransferClick":[{"__symbolic":"method"}],"backToStock":[{"__symbolic":"method"}]}},"StockModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"InputComboBoxModule","line":20,"character":8},{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"CoGridModule","line":21,"character":8},{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"ButtonModule","line":22,"character":8},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":23,"character":8},{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"InputRadioButtonModule","line":24,"character":8},{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"DropDownModule","line":25,"character":8},{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"SimpleGridModule","line":26,"character":8},{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"ImageModule","line":27,"character":8},{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"InputTextModule","line":28,"character":8},{"__symbolic":"reference","name":"SendMethodDialogModule"}],"declarations":[{"__symbolic":"reference","name":"StockComponent"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"}],"exports":[{"__symbolic":"reference","name":"StockComponent"}],"providers":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}]}]}],"members":{}},"SendMethodDialogComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"ione-send-method-dialog","template":"\n <div class=\"send-method-dialog-wrapper\">\n <co-dialog-wizard id=\"sendOptionsDialog\" *ngIf=\"showDialog\" [showCloseIcon]=\"showExitButton\" (closeClick)=\"closeDialogClick()\">\n <ng-container header>\n <span [textContent]=\"headerTitle\"></span>\n </ng-container>\n <div class=\"dialog-content-wrapper\">\n <div class=\"main-content-container\" *ngIf=\"!showPrinterSelections\">\n <div class=\"send-options-wrapper\">\n <div class=\"custom-button-wrapper\" *ngFor=\"let sendOption of sendOptions\"\n [class.selected-option]=\"sendOption.option === activeSendOption\"\n (click)=\"activeSendOption = sendOption.option\">\n <co-icon [iconData]=\"iconCacheService.getIcon(sendOption.iconName)\"></co-icon>\n </div>\n </div>\n\n <div class=\"email-option-content\" *ngIf=\"activeSendOption === sendOption.Email || activeSendOption === sendOption.Pdf\">\n <div class=\"emails-container\" *ngIf=\"activeSendOption === sendOption.Email\">\n <co-input-checkbox\n *ngFor=\"let email, let index of emails\"\n [name]=\"email\"\n [(model)]=\"models[index]\"\n [label]=\"email\"\n [cssClass]=\"'input-checkbox-wrapper'\"\n ></co-input-checkbox>\n </div>\n\n <div class=\"lov-wrapper\">\n <co-input-combo-box\n [(model)]=\"selectedLayout\"\n [collection]=\"layouts\"\n [forceReadonly]=\"true\"\n placeholder=\"Layout\"\n ></co-input-combo-box>\n </div>\n\n <div class=\"signature-button-wrapper\">\n <div class=\"custom-button-wrapper signature-button\" (click)=\"handleSignatureStart()\">\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.SignatureField)\"></co-icon>\n </div>\n </div>\n </div>\n\n <div class=\"email-option-content\" *ngIf=\"activeSendOption === sendOption.Print\">\n <div class=\"lov-wrapper\">\n <co-input-combo-box\n [(model)]=\"selectedLayout\"\n [collection]=\"layouts\"\n [forceReadonly]=\"true\"\n placeholder=\"Layout\"\n ></co-input-combo-box>\n </div>\n\n <div class=\"lov-wrapper clickable\" (click)=\"togglePrinterSelection()\">\n <div class=\"selected-printer-wrapper\">\n <div class=\"printer-option-list-item\">\n <co-icon class=\"printer-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\"></co-icon>\n <div class=\"printer-details\">\n <span class=\"printer-name\" [textContent]=\"defaultPrinter\"></span>\n <span class=\"printer-status\" [textContent]=\"'Online'\"></span>\n </div>\n </div>\n <co-icon class=\"select-printer-arrow\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\"></co-icon>\n </div>\n </div>\n\n <div class=\"standard-printer-wrapper\">\n <div class=\"standard-printer-link\" (click)=\"showStandardPrinterOptions = !showStandardPrinterOptions\">\n <co-icon class=\"arrow-icon\" [iconData]=\"iconCacheService.getIcon(icons.ArrowFatRight)\"></co-icon>\n <span class=\"standard-printer-message\" [textContent]=\"'Standaard printer voor lay-out instellen'\"></span>\n </div>\n\n <div class=\"standard-printer-selections\" *ngIf=\"showStandardPrinterOptions\">\n <co-input-checkbox\n [(model)]=\"models[0]\"\n [label]=\"'Per gebruiker instellen'\"\n [cssClass]=\"'input-checkbox-wrapper'\"\n ></co-input-checkbox>\n <co-input-checkbox\n [(model)]=\"models[1]\"\n [label]=\"'Voor alle gebruikers instellen'\"\n [cssClass]=\"'input-checkbox-wrapper'\"\n ></co-input-checkbox>\n </div>\n </div>\n\n <div class=\"print-footer-wrapper\">\n <div class=\"input-number-wrapper\">\n <co-input-number-picker class=\"number-picker\"\n [step]=\"1\" [(model)]=\"amountToPrint\" [min]=\"1\"\n [ngModelOptions]=\"{debounce: 1}\">\n </co-input-number-picker>\n </div>\n <div class=\"custom-button-wrapper print-button\" (click)=\"handlePrintClicked()\">\n <span [textContent]=\"'Print'\"></span>\n </div>\n <div class=\"custom-button-wrapper signature-button\" (click)=\"handleSignatureStart()\">\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.SignatureField)\"></co-icon>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"printer-content-container\" @slideInOut *ngIf=\"showPrinterSelections\">\n <div class=\"selected-printer-wrapper selection clickable\" *ngFor=\"let printers of printerList\" (click)=\"togglePrinterSelection()\">\n <div class=\"printer-option-list-item\">\n <co-icon class=\"printer-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\"></co-icon>\n <div class=\"printer-details\">\n <span class=\"printer-name\" [textContent]=\"printers.name\"></span>\n <span class=\"printer-status\" [textContent]=\"'Online'\"></span>\n </div>\n </div>\n <co-icon class=\"select-printer-arrow\" *ngIf=\"!showPrinterSelections\"\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\"></co-icon>\n </div>\n </div>\n </div>\n </co-dialog-wizard>\n </div>\n ","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":130,"character":17},"member":"None"},"animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":132,"character":4},"arguments":["slideInOut",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":133,"character":6},"arguments":["*",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":133,"character":17},"arguments":[{"transform":"translateX(0%)","width":"100%","opacity":"1"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":134,"character":6},"arguments":["void",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":134,"character":20},"arguments":[{"transform":"translateX(150%)","opacity":"0"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":135,"character":6},"arguments":["void => *",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":135,"character":30},"arguments":[250]}]}]]}]}]}],"members":{"showDialog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":168,"character":3}}]}],"headerTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":171,"character":3}}]}],"printerList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":174,"character":3}}]}],"startSignatureClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":177,"character":3}}]}],"printButtonClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":180,"character":3}}]}],"showClass":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":183,"character":3},"arguments":["class.ione-send-method-dialog"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵc"}]}],"closeDialogClick":[{"__symbolic":"method"}],"handleSignatureStart":[{"__symbolic":"method"}],"handlePrintClicked":[{"__symbolic":"method"}],"togglePrinterSelection":[{"__symbolic":"method"}]}},"SendMethodDialogModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"SendMethodDialogComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":14,"character":4},{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"CoDialogPromptModule","line":15,"character":4},{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"InputCheckboxModule","line":16,"character":4},{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"InputComboBoxModule","line":17,"character":4},{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"IconModule","line":18,"character":4},{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"InputNumberPickerModule","line":19,"character":4},{"__symbolic":"reference","module":"@colijnit/corecomponents_v12","name":"CoDialogWizardModule","line":20,"character":4}],"exports":[{"__symbolic":"reference","name":"SendMethodDialogComponent"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"ione-signature","template":"\n <div class=\"signature-wrapper\">\n <div class=\"signature-header\">\n <span *ngIf=\"title\" class=\"title\" [textContent]=\"title\"></span>\n <div class=\"button-wrapper\">\n <input type=\"button\" (click)=\"handleSave($event)\" [value]=\"saveButtonLabel\"/>\n <input type=\"button\" (click)=\"handleClear($event)\" [value]=\"clearButtonLabel\">\n </div>\n </div>\n <div class=\"canvas\">\n <canvas #signature></canvas>\n </div>\n </div>\n ","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":19,"character":17},"member":"None"}}]}],"members":{"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":22,"character":3},"arguments":["signature",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":22,"character":33}}]}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"saveButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"clearButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"save":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"showClass":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":41,"character":3},"arguments":["class.ione-signature"]}]}],"handleSave":[{"__symbolic":"method"}],"handleClear":[{"__symbolic":"method"}],"_initCanvas":[{"__symbolic":"method"}],"_resizeSignatureCanvas":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"ione-signatures","template":"\n <ione-signature *ngIf=\"showFirstSignature\"\n [title]=\"firstSignatureTitle\"\n [saveButtonLabel]=\"saveButtonLabel\"\n [clearButtonLabel]=\"clearButtonLabel\"\n (save)=\"saveFirstSignature.emit($event)\"></ione-signature>\n <ione-signature *ngIf=\"showSecondSignature\"\n [title]=\"secondSignatureTitle\"\n [saveButtonLabel]=\"saveButtonLabel\"\n [clearButtonLabel]=\"clearButtonLabel\"\n (save)=\"saveSecondSignature.emit($event)\"></ione-signature>\n ","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":16,"character":17},"member":"None"}}]}],"members":{"showFirstSignature":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"firstSignatureTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"showSecondSignature":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"secondSignatureTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"saveButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"clearButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"saveFirstSignature":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"saveSecondSignature":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":3}}]}],"showClass":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":44,"character":3},"arguments":["class.ione-signatures"]}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"connectConnector":[{"__symbolic":"method"}],"getPrintStockStickers":[{"__symbolic":"method"}],"getAllPrinters":[{"__symbolic":"method"}],"loadStockLocations":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":13,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"connect":[{"__symbolic":"method"}],"disconnect":[{"__symbolic":"method"}],"getAllPrinters":[{"__symbolic":"method"}],"getPrintStockStickers":[{"__symbolic":"method"}],"getArticleFullObject":[{"__symbolic":"method"}],"getArticleFlatObject":[{"__symbolic":"method"}],"getWarehouses":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":20,"character":24}]}],"getIcon":[{"__symbolic":"method"}],"getIconAsBase64":[{"__symbolic":"method"}],"getRawIcon":[{"__symbolic":"method"}],"setIconCache":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"co-stock-information","template":"\n <div class=\"stock-info\">\n <div class=\"stock-info-row\">\n <div class=\"stock-info-row-image\">\n <div class=\"stock-image\">\n <co-image class=\"stock-image\" [source]=\"article?.imageData\"></co-image>\n </div>\n </div>\n <div class=\"stock-good-info\">\n <div>\n <span [textContent]=\"article?.name\"></span>\n </div>\n <div>\n <span [textContent]=\"article?.articleNumber\"></span>\n </div>\n </div>\n </div>\n <div class=\"stock-status\">\n <label [textContent]=\"article?.stockStatus\"></label>\n </div>\n <div class=\"stock-status\">\n <label [textContent]=\"'STOCK'\"></label>\n <span></span>\n </div>\n <div class=\"stock-status\">\n <label [textContent]=\"article?.stockAvailable\"></label>\n <span>totalAmountAvailable</span>\n </div>\n <div class=\"stock-status\">\n <label [textContent]=\"'ECONOMICAL_STOCK'\"></label>\n <span></span>\n </div>\n <div class=\"stock-status\">\n <label [textContent]=\"'PHYSICAL_STOCK'\"></label>\n <span></span>\n </div>\n </div>\n ","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":42,"character":17},"member":"None"}}]}],"members":{"article":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"co-stock-information-grid","template":"\n <div class=\"tab-link show\" *ngIf=\"hideOrShowTabs\">\n <span class=\"tab-link-buttons\"\n *ngFor=\"let tab of tabs\"\n (click)=\"handleTabClick(tab)\"\n [textContent]=\"tab\"\n [class.active]=\"tab === activeTab\"\n ></span>\n </div>\n\n <div class=\"stock-line\">\n <div [textContent]=\"activeTabText\"></div>\n\n </div>\n\n <div class=\"stock-grid\">\n <co-simple-grid *ngIf=\"activeTab === tabs[0] && hideOrShowTabs\"\n [data]=\"stockInformation\"\n >\n <co-simple-grid-column [headerText]=\"'WAREHOUSE'\" [field]=\"'warehouseNumber'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DESCRIPTION'\" [field]=\"'warehouseDescription'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK'\" [field]=\"'amountInStock'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK'\" [field]=\"'amountAvailable'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'ECONOMICAL_STOCK'\" [field]=\"'amountLaterAvailable'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LOCATION'\" [field]=\"'location'\">\n <ng-template let-row=\"row\">\n <a [textContent]=\"'bekijken'\" (click)=\"onLocationClick($event)\"></a>\n </ng-template>\n </co-simple-grid-column>\n </co-simple-grid>\n\n <co-simple-grid *ngIf=\"activeTab === tabs[1]\"\n [data]=\"inOrderInformation\"\n >\n <co-simple-grid-column [headerText]=\"'IN_ORDER2'\" [field]=\"'inOrder'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'CUSTOMER'\" [field]=\"'customer'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DATE'\" [field]=\"'orderDate'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AMOUNT'\" [field]=\"'orderAmount'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'WAREHOUSE'\" [field]=\"'warehouseNumber'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DESCRIPTION'\" [field]=\"'warehouseDescription'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK'\" [field]=\"'amountInStock'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'COMMISSION2'\" [field]=\"'commission'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'TRANSFER'\" [field]=\"'transfer'\">\n <ng-template let-row=\"row\">\n\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STICKER'\" [field]=\"'sticker'\">\n <ng-template let-row=\"row\">\n\n </ng-template>\n </co-simple-grid-column>\n </co-simple-grid>\n\n <co-simple-grid *ngIf=\"activeTab === tabs[2]\"\n [data]=\"orderInformation\"\n >\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER_NR'\" [field]=\"'purchaseOrderNo'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DATE'\" [field]=\"'orderDate'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AMOUNT'\" [field]=\"'orderAmount'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'RESERVED'\" [field]=\"'reserved'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'FREE_STOCK'\" [field]=\"'freeStock'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE1'\" [field]=\"'deliveryDate'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'RESERVE'\" [field]=\"'reservation'\"></co-simple-grid-column>\n </co-simple-grid>\n </div>\n\n <div class=\"stock-grid\" *ngIf=\"hideOrShowLocationTab\">\n <div class=\"stock-location-group\">\n <div class=\"stock-location-left-group\">\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES'\" (click)=\"handleBackToStockClick()\"></span>\n </div>\n <div class=\"stock-location-right-group\">\n <co-input-combo-box [(model)]=\"dataWareHouseCode\"\n [fields]=\"dataWareHouseFields\"\n [placeholder]=\"'WAREHOUSE'\"\n [required]=\"true\"\n ></co-input-combo-box>\n </div>\n </div>\n\n <co-simple-grid [data]=\"stockLocationInformation\"\n >\n <div class=\"stock-location-group\">\n <div class=\"stock-location-left-group\">\n <co-button class=\"stock-lines-button\" [textContent]=\"'BACK_TO_STOCK_LINES'\" (click)=\"handleBackToStockClick()\"></co-button>\n </div>\n </div>\n <co-simple-grid-column [headerText]=\"'WAREHOUSE'\" [field]=\"'location'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'BATCH'\" [field]=\"'batch'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'SERIAL_NO'\" [field]=\"'serialNo'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK'\" [field]=\"'amountInStock'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'ALLOCATED'\" [field]=\"'allocated'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK'\" [field]=\"'amountAvailable'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'TRANSFER'\" [field]=\"'transfer'\">\n <ng-template let-row=\"row\">\n <span [textContent]=\"'Transfer'\" (click)=\"handleStockTransferClick($event)\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STICKER'\" [field]=\"'sticker'\">\n <ng-template let-row=\"row\">\n\n </ng-template>\n </co-simple-grid-column>\n </co-simple-grid>\n </div>\n\n <div class=\"stock-grid\" *ngIf=\"showStockHistory\">\n <co-simple-grid [data]=\"stockHistoryInformation\"\n >\n <co-simple-grid-column [headerText]=\"'WAREHOUSE'\" [field]=\"'location'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'BATCH'\" [field]=\"'batch'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'SERIAL_NO'\" [field]=\"'serialNo'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK'\" [field]=\"'amountInStock'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'ALLOCATED'\" [field]=\"'allocated'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK'\" [field]=\"'amountAvailable'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STICKER'\" [field]=\"'sticker'\">\n <ng-template let-row=\"row\">\n\n </ng-template>\n </co-simple-grid-column>\n </co-simple-grid>\n </div>\n\n <div class=\"stock-button-toolbar\">\n <div class=\"stock-button-left-group\">\n <co-button [label]=\"'HISTORY'\" (click)=\"handleHistoryClick()\"></co-button>\n </div>\n <div class=\"stock-button-middle-group\">\n <div class=\"button-left\">\n <co-button [textContent]=\"'Ok'\" (click)=\"onOkClick()\"></co-button>\n </div>\n <div class=\"button-right\">\n <co-button [textContent]=\"'Annuleren'\" (click)=\"onCancelClick()\"></co-button>\n </div>\n </div>\n </div>\n ","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":143,"character":17},"member":"None"}}]}],"members":{"stock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":147,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵg"}]}]}],"locationLineClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":150,"character":3}}]}],"transferIconClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":153,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"handleTabClick":[{"__symbolic":"method"}],"onLocationClick":[{"__symbolic":"method"}],"onRowClick":[{"__symbolic":"method"}],"onPopupClose":[{"__symbolic":"method"}],"handleHistoryClick":[{"__symbolic":"method"}],"handleCloseClick":[{"__symbolic":"method"}],"handleStockTransferClick":[{"__symbolic":"method"}],"handleBackToStockClick":[{"__symbolic":"method"}],"handleStickerClick":[{"__symbolic":"method"}],"handleTransferClick":[{"__symbolic":"method"}],"onOkClick":[{"__symbolic":"method"}],"onCancelClick":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"co-stock-location","template":"\n <div class=\"stock-location-wrapper\">\n <div class=\"buttons-wrapper\">\n <div class=\"stock-button-left-group\">\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES'\" (click)=\"backToStockInformation()\"></span>\n </div>\n <div class=\"dropdown-wrapper\">\n <co-drop-down-list></co-drop-down-list>\n </div>\n </div>\n\n <div class=\"stock-grid\">\n\n </div>\n <div class=\"button-wrapper\">\n <div class=\"button-left\">\n <co-button (click)=\"onOkClick()\"></co-button>\n </div>\n <div class=\"button-right\">\n <co-button (click)=\"onCancelClick()\"></co-button>\n </div>\n </div>\n </div>\n\n ","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":29,"character":17},"member":"None"}}]}],"members":{"backToStockLines":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"backToStockInformation":[{"__symbolic":"method"}],"onStickerClick":[{"__symbolic":"method"}],"onOkClick":[{"__symbolic":"method"}],"onCancelClick":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"co-stock-transfer","template":"\n <div class=\"stock-transfer\">\n <div class=\"stock-transfer-columns\">\n <div *ngIf=\"article\" class=\"stock-transfer-left-column\">\n <co-input-text disabled\n [(model)]=\"article.standardWareHouse.description\"\n [textContent]=\"article.standardWareHouse.description\"\n [placeholder]=\"'Standaard magazijn'\">\n </co-input-text>\n <co-input-text disabled\n [(model)]=\"article.standardLocation\"\n [textContent]=\"article.standardLocation\"\n [placeholder]=\"'Standaard locatie'\">\n </co-input-text>\n <co-input-text disabled\n [(model)]=\"stockSticker.batch\"\n [placeholder]=\"'Batch'\">\n </co-input-text>\n <co-input-text disabled\n [(model)]=\"stockSticker.serial\"\n [placeholder]=\"'Serie'\">\n </co-input-text>\n <co-input-text\n [(model)]=\"article.amount\"\n [placeholder]=\"'Aantal'\">\n\n </co-input-text>\n </div>\n\n <div class=\"stock-transfer-right-column\">\n <co-drop-down-list [collection]=\"allWarehouses\"\n [fields]=\"allWarehousesDropdownFields\"\n (modelChange)=\"handleSelectedWarehouse($event)\"\n >\n </co-drop-down-list>\n <co-drop-down-list>\n\n </co-drop-down-list>\n <co-input-text [placeholder]=\"'Voorraadstatus'\">\n\n </co-input-text>\n <co-input-text [placeholder]=\"'Omschrijving'\">\n\n </co-input-text>\n </div>\n </div>\n\n <div class=\"ok-cancel-buttons\">\n <co-button [textContent]=\"'Ok'\" (click)=\"handleOkClick()\"></co-button>\n <co-button [textContent]=\"'Annuleren'\" (click)=\"handleCancelClick()\"></co-button>\n <co-button [textContent]=\"'Sticker'\" (click)=\"handleStickerClick()\"></co-button>\n </div>\n </div>\n ","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":62,"character":17},"member":"None"}}]}],"members":{"stockSticker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"article":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"articleWarehouse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"allWarehouses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"handleCancelClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":78,"character":3}}]}],"handleStickerClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":81,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"handleOkClick":[{"__symbolic":"method"}],"handleCancelClick":[{"__symbolic":"method"}],"handleSelectedWarehouse":[{"__symbolic":"method"}],"handleStickerClick":[{"__symbolic":"method"}]}}},"origins":{"TextDimension":"./lib/components/docsign/docsign.component","DocsignComponent":"./lib/components/docsign/docsign.component","DocsignModule":"./lib/components/docsign/docsign.module","StockComponent":"./lib/components/stock/stock.component","StockModule":"./lib/components/stock/stock.module","SendMethodDialogComponent":"./lib/components/send-method-dialog/send-method-dialog.component","SendMethodDialogModule":"./lib/components/send-method-dialog/send-method-dialog.module","ɵa":"./lib/components/docsign/component/signature/signature.component","ɵb":"./lib/components/docsign/component/signatures/signatures.component","ɵc":"./lib/service/stock.service","ɵd":"./lib/service/ione-connector-adapter.service","ɵe":"./lib/service/icon-cache.service","ɵf":"./lib/components/stock/stock-information/stock-information.component","ɵg":"./lib/components/stock/stock-information-grid/stock-information-grid.component","ɵh":"./lib/components/stock/stock-location/stock-location.component","ɵi":"./lib/components/stock/stock-transfer/stock-transfer.component"},"importAs":"@colijnit/sharedcomponents"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
export { SignatureComponent as ɵa } from './lib/components/docsign/component/signature/signature.component';
|
|
6
|
+
export { SignaturesComponent as ɵb } from './lib/components/docsign/component/signatures/signatures.component';
|
|
7
|
+
export { StockInformationGridComponent as ɵg } from './lib/components/stock/stock-information-grid/stock-information-grid.component';
|
|
8
|
+
export { StockInformationComponent as ɵf } from './lib/components/stock/stock-information/stock-information.component';
|
|
9
|
+
export { StockLocationComponent as ɵh } from './lib/components/stock/stock-location/stock-location.component';
|
|
10
|
+
export { StockTransferComponent as ɵi } from './lib/components/stock/stock-transfer/stock-transfer.component';
|
|
11
|
+
export { IconCacheService as ɵe } from './lib/service/icon-cache.service';
|
|
12
|
+
export { IoneConnectorAdapterService as ɵd } from './lib/service/ione-connector-adapter.service';
|
|
13
|
+
export { StockService as ɵc } from './lib/service/stock.service';
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29saWpuaXQtc2hhcmVkY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2NvbGlqbml0LXNoYXJlZGNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDMUcsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQzdHLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUNuSSxPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDckgsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFDLDJCQUEyQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQy9GLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7U2lnbmF0dXJlQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kb2NzaWduL2NvbXBvbmVudC9zaWduYXR1cmUvc2lnbmF0dXJlLmNvbXBvbmVudCc7XG5leHBvcnQge1NpZ25hdHVyZXNDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RvY3NpZ24vY29tcG9uZW50L3NpZ25hdHVyZXMvc2lnbmF0dXJlcy5jb21wb25lbnQnO1xuZXhwb3J0IHtTdG9ja0luZm9ybWF0aW9uR3JpZENvbXBvbmVudCBhcyDJtWd9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2staW5mb3JtYXRpb24tZ3JpZC9zdG9jay1pbmZvcm1hdGlvbi1ncmlkLmNvbXBvbmVudCc7XG5leHBvcnQge1N0b2NrSW5mb3JtYXRpb25Db21wb25lbnQgYXMgybVmfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL3N0b2NrLWluZm9ybWF0aW9uL3N0b2NrLWluZm9ybWF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1N0b2NrTG9jYXRpb25Db21wb25lbnQgYXMgybVofSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL3N0b2NrLWxvY2F0aW9uL3N0b2NrLWxvY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1N0b2NrVHJhbnNmZXJDb21wb25lbnQgYXMgybVpfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL3N0b2NrLXRyYW5zZmVyL3N0b2NrLXRyYW5zZmVyLmNvbXBvbmVudCc7XG5leHBvcnQge0ljb25DYWNoZVNlcnZpY2UgYXMgybVlfSBmcm9tICcuL2xpYi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XG5leHBvcnQge0lvbmVDb25uZWN0b3JBZGFwdGVyU2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2UvaW9uZS1jb25uZWN0b3ItYWRhcHRlci5zZXJ2aWNlJztcbmV4cG9ydCB7U3RvY2tTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9saWIvc2VydmljZS9zdG9jay5zZXJ2aWNlJzsiXX0=
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import SignaturePad from "signature_pad";
|
|
3
|
+
export class SignatureComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.saveButtonLabel = 'SAVE';
|
|
6
|
+
this.clearButtonLabel = 'CLEAR';
|
|
7
|
+
this.save = new EventEmitter();
|
|
8
|
+
}
|
|
9
|
+
set content(content) {
|
|
10
|
+
if (content) {
|
|
11
|
+
this.signatureCanvas = content;
|
|
12
|
+
this._initCanvas();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
showClass() {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
handleSave(event) {
|
|
19
|
+
// save canvas as svg
|
|
20
|
+
// const sig: string = this.signature.toDataURL("image/svg+xml");
|
|
21
|
+
const sig = this.signature.toDataURL("image/png");
|
|
22
|
+
// emit signature string
|
|
23
|
+
this.save.next(sig);
|
|
24
|
+
}
|
|
25
|
+
handleClear(event) {
|
|
26
|
+
if (this.signature) {
|
|
27
|
+
this.signature.clear();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
_initCanvas() {
|
|
31
|
+
if (this.signatureCanvas && this.signatureCanvas.nativeElement) {
|
|
32
|
+
this.signature = new SignaturePad(this.signatureCanvas.nativeElement);
|
|
33
|
+
setTimeout(() => {
|
|
34
|
+
this._resizeSignatureCanvas(this.signature, this.signatureCanvas);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
_resizeSignatureCanvas(signature, signatureCanvas) {
|
|
39
|
+
const imageBeforeResize = signature.toDataURL();
|
|
40
|
+
const ratio = Math.max(window.devicePixelRatio || 1, 1);
|
|
41
|
+
signatureCanvas.nativeElement.width = signatureCanvas.nativeElement.offsetWidth * ratio;
|
|
42
|
+
signatureCanvas.nativeElement.height = signatureCanvas.nativeElement.offsetHeight * ratio;
|
|
43
|
+
signatureCanvas.nativeElement.getContext("2d").scale(ratio, ratio);
|
|
44
|
+
signature.fromDataURL(imageBeforeResize);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
SignatureComponent.decorators = [
|
|
48
|
+
{ type: Component, args: [{
|
|
49
|
+
selector: "ione-signature",
|
|
50
|
+
template: `
|
|
51
|
+
<div class="signature-wrapper">
|
|
52
|
+
<div class="signature-header">
|
|
53
|
+
<span *ngIf="title" class="title" [textContent]="title"></span>
|
|
54
|
+
<div class="button-wrapper">
|
|
55
|
+
<input type="button" (click)="handleSave($event)" [value]="saveButtonLabel"/>
|
|
56
|
+
<input type="button" (click)="handleClear($event)" [value]="clearButtonLabel">
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="canvas">
|
|
60
|
+
<canvas #signature></canvas>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
`,
|
|
64
|
+
encapsulation: ViewEncapsulation.None
|
|
65
|
+
},] }
|
|
66
|
+
];
|
|
67
|
+
SignatureComponent.propDecorators = {
|
|
68
|
+
content: [{ type: ViewChild, args: ["signature", { read: ElementRef },] }],
|
|
69
|
+
title: [{ type: Input }],
|
|
70
|
+
saveButtonLabel: [{ type: Input }],
|
|
71
|
+
clearButtonLabel: [{ type: Input }],
|
|
72
|
+
save: [{ type: Output }],
|
|
73
|
+
showClass: [{ type: HostBinding, args: ["class.ione-signature",] }]
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2RvY3NpZ24vY29tcG9uZW50L3NpZ25hdHVyZS9zaWduYXR1cmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxZQUFZLE1BQU0sZUFBZSxDQUFDO0FBb0J6QyxNQUFNLE9BQU8sa0JBQWtCO0lBbEIvQjtRQThCUyxvQkFBZSxHQUFXLE1BQU0sQ0FBQztRQUdqQyxxQkFBZ0IsR0FBVyxPQUFPLENBQUM7UUFHbkMsU0FBSSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBMENqRSxDQUFDO0lBM0RDLElBQWdELE9BQU8sQ0FBQyxPQUFtQjtRQUN6RSxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO1lBQy9CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFlTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBS00sVUFBVSxDQUFDLEtBQWlCO1FBQ2pDLHFCQUFxQjtRQUNyQixpRUFBaUU7UUFDakUsTUFBTSxHQUFHLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUQsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBaUI7UUFDbEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUU7WUFDOUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3RFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsU0FBdUIsRUFBRSxlQUEyQjtRQUNqRixNQUFNLGlCQUFpQixHQUFXLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4RCxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3hGLGVBQWUsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxRixlQUFlLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25FLFNBQVMsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7WUE1RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztHQWFUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7c0JBRUUsU0FBUyxTQUFDLFdBQVcsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7b0JBT3pDLEtBQUs7OEJBR0wsS0FBSzsrQkFHTCxLQUFLO21CQUdMLE1BQU07d0JBR04sV0FBVyxTQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCBTaWduYXR1cmVQYWQgZnJvbSBcInNpZ25hdHVyZV9wYWRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImlvbmUtc2lnbmF0dXJlXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJzaWduYXR1cmUtd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2lnbmF0dXJlLWhlYWRlclwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwidGl0bGVcIiBjbGFzcz1cInRpdGxlXCIgW3RleHRDb250ZW50XT1cInRpdGxlXCI+PC9zcGFuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiaGFuZGxlU2F2ZSgkZXZlbnQpXCIgW3ZhbHVlXT1cInNhdmVCdXR0b25MYWJlbFwiLz5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZUNsZWFyKCRldmVudClcIiBbdmFsdWVdPVwiY2xlYXJCdXR0b25MYWJlbFwiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhbnZhc1wiPlxyXG4gICAgICAgIDxjYW52YXMgI3NpZ25hdHVyZT48L2NhbnZhcz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZ25hdHVyZUNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChcInNpZ25hdHVyZVwiLCB7cmVhZDogRWxlbWVudFJlZn0pIHNldCBjb250ZW50KGNvbnRlbnQ6IEVsZW1lbnRSZWYpIHtcclxuICAgIGlmIChjb250ZW50KSB7XHJcbiAgICAgIHRoaXMuc2lnbmF0dXJlQ2FudmFzID0gY29udGVudDtcclxuICAgICAgdGhpcy5faW5pdENhbnZhcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2F2ZUJ1dHRvbkxhYmVsOiBzdHJpbmcgPSAnU0FWRSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNsZWFyQnV0dG9uTGFiZWw6IHN0cmluZyA9ICdDTEVBUic7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzYXZlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5pb25lLXNpZ25hdHVyZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaWduYXR1cmU6IFNpZ25hdHVyZVBhZDtcclxuICBwdWJsaWMgc2lnbmF0dXJlQ2FudmFzOiBFbGVtZW50UmVmO1xyXG5cclxuICBwdWJsaWMgaGFuZGxlU2F2ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgLy8gc2F2ZSBjYW52YXMgYXMgc3ZnXHJcbiAgICAvLyBjb25zdCBzaWc6IHN0cmluZyA9IHRoaXMuc2lnbmF0dXJlLnRvRGF0YVVSTChcImltYWdlL3N2Zyt4bWxcIik7XHJcbiAgICBjb25zdCBzaWc6IHN0cmluZyA9IHRoaXMuc2lnbmF0dXJlLnRvRGF0YVVSTChcImltYWdlL3BuZ1wiKTtcclxuICAgIC8vIGVtaXQgc2lnbmF0dXJlIHN0cmluZ1xyXG4gICAgdGhpcy5zYXZlLm5leHQoc2lnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbGVhcihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2lnbmF0dXJlKSB7XHJcbiAgICAgIHRoaXMuc2lnbmF0dXJlLmNsZWFyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0Q2FudmFzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2lnbmF0dXJlQ2FudmFzICYmIHRoaXMuc2lnbmF0dXJlQ2FudmFzLm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5zaWduYXR1cmUgPSBuZXcgU2lnbmF0dXJlUGFkKHRoaXMuc2lnbmF0dXJlQ2FudmFzLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLl9yZXNpemVTaWduYXR1cmVDYW52YXModGhpcy5zaWduYXR1cmUsIHRoaXMuc2lnbmF0dXJlQ2FudmFzKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZXNpemVTaWduYXR1cmVDYW52YXMoc2lnbmF0dXJlOiBTaWduYXR1cmVQYWQsIHNpZ25hdHVyZUNhbnZhczogRWxlbWVudFJlZik6IHZvaWQge1xyXG4gICAgY29uc3QgaW1hZ2VCZWZvcmVSZXNpemU6IHN0cmluZyA9IHNpZ25hdHVyZS50b0RhdGFVUkwoKTtcclxuICAgIGNvbnN0IHJhdGlvOiBudW1iZXIgPSBNYXRoLm1heCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyB8fCAxLCAxKTtcclxuICAgIHNpZ25hdHVyZUNhbnZhcy5uYXRpdmVFbGVtZW50LndpZHRoID0gc2lnbmF0dXJlQ2FudmFzLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKiByYXRpbztcclxuICAgIHNpZ25hdHVyZUNhbnZhcy5uYXRpdmVFbGVtZW50LmhlaWdodCA9IHNpZ25hdHVyZUNhbnZhcy5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCAqIHJhdGlvO1xyXG4gICAgc2lnbmF0dXJlQ2FudmFzLm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dChcIjJkXCIpLnNjYWxlKHJhdGlvLCByYXRpbyk7XHJcbiAgICBzaWduYXR1cmUuZnJvbURhdGFVUkwoaW1hZ2VCZWZvcmVSZXNpemUpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
export class SignaturesComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.showFirstSignature = false;
|
|
5
|
+
this.showSecondSignature = false;
|
|
6
|
+
this.saveButtonLabel = 'SAVE';
|
|
7
|
+
this.clearButtonLabel = 'CLEAR';
|
|
8
|
+
this.saveFirstSignature = new EventEmitter();
|
|
9
|
+
this.saveSecondSignature = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
showClass() {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
SignaturesComponent.decorators = [
|
|
16
|
+
{ type: Component, args: [{
|
|
17
|
+
selector: "ione-signatures",
|
|
18
|
+
template: `
|
|
19
|
+
<ione-signature *ngIf="showFirstSignature"
|
|
20
|
+
[title]="firstSignatureTitle"
|
|
21
|
+
[saveButtonLabel]="saveButtonLabel"
|
|
22
|
+
[clearButtonLabel]="clearButtonLabel"
|
|
23
|
+
(save)="saveFirstSignature.emit($event)"></ione-signature>
|
|
24
|
+
<ione-signature *ngIf="showSecondSignature"
|
|
25
|
+
[title]="secondSignatureTitle"
|
|
26
|
+
[saveButtonLabel]="saveButtonLabel"
|
|
27
|
+
[clearButtonLabel]="clearButtonLabel"
|
|
28
|
+
(save)="saveSecondSignature.emit($event)"></ione-signature>
|
|
29
|
+
`,
|
|
30
|
+
encapsulation: ViewEncapsulation.None
|
|
31
|
+
},] }
|
|
32
|
+
];
|
|
33
|
+
SignaturesComponent.propDecorators = {
|
|
34
|
+
showFirstSignature: [{ type: Input }],
|
|
35
|
+
firstSignatureTitle: [{ type: Input }],
|
|
36
|
+
showSecondSignature: [{ type: Input }],
|
|
37
|
+
secondSignatureTitle: [{ type: Input }],
|
|
38
|
+
saveButtonLabel: [{ type: Input }],
|
|
39
|
+
clearButtonLabel: [{ type: Input }],
|
|
40
|
+
saveFirstSignature: [{ type: Output }],
|
|
41
|
+
saveSecondSignature: [{ type: Output }],
|
|
42
|
+
showClass: [{ type: HostBinding, args: ["class.ione-signatures",] }]
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kb2NzaWduL2NvbXBvbmVudC9zaWduYXR1cmVzL3NpZ25hdHVyZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBa0JyRyxNQUFNLE9BQU8sbUJBQW1CO0lBaEJoQztRQW1CUyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFNcEMsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBTXJDLG9CQUFlLEdBQVcsTUFBTSxDQUFDO1FBR2pDLHFCQUFnQixHQUFXLE9BQU8sQ0FBQztRQUduQyx1QkFBa0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd0RSx3QkFBbUIsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQU9oRixDQUFDO0lBSlEsU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7O1lBN0NGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0dBV1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztpQ0FHRSxLQUFLO2tDQUdMLEtBQUs7a0NBR0wsS0FBSzttQ0FHTCxLQUFLOzhCQUdMLEtBQUs7K0JBR0wsS0FBSztpQ0FHTCxNQUFNO2tDQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImlvbmUtc2lnbmF0dXJlc1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8aW9uZS1zaWduYXR1cmUgKm5nSWY9XCJzaG93Rmlyc3RTaWduYXR1cmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJmaXJzdFNpZ25hdHVyZVRpdGxlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2F2ZUJ1dHRvbkxhYmVsXT1cInNhdmVCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsZWFyQnV0dG9uTGFiZWxdPVwiY2xlYXJCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHNhdmUpPVwic2F2ZUZpcnN0U2lnbmF0dXJlLmVtaXQoJGV2ZW50KVwiPjwvaW9uZS1zaWduYXR1cmU+XHJcbiAgICA8aW9uZS1zaWduYXR1cmUgKm5nSWY9XCJzaG93U2Vjb25kU2lnbmF0dXJlXCJcclxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwic2Vjb25kU2lnbmF0dXJlVGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzYXZlQnV0dG9uTGFiZWxdPVwic2F2ZUJ1dHRvbkxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xlYXJCdXR0b25MYWJlbF09XCJjbGVhckJ1dHRvbkxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAoc2F2ZSk9XCJzYXZlU2Vjb25kU2lnbmF0dXJlLmVtaXQoJGV2ZW50KVwiPjwvaW9uZS1zaWduYXR1cmU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWduYXR1cmVzQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0ZpcnN0U2lnbmF0dXJlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpcnN0U2lnbmF0dXJlVGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1NlY29uZFNpZ25hdHVyZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWNvbmRTaWduYXR1cmVUaXRsZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzYXZlQnV0dG9uTGFiZWw6IHN0cmluZyA9ICdTQVZFJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2xlYXJCdXR0b25MYWJlbDogc3RyaW5nID0gJ0NMRUFSJztcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNhdmVGaXJzdFNpZ25hdHVyZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNhdmVTZWNvbmRTaWduYXR1cmU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmlvbmUtc2lnbmF0dXJlc1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from "@angular/core";
|
|
3
|
+
import { animate, state, style, transition, trigger } from "@angular/animations";
|
|
4
|
+
import { PDFDocument } from "pdf-lib";
|
|
5
|
+
import * as PDFJS from "pdfjs-dist/legacy/build/pdf";
|
|
6
|
+
import pdfjsWorker from "pdfjs-dist/build/pdf.worker.entry";
|
|
7
|
+
export class DocsignComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.saveButtonLabel = 'SAVE';
|
|
10
|
+
this.clearButtonLabel = 'CLEAR';
|
|
11
|
+
this.signDocumentButtonLabel = 'SIGN_DOCUMENT';
|
|
12
|
+
this.cancelButtonLabel = 'CANCEL';
|
|
13
|
+
this.pdfSaved = new EventEmitter();
|
|
14
|
+
this.cancelClick = new EventEmitter();
|
|
15
|
+
this.showSignaturePopup = false;
|
|
16
|
+
this.showSigBuyer = false;
|
|
17
|
+
this.showSigSeller = false;
|
|
18
|
+
this.showSignatures = false;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Load an existing [[PDFDocument]]. The input data can be provided in
|
|
22
|
+
* multiple formats:
|
|
23
|
+
*
|
|
24
|
+
* | Type | Contents |
|
|
25
|
+
* | ------------- | ------------------------------------------------------ |
|
|
26
|
+
* | `string` | A base64 encoded string (or data URI) containing a PDF |
|
|
27
|
+
* | `Uint8Array` | The raw bytes of a PDF |
|
|
28
|
+
* | `ArrayBuffer` | The raw bytes of a PDF |
|
|
29
|
+
*
|
|
30
|
+
* For example:
|
|
31
|
+
* ```js
|
|
32
|
+
* import { PDFDocument } from 'pdf-lib'
|
|
33
|
+
*
|
|
34
|
+
* // pdf=string
|
|
35
|
+
* const base64 =
|
|
36
|
+
* 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbm' +
|
|
37
|
+
* 'd0aCAxMDQKPj4Kc3RyZWFtCniccwrhMlAAwaJ0Ln2P1Jyy1JLM5ERdc0MjCwUjE4WQNC4Q' +
|
|
38
|
+
* '6cNlCFZkqGCqYGSqEJLLZWNuYGZiZmbkYuZsZmlmZGRgZmluDCQNzc3NTM2NzdzMXMxMjQ' +
|
|
39
|
+
* 'ztFEKyuEK0uFxDuAAOERdVCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKPDwKL0ZpbHRl' +
|
|
40
|
+
* 'ciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA0Ci9GaXJzdCAyMAovTGVuZ3RoID' +
|
|
41
|
+
* 'IxNQo+PgpzdHJlYW0KeJxVj9GqwjAMhu/zFHkBzTo3nCCCiiKIHPEICuJF3cKoSCu2E8/b' +
|
|
42
|
+
* '20wPIr1p8v9/8kVhgilmGfawX2CGaVrgcAi0/bsy0lrX7IGWpvJ4iJYEN3gEmrrGBlQwGs' +
|
|
43
|
+
* 'HHO9VBX1wNrxAqMX87RBD5xpJuddqwd82tjAHxzV1U5LPgy52DKXWnr1Lheg+j/c/pzGVr' +
|
|
44
|
+
* 'iqV0VlwZPXGPCJjElw/ybkwUmeoWgxesDXGhHJC/D/iikp1Av80ptKU0FdBEe25pPihAM1' +
|
|
45
|
+
* 'u6ytgaaWfs2Hrz35CJT1+EWmAKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAovU2l6' +
|
|
46
|
+
* 'ZSA4Ci9Sb290IDIgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW' +
|
|
47
|
+
* '5ndGggMzgKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOCBdCj4+CnN0cmVhbQp4nBXEwREA' +
|
|
48
|
+
* 'EBAEsCwz3vrvRmOOyyOoGhZdutHN2MT55fIAVocD+AplbmRzdHJlYW0KZW5kb2JqCgpzdG' +
|
|
49
|
+
* 'FydHhyZWYKNTEwCiUlRU9G'
|
|
50
|
+
*
|
|
51
|
+
* const dataUri = 'data:application/pdf;base64,' + base64
|
|
52
|
+
*
|
|
53
|
+
* const pdfDoc1 = await PDFDocument.load(base64)
|
|
54
|
+
* const pdfDoc2 = await PDFDocument.load(dataUri)
|
|
55
|
+
*
|
|
56
|
+
* // pdf=Uint8Array
|
|
57
|
+
* import fs from 'fs'
|
|
58
|
+
* const uint8Array = fs.readFileSync('with_update_sections.pdf')
|
|
59
|
+
* const pdfDoc3 = await PDFDocument.load(uint8Array)
|
|
60
|
+
*
|
|
61
|
+
* // pdf=ArrayBuffer
|
|
62
|
+
* const url = 'https://pdf-lib.js.org/assets/with_update_sections.pdf'
|
|
63
|
+
* const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())
|
|
64
|
+
* const pdfDoc4 = await PDFDocument.load(arrayBuffer)
|
|
65
|
+
*
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* @param pdf The input data containing a PDF document.
|
|
69
|
+
* @param options The options to be used when loading the document.
|
|
70
|
+
* @returns Resolves with a document loaded from the input.
|
|
71
|
+
*/
|
|
72
|
+
set pdf(value) {
|
|
73
|
+
if (value) {
|
|
74
|
+
this._pdf = value;
|
|
75
|
+
this._openPDF();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
get pdf() {
|
|
79
|
+
return this._pdf;
|
|
80
|
+
}
|
|
81
|
+
showClass() {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
saveFirstSignature(sig) {
|
|
85
|
+
this._saveSignature(sig, this.sigBuyerPosition);
|
|
86
|
+
this.showSigBuyer = false;
|
|
87
|
+
this._savePdf();
|
|
88
|
+
}
|
|
89
|
+
saveSecondSignature(sig) {
|
|
90
|
+
this._saveSignature(sig, this.sigSellerPosition);
|
|
91
|
+
this.showSigSeller = false;
|
|
92
|
+
this._savePdf();
|
|
93
|
+
}
|
|
94
|
+
_openPDF() {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
// first create reader to check signatures
|
|
97
|
+
this._checkSignatures();
|
|
98
|
+
this.pdfDoc = yield PDFDocument.load(this._pdf, {
|
|
99
|
+
updateMetadata: false
|
|
100
|
+
});
|
|
101
|
+
const pdfDataUri = yield this.pdfDoc.saveAsBase64({ dataUri: true });
|
|
102
|
+
this.iframe.nativeElement.src = pdfDataUri;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
_savePdf() {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
if (!this.showSigBuyer && !this.showSigSeller) {
|
|
108
|
+
// ready, save the pdf and emit result
|
|
109
|
+
const result = yield this.pdfDoc.saveAsBase64();
|
|
110
|
+
this.pdfSaved.next(result);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
_checkSignatures() {
|
|
115
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
+
let pdfWorkerSrc;
|
|
117
|
+
if (window.hasOwnProperty('pdfWorkerSrc') &&
|
|
118
|
+
typeof window.pdfWorkerSrc === 'string' &&
|
|
119
|
+
window.pdfWorkerSrc) {
|
|
120
|
+
pdfWorkerSrc = window.pdfWorkerSrc;
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
pdfWorkerSrc = pdfjsWorker;
|
|
124
|
+
}
|
|
125
|
+
PDFJS.GlobalWorkerOptions.workerSrc = pdfWorkerSrc;
|
|
126
|
+
const pdfReader = yield PDFJS.getDocument(this._pdf).promise;
|
|
127
|
+
const numPages = pdfReader.numPages;
|
|
128
|
+
for (let i = 0; i < numPages; i++) {
|
|
129
|
+
const page = yield pdfReader.getPage(i + 1);
|
|
130
|
+
const text = yield page.getTextContent();
|
|
131
|
+
page.cleanup();
|
|
132
|
+
if (this.firstSignatureField) {
|
|
133
|
+
this.sigBuyerPosition = this._getPositionSignature(text, this.firstSignatureField);
|
|
134
|
+
if (this.sigBuyerPosition.width > 0 && this.sigBuyerPosition.height > 0) {
|
|
135
|
+
this.sigBuyerPosition.page = i;
|
|
136
|
+
this.showSigBuyer = true;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if (this.secondSignatureField) {
|
|
140
|
+
this.sigSellerPosition = this._getPositionSignature(text, this.secondSignatureField);
|
|
141
|
+
if (this.sigSellerPosition.width > 0 && this.sigSellerPosition.height > 0) {
|
|
142
|
+
this.sigSellerPosition.page = i;
|
|
143
|
+
this.showSigSeller = true;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
_getPositionSignature(textItem, signatureField) {
|
|
150
|
+
const sigItem = textItem.items.find((i) => i.str.toLowerCase() === signatureField.toLowerCase());
|
|
151
|
+
if (sigItem) {
|
|
152
|
+
textItem.items.slice(textItem.items.indexOf(sigItem), 1);
|
|
153
|
+
return {
|
|
154
|
+
x: sigItem.transform[4],
|
|
155
|
+
y: sigItem.transform[5],
|
|
156
|
+
width: sigItem.width,
|
|
157
|
+
height: sigItem.height,
|
|
158
|
+
page: 0
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
return { x: 0, y: 0, width: 0, height: 0, page: 0 };
|
|
162
|
+
}
|
|
163
|
+
_saveSignature(sig, dimensions) {
|
|
164
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
165
|
+
const jpgImage = yield this.pdfDoc.embedPng(sig);
|
|
166
|
+
const page = yield this.pdfDoc.getPage(dimensions.page);
|
|
167
|
+
page.drawImage(jpgImage, {
|
|
168
|
+
x: ((dimensions.x + (dimensions.width / 2)) - (200 / 2)),
|
|
169
|
+
y: ((dimensions.y + (dimensions.height / 2)) - (100 / 2)),
|
|
170
|
+
width: 200,
|
|
171
|
+
height: 100
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
DocsignComponent.decorators = [
|
|
177
|
+
{ type: Component, args: [{
|
|
178
|
+
selector: "ione-docsign",
|
|
179
|
+
template: `
|
|
180
|
+
<iframe #iframe></iframe>
|
|
181
|
+
<ione-signatures *ngIf="showSignatures" @showHideSignature
|
|
182
|
+
[showFirstSignature]="showSigBuyer"
|
|
183
|
+
[firstSignatureTitle]="firstSignatureLabel"
|
|
184
|
+
[showSecondSignature]="showSigSeller"
|
|
185
|
+
[secondSignatureTitle]="secondSignatureLabel"
|
|
186
|
+
[saveButtonLabel]="saveButtonLabel"
|
|
187
|
+
[clearButtonLabel]="clearButtonLabel"
|
|
188
|
+
(saveFirstSignature)="saveFirstSignature($event)"
|
|
189
|
+
(saveSecondSignature)="saveSecondSignature($event)"
|
|
190
|
+
></ione-signatures>
|
|
191
|
+
<input type="button" *ngIf="(showSigBuyer || showSigSeller) && !showSignatures" class="button button-sign-document"
|
|
192
|
+
[value]="signDocumentButtonLabel"
|
|
193
|
+
(click)="showSignatures = true"
|
|
194
|
+
/>
|
|
195
|
+
<input type="button" class="button button-cancel"
|
|
196
|
+
[value]="cancelButtonLabel"
|
|
197
|
+
(click)="cancelClick.emit($event)"
|
|
198
|
+
/>
|
|
199
|
+
`,
|
|
200
|
+
animations: [
|
|
201
|
+
trigger("showHideSignature", [
|
|
202
|
+
state("void", style({ transform: "translate(-50%, -50%) scale(0)" })),
|
|
203
|
+
state("*", style({ transform: "translate(-50%, -50%) scale(1)" })),
|
|
204
|
+
transition("void <=> *", animate("200ms ease-in-out")),
|
|
205
|
+
])
|
|
206
|
+
],
|
|
207
|
+
encapsulation: ViewEncapsulation.None
|
|
208
|
+
},] }
|
|
209
|
+
];
|
|
210
|
+
DocsignComponent.propDecorators = {
|
|
211
|
+
iframe: [{ type: ViewChild, args: ["iframe", { read: ElementRef },] }],
|
|
212
|
+
pdf: [{ type: Input }],
|
|
213
|
+
firstSignatureLabel: [{ type: Input }],
|
|
214
|
+
firstSignatureField: [{ type: Input }],
|
|
215
|
+
secondSignatureLabel: [{ type: Input }],
|
|
216
|
+
secondSignatureField: [{ type: Input }],
|
|
217
|
+
saveButtonLabel: [{ type: Input }],
|
|
218
|
+
clearButtonLabel: [{ type: Input }],
|
|
219
|
+
signDocumentButtonLabel: [{ type: Input }],
|
|
220
|
+
cancelButtonLabel: [{ type: Input }],
|
|
221
|
+
pdfSaved: [{ type: Output }],
|
|
222
|
+
cancelClick: [{ type: Output }],
|
|
223
|
+
showClass: [{ type: HostBinding, args: ['class.ione-docsign',] }]
|
|
224
|
+
};
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jc2lnbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kb2NzaWduL2RvY3NpZ24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEtBQUssS0FBSyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sV0FBVyxNQUFNLG1DQUFtQyxDQUFDO0FBMkM1RCxNQUFNLE9BQU8sZ0JBQWdCO0lBaEM3QjtRQWlIUyxvQkFBZSxHQUFXLE1BQU0sQ0FBQztRQUdqQyxxQkFBZ0IsR0FBVyxPQUFPLENBQUM7UUFHbkMsNEJBQXVCLEdBQVcsZUFBZSxDQUFDO1FBR2xELHNCQUFpQixHQUFXLFFBQVEsQ0FBQztRQUdyQyxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHNUQsZ0JBQVcsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQU92RSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFnR3pDLENBQUM7SUF4TUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW1ERztJQUNI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Ozs7R0FvQlQ7Z0JBQ0QsVUFBVSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTt3QkFDM0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0NBQWdDLEVBQUMsQ0FBQyxDQUFDO3dCQUNuRSxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQ0FBZ0MsRUFBQyxDQUFDLENBQUM7d0JBQ2hFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7cUJBQ3ZELENBQUM7aUJBQ0g7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztxQkFFRSxTQUFTLFNBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtrQkF1RHhDLEtBQUs7a0NBWUwsS0FBSztrQ0FHTCxLQUFLO21DQUdMLEtBQUs7bUNBR0wsS0FBSzs4QkFHTCxLQUFLOytCQUdMLEtBQUs7c0NBR0wsS0FBSztnQ0FHTCxLQUFLO3VCQUdMLE1BQU07MEJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQge1BERkRvY3VtZW50fSBmcm9tIFwicGRmLWxpYlwiO1xyXG5pbXBvcnQgKiBhcyBQREZKUyBmcm9tIFwicGRmanMtZGlzdC9sZWdhY3kvYnVpbGQvcGRmXCI7XHJcbmltcG9ydCBwZGZqc1dvcmtlciBmcm9tIFwicGRmanMtZGlzdC9idWlsZC9wZGYud29ya2VyLmVudHJ5XCI7XHJcbmltcG9ydCB7VGV4dEl0ZW19IGZyb20gXCJwZGZqcy1kaXN0L3R5cGVzL3NyYy9kaXNwbGF5L2FwaVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXh0RGltZW5zaW9uIHtcclxuICB4OiBudW1iZXIsXHJcbiAgeTogbnVtYmVyLFxyXG4gIHdpZHRoOiBudW1iZXIsXHJcbiAgaGVpZ2h0OiBudW1iZXIsXHJcbiAgcGFnZTogbnVtYmVyXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImlvbmUtZG9jc2lnblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8aWZyYW1lICNpZnJhbWU+PC9pZnJhbWU+XHJcbiAgICA8aW9uZS1zaWduYXR1cmVzICpuZ0lmPVwic2hvd1NpZ25hdHVyZXNcIiBAc2hvd0hpZGVTaWduYXR1cmVcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dGaXJzdFNpZ25hdHVyZV09XCJzaG93U2lnQnV5ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZmlyc3RTaWduYXR1cmVUaXRsZV09XCJmaXJzdFNpZ25hdHVyZUxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dTZWNvbmRTaWduYXR1cmVdPVwic2hvd1NpZ1NlbGxlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzZWNvbmRTaWduYXR1cmVUaXRsZV09XCJzZWNvbmRTaWduYXR1cmVMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzYXZlQnV0dG9uTGFiZWxdPVwic2F2ZUJ1dHRvbkxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2NsZWFyQnV0dG9uTGFiZWxdPVwiY2xlYXJCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChzYXZlRmlyc3RTaWduYXR1cmUpPVwic2F2ZUZpcnN0U2lnbmF0dXJlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoc2F2ZVNlY29uZFNpZ25hdHVyZSk9XCJzYXZlU2Vjb25kU2lnbmF0dXJlKCRldmVudClcIlxyXG4gICAgPjwvaW9uZS1zaWduYXR1cmVzPlxyXG4gICAgPGlucHV0IHR5cGU9XCJidXR0b25cIiAqbmdJZj1cIihzaG93U2lnQnV5ZXIgfHwgc2hvd1NpZ1NlbGxlcikgJiYgIXNob3dTaWduYXR1cmVzXCIgY2xhc3M9XCJidXR0b24gYnV0dG9uLXNpZ24tZG9jdW1lbnRcIlxyXG4gICAgICAgICAgIFt2YWx1ZV09XCJzaWduRG9jdW1lbnRCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cInNob3dTaWduYXR1cmVzID0gdHJ1ZVwiXHJcbiAgICAvPlxyXG4gICAgPGlucHV0IHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBidXR0b24tY2FuY2VsXCJcclxuICAgICAgICAgICBbdmFsdWVdPVwiY2FuY2VsQnV0dG9uTGFiZWxcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJjYW5jZWxDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgLz5cclxuICBgLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXCJzaG93SGlkZVNpZ25hdHVyZVwiLCBbXHJcbiAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKVwifSkpLFxyXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSlcIn0pKSxcclxuICAgICAgdHJhbnNpdGlvbihcInZvaWQgPD0+ICpcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKSxcclxuICAgIF0pXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2NzaWduQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKFwiaWZyYW1lXCIsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxyXG4gIHB1YmxpYyBpZnJhbWU6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8qKlxyXG4gICAqIExvYWQgYW4gZXhpc3RpbmcgW1tQREZEb2N1bWVudF1dLiBUaGUgaW5wdXQgZGF0YSBjYW4gYmUgcHJvdmlkZWQgaW5cclxuICAgKiBtdWx0aXBsZSBmb3JtYXRzOlxyXG4gICAqXHJcbiAgICogfCBUeXBlICAgICAgICAgIHwgQ29udGVudHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuICAgKiB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfFxyXG4gICAqIHwgYHN0cmluZ2AgICAgICB8IEEgYmFzZTY0IGVuY29kZWQgc3RyaW5nIChvciBkYXRhIFVSSSkgY29udGFpbmluZyBhIFBERiB8XHJcbiAgICogfCBgVWludDhBcnJheWAgIHwgVGhlIHJhdyBieXRlcyBvZiBhIFBERiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuICAgKiB8IGBBcnJheUJ1ZmZlcmAgfCBUaGUgcmF3IGJ5dGVzIG9mIGEgUERGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4gICAqXHJcbiAgICogRm9yIGV4YW1wbGU6XHJcbiAgICogYGBganNcclxuICAgKiBpbXBvcnQgeyBQREZEb2N1bWVudCB9IGZyb20gJ3BkZi1saWInXHJcbiAgICpcclxuICAgKiAvLyBwZGY9c3RyaW5nXHJcbiAgICogY29uc3QgYmFzZTY0ID1cclxuICAgKiAgJ0pWQkVSaTB4TGpjS0pZR0JnWUVLQ2pVZ01DQnZZbW9LUER3S0wwWnBiSFJsY2lBdlJteGhkR1ZFWldOdlpHVUtMMHhsYm0nICtcclxuICAgKiAgJ2QwYUNBeE1EUUtQajRLYzNSeVpXRnRDbmljY3dyaE1sQUF3YUowTG4yUDFKeXkxSkxNNUVSZGMwTWpDd1VqRTRXUU5DNFEnICtcclxuICAgKiAgJzZjTmxDRlprcUdDcVlHU3FFSkxMWldOdVlHWmlabWJrWXVac1ptbG1aR1JnWm1sdURDUU56YzNOVE0yTnpkek1YTXhNalEnICtcclxuICAgKiAgJ3p0RkVLeXVFSzB1RnhEdUFBT0VSZFZDbVZ1WkhOMGNtVmhiUXBsYm1Sdlltb0tDallnTUNCdlltb0tQRHdLTDBacGJIUmwnICtcclxuICAgKiAgJ2NpQXZSbXhoZEdWRVpXTnZaR1VLTDFSNWNHVWdMMDlpYWxOMGJRb3ZUaUEwQ2k5R2FYSnpkQ0F5TUFvdlRHVnVaM1JvSUQnICtcclxuICAgKiAgJ0l4TlFvK1BncHpkSEpsWVcwS2VKeFZqOUdxd2pBTWh1L3pGSGtCelRvM25DQ0NpaUtJSFBFSUN1SkYzY0tvU0N1MkU4L2InICtcclxuICAgKiAgJzIwd1BJcjFwOHY5LzhrVmhnaWxtR2Zhd1gyQ0dhVnJnY0FpMC9ic3kwbHJYN0lHV3B2SjRpSllFTjNnRW1yckdCbFF3R3MnICtcclxuICAgKiAgJ0hITzlWQlgxd05yeEFxTVg4N1JCRDV4cEp1ZGRxd2Q4MnRqQUh4elYxVTVMUGd5NTJES1hXbnIxTGhlZytqL2MvcHpHVnInICtcclxuICAgKiAgJ2lxVjBWbHdaUFhHUENKakVsdy95Ymt3VW1lb1dneGVzRFhHaEhKQy9EL2lpa3AxQXY4MHB0S1UwRmRCRWUyNXBQaWhBTTEnICtcclxuICAgKiAgJ3U2eXRnYWFXZnMySHJ6MzVDSlQxK0VXbUFLWlc1a2MzUnlaV0Z0Q21WdVpHOWlhZ29LTnlBd0lHOWlhZ284UEFvdlUybDYnICtcclxuICAgKiAgJ1pTQTRDaTlTYjI5MElESWdNQ0JTQ2k5R2FXeDBaWElnTDBac1lYUmxSR1ZqYjJSbENpOVVlWEJsSUM5WVVtVm1DaTlNWlcnICtcclxuICAgKiAgJzVuZEdnZ016Z0tMMWNnV3lBeElESWdNaUJkQ2k5SmJtUmxlQ0JiSURBZ09DQmRDajQrQ25OMGNtVmhiUXA0bkJYRXdSRUEnICtcclxuICAgKiAgJ0VCQUVzQ3d6M3ZydlJtT095eU9vR2haZHV0SE4yTVQ1NWZJQVZvY0QrQXBsYm1SemRISmxZVzBLWlc1a2IySnFDZ3B6ZEcnICtcclxuICAgKiAgJ0Z5ZEhoeVpXWUtOVEV3Q2lVbFJVOUcnXHJcbiAgICpcclxuICAgKiBjb25zdCBkYXRhVXJpID0gJ2RhdGE6YXBwbGljYXRpb24vcGRmO2Jhc2U2NCwnICsgYmFzZTY0XHJcbiAgICpcclxuICAgKiBjb25zdCBwZGZEb2MxID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZChiYXNlNjQpXHJcbiAgICogY29uc3QgcGRmRG9jMiA9IGF3YWl0IFBERkRvY3VtZW50LmxvYWQoZGF0YVVyaSlcclxuICAgKlxyXG4gICAqIC8vIHBkZj1VaW50OEFycmF5XHJcbiAgICogaW1wb3J0IGZzIGZyb20gJ2ZzJ1xyXG4gICAqIGNvbnN0IHVpbnQ4QXJyYXkgPSBmcy5yZWFkRmlsZVN5bmMoJ3dpdGhfdXBkYXRlX3NlY3Rpb25zLnBkZicpXHJcbiAgICogY29uc3QgcGRmRG9jMyA9IGF3YWl0IFBERkRvY3VtZW50LmxvYWQodWludDhBcnJheSlcclxuICAgKlxyXG4gICAqIC8vIHBkZj1BcnJheUJ1ZmZlclxyXG4gICAqIGNvbnN0IHVybCA9ICdodHRwczovL3BkZi1saWIuanMub3JnL2Fzc2V0cy93aXRoX3VwZGF0ZV9zZWN0aW9ucy5wZGYnXHJcbiAgICogY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBmZXRjaCh1cmwpLnRoZW4ocmVzID0+IHJlcy5hcnJheUJ1ZmZlcigpKVxyXG4gICAqIGNvbnN0IHBkZkRvYzQgPSBhd2FpdCBQREZEb2N1bWVudC5sb2FkKGFycmF5QnVmZmVyKVxyXG4gICAqXHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcGRmIFRoZSBpbnB1dCBkYXRhIGNvbnRhaW5pbmcgYSBQREYgZG9jdW1lbnQuXHJcbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgdG8gYmUgdXNlZCB3aGVuIGxvYWRpbmcgdGhlIGRvY3VtZW50LlxyXG4gICAqIEByZXR1cm5zIFJlc29sdmVzIHdpdGggYSBkb2N1bWVudCBsb2FkZWQgZnJvbSB0aGUgaW5wdXQuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHBkZih2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5fcGRmID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuX29wZW5QREYoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcGRmKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGRmO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZmlyc3RTaWduYXR1cmVMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmaXJzdFNpZ25hdHVyZUZpZWxkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlY29uZFNpZ25hdHVyZUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlY29uZFNpZ25hdHVyZUZpZWxkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNhdmVCdXR0b25MYWJlbDogc3RyaW5nID0gJ1NBVkUnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjbGVhckJ1dHRvbkxhYmVsOiBzdHJpbmcgPSAnQ0xFQVInO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaWduRG9jdW1lbnRCdXR0b25MYWJlbDogc3RyaW5nID0gJ1NJR05fRE9DVU1FTlQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYW5jZWxCdXR0b25MYWJlbDogc3RyaW5nID0gJ0NBTkNFTCc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBwZGZTYXZlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNhbmNlbENsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaW9uZS1kb2NzaWduJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1NpZ25hdHVyZVBvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTaWdCdXllcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaWdCdXllclBvc2l0aW9uOiBUZXh0RGltZW5zaW9uO1xyXG4gIHB1YmxpYyBzaG93U2lnU2VsbGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNpZ1NlbGxlclBvc2l0aW9uOiBUZXh0RGltZW5zaW9uO1xyXG4gIHB1YmxpYyBzaG93U2lnbmF0dXJlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgcGRmRG9jOiBQREZEb2N1bWVudDtcclxuXHJcbiAgcHJpdmF0ZSBfcGRmOiBhbnk7XHJcblxyXG4gIHB1YmxpYyBzYXZlRmlyc3RTaWduYXR1cmUoc2lnOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NhdmVTaWduYXR1cmUoc2lnLCB0aGlzLnNpZ0J1eWVyUG9zaXRpb24pO1xyXG4gICAgdGhpcy5zaG93U2lnQnV5ZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlU2Vjb25kU2lnbmF0dXJlKHNpZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zYXZlU2lnbmF0dXJlKHNpZywgdGhpcy5zaWdTZWxsZXJQb3NpdGlvbik7XHJcbiAgICB0aGlzLnNob3dTaWdTZWxsZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX29wZW5QREYoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBmaXJzdCBjcmVhdGUgcmVhZGVyIHRvIGNoZWNrIHNpZ25hdHVyZXNcclxuICAgIHRoaXMuX2NoZWNrU2lnbmF0dXJlcygpO1xyXG5cclxuICAgIHRoaXMucGRmRG9jID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZCh0aGlzLl9wZGYsIHtcclxuICAgICAgdXBkYXRlTWV0YWRhdGE6IGZhbHNlXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHBkZkRhdGFVcmkgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoeyBkYXRhVXJpOiB0cnVlIH0pO1xyXG4gICAgdGhpcy5pZnJhbWUubmF0aXZlRWxlbWVudC5zcmMgPSBwZGZEYXRhVXJpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZVBkZigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5zaG93U2lnQnV5ZXIgJiYgIXRoaXMuc2hvd1NpZ1NlbGxlcikge1xyXG4gICAgICAvLyByZWFkeSwgc2F2ZSB0aGUgcGRmIGFuZCBlbWl0IHJlc3VsdFxyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoKTtcclxuICAgICAgdGhpcy5wZGZTYXZlZC5uZXh0KHJlc3VsdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9jaGVja1NpZ25hdHVyZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsZXQgcGRmV29ya2VyU3JjO1xyXG4gICAgaWYgKHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgncGRmV29ya2VyU3JjJykgJiZcclxuICAgICAgdHlwZW9mICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMgPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMpIHtcclxuICAgICAgcGRmV29ya2VyU3JjID0gKHdpbmRvdyBhcyBhbnkpLnBkZldvcmtlclNyYztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBwZGZXb3JrZXJTcmMgPSBwZGZqc1dvcmtlcjtcclxuICAgIH1cclxuICAgIFBERkpTLkdsb2JhbFdvcmtlck9wdGlvbnMud29ya2VyU3JjID0gcGRmV29ya2VyU3JjO1xyXG4gICAgY29uc3QgcGRmUmVhZGVyID0gYXdhaXQgUERGSlMuZ2V0RG9jdW1lbnQodGhpcy5fcGRmKS5wcm9taXNlO1xyXG4gICAgY29uc3QgbnVtUGFnZXMgPSBwZGZSZWFkZXIubnVtUGFnZXM7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBhZ2VzOyBpKyspIHtcclxuICAgICAgY29uc3QgcGFnZSA9IGF3YWl0IHBkZlJlYWRlci5nZXRQYWdlKGkgKyAxKTtcclxuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHBhZ2UuZ2V0VGV4dENvbnRlbnQoKTtcclxuICAgICAgcGFnZS5jbGVhbnVwKCk7XHJcbiAgICAgIGlmICh0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpIHtcclxuICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24gPSB0aGlzLl9nZXRQb3NpdGlvblNpZ25hdHVyZSh0ZXh0LCB0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpO1xyXG4gICAgICAgIGlmICh0aGlzLnNpZ0J1eWVyUG9zaXRpb24ud2lkdGggPiAwICYmIHRoaXMuc2lnQnV5ZXJQb3NpdGlvbi5oZWlnaHQgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24ucGFnZSA9IGk7XHJcbiAgICAgICAgICB0aGlzLnNob3dTaWdCdXllciA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlY29uZFNpZ25hdHVyZUZpZWxkKSB7XHJcbiAgICAgICAgdGhpcy5zaWdTZWxsZXJQb3NpdGlvbiA9IHRoaXMuX2dldFBvc2l0aW9uU2lnbmF0dXJlKHRleHQsIHRoaXMuc2Vjb25kU2lnbmF0dXJlRmllbGQpO1xyXG4gICAgICAgIGlmICh0aGlzLnNpZ1NlbGxlclBvc2l0aW9uLndpZHRoID4gMCAmJiB0aGlzLnNpZ1NlbGxlclBvc2l0aW9uLmhlaWdodCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuc2lnU2VsbGVyUG9zaXRpb24ucGFnZSA9IGk7XHJcbiAgICAgICAgICB0aGlzLnNob3dTaWdTZWxsZXIgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UG9zaXRpb25TaWduYXR1cmUodGV4dEl0ZW06IGFueSwgc2lnbmF0dXJlRmllbGQ6IHN0cmluZyk6IFRleHREaW1lbnNpb24ge1xyXG4gICAgY29uc3Qgc2lnSXRlbTogVGV4dEl0ZW0gPSA8VGV4dEl0ZW0+dGV4dEl0ZW0uaXRlbXMuZmluZCgoaTogYW55KSA9PiBpLnN0ci50b0xvd2VyQ2FzZSgpID09PSBzaWduYXR1cmVGaWVsZC50b0xvd2VyQ2FzZSgpKTtcclxuICAgIGlmIChzaWdJdGVtKSB7XHJcbiAgICAgIHRleHRJdGVtLml0ZW1zLnNsaWNlKHRleHRJdGVtLml0ZW1zLmluZGV4T2Yoc2lnSXRlbSksIDEpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHg6IHNpZ0l0ZW0udHJhbnNmb3JtWzRdLFxyXG4gICAgICAgIHk6IHNpZ0l0ZW0udHJhbnNmb3JtWzVdLFxyXG4gICAgICAgIHdpZHRoOiBzaWdJdGVtLndpZHRoLFxyXG4gICAgICAgIGhlaWdodDogc2lnSXRlbS5oZWlnaHQsXHJcbiAgICAgICAgcGFnZTogMFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHt4OiAwLCB5OiAwLCB3aWR0aDogMCwgaGVpZ2h0OiAwLCBwYWdlOiAwfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZVNpZ25hdHVyZShzaWc6IHN0cmluZywgZGltZW5zaW9uczogVGV4dERpbWVuc2lvbik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QganBnSW1hZ2UgPSBhd2FpdCB0aGlzLnBkZkRvYy5lbWJlZFBuZyhzaWcpO1xyXG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IHRoaXMucGRmRG9jLmdldFBhZ2UoZGltZW5zaW9ucy5wYWdlKTtcclxuICAgIHBhZ2UuZHJhd0ltYWdlKGpwZ0ltYWdlLCB7XHJcbiAgICAgIHg6ICgoZGltZW5zaW9ucy54ICsgKGRpbWVuc2lvbnMud2lkdGggLyAyKSkgLSAoMjAwIC8gMikpLFxyXG4gICAgICB5OiAoKGRpbWVuc2lvbnMueSArIChkaW1lbnNpb25zLmhlaWdodCAvIDIpKSAtICgxMDAgLyAyKSksXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICAgIGhlaWdodDogMTAwXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { DocsignComponent } from "./docsign.component";
|
|
4
|
+
import { SignatureComponent } from "./component/signature/signature.component";
|
|
5
|
+
import { SignaturesComponent } from "./component/signatures/signatures.component";
|
|
6
|
+
export class DocsignModule {
|
|
7
|
+
}
|
|
8
|
+
DocsignModule.decorators = [
|
|
9
|
+
{ type: NgModule, args: [{
|
|
10
|
+
imports: [
|
|
11
|
+
CommonModule
|
|
12
|
+
],
|
|
13
|
+
declarations: [
|
|
14
|
+
DocsignComponent,
|
|
15
|
+
SignatureComponent,
|
|
16
|
+
SignaturesComponent
|
|
17
|
+
],
|
|
18
|
+
exports: [
|
|
19
|
+
DocsignComponent
|
|
20
|
+
]
|
|
21
|
+
},] }
|
|
22
|
+
];
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jc2lnbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kb2NzaWduL2RvY3NpZ24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBZWhGLE1BQU0sT0FBTyxhQUFhOzs7WUFiekIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO2lCQUNiO2dCQUNELFlBQVksRUFBRTtvQkFDWixnQkFBZ0I7b0JBQ2hCLGtCQUFrQjtvQkFDbEIsbUJBQW1CO2lCQUNwQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsZ0JBQWdCO2lCQUNqQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtEb2NzaWduQ29tcG9uZW50fSBmcm9tIFwiLi9kb2NzaWduLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NpZ25hdHVyZUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50L3NpZ25hdHVyZS9zaWduYXR1cmUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U2lnbmF0dXJlc0NvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50L3NpZ25hdHVyZXMvc2lnbmF0dXJlcy5jb21wb25lbnRcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIERvY3NpZ25Db21wb25lbnQsXHJcbiAgICBTaWduYXR1cmVDb21wb25lbnQsXHJcbiAgICBTaWduYXR1cmVzQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEb2NzaWduQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jc2lnbk1vZHVsZSB7XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var SendOption;
|
|
2
|
+
(function (SendOption) {
|
|
3
|
+
SendOption[SendOption["Email"] = 0] = "Email";
|
|
4
|
+
SendOption[SendOption["Print"] = 1] = "Print";
|
|
5
|
+
SendOption[SendOption["Pdf"] = 2] = "Pdf";
|
|
6
|
+
SendOption[SendOption["Xml"] = 3] = "Xml";
|
|
7
|
+
})(SendOption || (SendOption = {}));
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1vcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvZW51bXMvc2VuZC1vcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNwQiw2Q0FBSyxDQUFBO0lBQ0wsNkNBQUssQ0FBQTtJQUNMLHlDQUFHLENBQUE7SUFDSCx5Q0FBRyxDQUFBO0FBQ0wsQ0FBQyxFQUxXLFVBQVUsS0FBVixVQUFVLFFBS3JCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU2VuZE9wdGlvbiB7XHJcbiAgRW1haWwsXHJcbiAgUHJpbnQsXHJcbiAgUGRmLFxyXG4gIFhtbFxyXG59XHJcbiJdfQ==
|