@ohioepa/oepa-ui-lib 2.0.16 → 2.0.18
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/esm2022/lib/account-search-input/account-search-input.component.mjs +2 -2
- package/esm2022/lib/account-search-modal/account-search-modal.component.mjs +3 -3
- package/esm2022/lib/edoc-attachment/edoc-attachment.component.mjs +2 -2
- package/esm2022/lib/entity/organization-create-modal/organization-create-modal.component.mjs +3 -3
- package/esm2022/lib/entity/organization-search-input/organization-search-input.component.mjs +2 -2
- package/esm2022/lib/entity/organization-search-modal/organization-search-modal.component.mjs +2 -2
- package/esm2022/lib/entity/person-search-input/person-search-input.component.mjs +2 -2
- package/esm2022/lib/entity/person-search-modal/person-search-modal.component.mjs +2 -2
- package/esm2022/lib/entity/place-search-input/place-search-input.component.mjs +2 -2
- package/esm2022/lib/file-upload/file-upload.component.mjs +2 -2
- package/esm2022/lib/lynx-image-upload/lynx-image-upload.component.mjs +2 -2
- package/esm2022/lib/multi-file-upload/multi-file-upload.component.mjs +2 -2
- package/esm2022/lib/notes-modal/notes-modal.component.mjs +2 -2
- package/esm2022/lib/select-input/select-input.component.mjs +3 -3
- package/esm2022/lib/shopping-cart/shopping-cart-view/shopping-cart-view.component.mjs +3 -3
- package/fesm2022/ohioepa-oepa-ui-lib.mjs +19 -19
- package/fesm2022/ohioepa-oepa-ui-lib.mjs.map +1 -1
- package/ohioepa-oepa-ui-lib-2.0.18.tgz +0 -0
- package/package.json +1 -1
- package/ohioepa-oepa-ui-lib-2.0.16.tgz +0 -0
|
@@ -131,7 +131,7 @@ export class ShoppingCartViewComponent {
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
deleteFromCart(id, description, cart) {
|
|
134
|
-
const modal = this.modalService.show(ConfirmationModalComponent, { ignoreBackdropClick: true });
|
|
134
|
+
const modal = this.modalService.show(ConfirmationModalComponent, { ariaLabelledBy: 'confirmationModalTitle', ignoreBackdropClick: true });
|
|
135
135
|
modal.content.headerText = 'Remove item from cart?';
|
|
136
136
|
modal.content.bodyText = 'Are you sure you want to remove ' + description + ' from the shopping cart?';
|
|
137
137
|
modal.content.confirmBtnLabel = 'Yes';
|
|
@@ -156,7 +156,7 @@ export class ShoppingCartViewComponent {
|
|
|
156
156
|
this.router.navigate([this.returnUrl], { relativeTo: this.route.parent });
|
|
157
157
|
}
|
|
158
158
|
onCheckout() {
|
|
159
|
-
const modal = this.modalService.show(ConfirmationModalComponent, { ignoreBackdropClick: true });
|
|
159
|
+
const modal = this.modalService.show(ConfirmationModalComponent, { ariaLabelledBy: 'confirmationModalTitle', ignoreBackdropClick: true });
|
|
160
160
|
modal.content.headerText = 'Checkout';
|
|
161
161
|
modal.content.bodyText = 'Do you want to submit all of the applications in the shopping cart?';
|
|
162
162
|
modal.content.confirmBtnLabel = 'Yes';
|
|
@@ -188,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
188
188
|
type: Component,
|
|
189
189
|
args: [{ selector: 'oepa-shopping-cart-view', template: "<div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\" col-sm-12\">\n <h1><b>{{title}}</b></h1>\n </div>\n <div *ngIf=\"loading || empty\" class=\"col-sm-12 text-center\">\n <div class=\" alert alert-info \">\n <span class=\"\"><em>{{ loading ? 'Loading...' : 'Cart is empty' }}</em></span>\n <img *ngIf=\"loading\" class=\"oepa-icon\" alt=\"Loading\" src=\"{{imageRoot}}/blue-load.gif\" />\n </div>\n </div>\n <div *ngIf=\"!loading && !empty\" class=\"col-sm-12\">\n <oepa-table [config]=\"tblConfig\" [data]=\"tblData\" [header]=\"tblHeader\" tableId=\"ShoppingCartTable\" (cellClicked)=\"onCellClick($event)\"></oepa-table>\n </div>\n <div *ngIf=\"errorMessage\" class=\"col-sm-12\">\n <div class=\"alert alert-danger\">{{errorMessage}}</div>\n </div>\n <div *ngIf=\"!checkOutInProgress\" class=\"col-12 text-center\">\n <button class=\"btn btn-primary mr-2\" id=\"returnToPageButton\" (click)=\"goBack()\" [attr.aria-label]=\"returnLabel\">\n {{returnLabel}}</button>\n <button *ngIf=\"!empty\" class=\"btn btn-primary mr-2\" id=\"checkoutBtn\" (click)=\"onCheckout()\" aria-label=\"Checkout\">\n Checkout</button>\n </div>\n <div *ngIf=\"checkOutInProgress\" class=\"col-12 text-center\">\n <div class=\"alert alert-info\">\n <span class=\"spinner-border text-primary\" role=\"status\"></span>\n Checking out...\n </div>\n </div>\n </div>\n</div>" }]
|
|
190
190
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.BsModalService }, { type: i3.ShoppingCartService }] });
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcHBpbmctY2FydC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvc2hvcHBpbmctY2FydC9zaG9wcGluZy1jYXJ0LXZpZXcvc2hvcHBpbmctY2FydC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvc2hvcHBpbmctY2FydC9zaG9wcGluZy1jYXJ0LXZpZXcvc2hvcHBpbmctY2FydC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFLbEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdURBQXVELENBQUM7Ozs7Ozs7QUFZbkcsTUFBTSxPQUFPLHlCQUF5QjtJQStCaEI7SUFDVjtJQUNBO0lBQ0E7SUFqQ1YsV0FBVyxDQUFTO0lBQ3BCLEtBQUssQ0FBUztJQUNkLFdBQVcsQ0FBUztJQUNwQixTQUFTLENBQVM7SUFDbEIsWUFBWSxDQUEyQjtJQUN2QyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2IsT0FBTyxHQUFHLElBQUksQ0FBQztJQUNmLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDMUIsU0FBUyxHQUFHLDhCQUE4QixDQUFDO0lBQzNDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUMzQixXQUFXLEdBQVcsaUJBQWlCLENBQUM7SUFDeEMsZUFBZSxDQUFTO0lBQ3hCLHVCQUF1QixDQUFTO0lBQ2hDLGFBQWEsQ0FBUztJQUN0QixvQkFBb0IsR0FBVyxFQUFFLENBQUM7SUFFbEMsU0FBUyxHQUFvQjtRQUMzQixPQUFPLEVBQUU7WUFDUCxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFB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SSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsR0FBRyxHQUFHLENBQUM7Z0JBQ2hELENBQUM7YUFBQyxDQUFDLENBQUM7UUFDTixDQUFDO0lBQ0gsQ0FBQzt3R0FyTFUseUJBQXlCOzRGQUF6Qix5QkFBeUIsK0RDakJ0QyxxL0NBOEJNOzs0RkRiTyx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2hvcHBpbmdDYXJ0U2VydmljZSB9IGZyb20gJy4uL3Nob3BwaW5nLWNhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBTaG9wcGluZ0NhcnRJdGVtLCBTaG9wcGluZ0NhcnQgfSBmcm9tICdAb2hpb2VwYS9vZXBhLWViaXotbGliJztcbmltcG9ydCB7IEJzTW9kYWxSZWYsIEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbmZpcm1hdGlvbi1tb2RhbC9jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNob3BwaW5nQ2FydFZpZXdQYXJhbWV0ZXJzIH0gZnJvbSAnLi9zaG9wcGluZy1jYXJ0LXZpZXctcGFyYW1ldGVycyc7XG5pbXBvcnQgeyBPZXBhVGFibGVIZWFkZXIgfSBmcm9tICcuLi8uLi90YWJsZS9vZXBhLXRhYmxlLWhlYWRlcic7XG5pbXBvcnQgeyBPZXBhVGFibGVDZWxsQ2xpY2tFdmVudCB9IGZyb20gJy4uLy4uL3RhYmxlL29lcGEtdGFibGUtY2VsbC1jbGljay1ldmVudCc7XG5pbXBvcnQgeyBPZXBhVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi90YWJsZS9vZXBhLXRhYmxlLWNvbmZpZyc7XG5pbXBvcnQgeyBPZXBhVGFibGVSb3cgfSBmcm9tICcuLi8uLi90YWJsZS9vZXBhLXRhYmxlLXJvdyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29lcGEtc2hvcHBpbmctY2FydC12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Nob3BwaW5nLWNhcnQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Nob3BwaW5nLWNhcnQtdmlldy5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2hvcHBpbmdDYXJ0Vmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHJldHVybkxhYmVsOiBzdHJpbmc7XG4gIHJldHVyblVybDogc3RyaW5nO1xuICBzaG9wcGluZ0NhcnQ6IFNob3BwaW5nQ2FydCB8IHVuZGVmaW5lZDtcbiAgZW1wdHkgPSB0cnVlO1xuICBsb2FkaW5nID0gdHJ1ZTtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgaW1hZ2VSb290ID0gJy9Bbmd1bGFyV2ViQXBwL2Fzc2V0cy9pbWFnZXMnO1xuICBjaGVja091dEluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgdG90YWxDb2x1bW46IHN0cmluZyA9ICdpdGVtRGVzY3JpcHRpb24nO1xuICBpdGVtTnVtYmVyTGFiZWw6IHN0cmluZztcbiAgaXRlbUNsYXNzaWZpY2F0aW9uTGFiZWw6IHN0cmluZztcbiAgaXRlbU5hbWVMYWJlbDogc3RyaW5nO1xuICBpdGVtRGVzY3JpcHRpb25MYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgdGJsSGVhZGVyOiBPZXBhVGFibGVIZWFkZXIgPSB7XG4gICAgY29sdW1uczogW1xuICAgICAgeyB0aXRsZTogJ1JlbW92ZSBJdGVtJywgaWQ6ICdkZWxldGVJdGVtJywgc29ydDogJ25vbmUnLCBoeXBlcmxpbms6IHRydWUsIGNsYXNzTmFtZTogJ29lcGEtdGFibGUtaGVhZGVyLWNlbnRlcicgfSxcbiAgICAgIHsgdGl0bGU6ICdGZWUnLCBpZDogJ2ZlZScsIHNvcnQ6ICdub25lJyB9LFxuICAgIF1cbiAgfTtcblxuICB0YmxDb25maWc6IE9lcGFUYWJsZUNvbmZpZyA9IHtcbiAgICBjbGFzc05hbWVzOiBbJ3RhYmxlLWJvcmRlcmVkJ10sXG4gICAgaGlkZUZvb3RlcjogdHJ1ZVxuICB9O1xuXG4gIHRibERhdGE6IEFycmF5PE9lcGFUYWJsZVJvdz4gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBCc01vZGFsU2VydmljZSwgXG4gICAgcHJpdmF0ZSBzaG9wcGluZ0NhcnRTZXJ2aWNlOiBTaG9wcGluZ0NhcnRTZXJ2aWNlKSB7XG4gICAgICBjb25zdCBwYXJhbXM6IFNob3BwaW5nQ2FydFZpZXdQYXJhbWV0ZXJzID0gPFNob3BwaW5nQ2FydFZpZXdQYXJhbWV0ZXJzPnJvdXRlLnNuYXBzaG90LmRhdGFbMF07XG4gICAgICB0aGlzLnNlcnZpY2VOYW1lID0gcGFyYW1zLnNlcnZpY2VOYW1lO1xuICAgICAgdGhpcy50aXRsZSA9IHBhcmFtcy50aXRsZTtcbiAgICAgIHRoaXMucmV0dXJuTGFiZWwgPSBwYXJhbXMucmV0dXJuTGFiZWw7XG4gICAgICB0aGlzLnJldHVyblVybCA9IHBhcmFtcy5yZXR1cm5Vcmw7XG4gICAgICB0aGlzLml0ZW1OdW1iZXJMYWJlbCA9IHBhcmFtcy5pdGVtTnVtYmVyTGFiZWw7XG4gICAgICB0aGlzLml0ZW1DbGFzc2lmaWNhdGlvbkxhYmVsID0gcGFyYW1zLml0ZW1DbGFzc2lmaWNhdGlvbkxhYmVsO1xuICAgICAgdGhpcy5pdGVtTmFtZUxhYmVsID0gcGFyYW1zLml0ZW1OYW1lTGFiZWw7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVwZGF0ZUhlYWRlcnMoKTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgaGVhZGVycyBiYXNlZCBvbiB0aGUgbGFiZWxzIGRlZmluZWQgZm9yIHRoaXMgc2hvcHBpbmcgY2FydFxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVIZWFkZXJzKCkge1xuICAgIC8vIHByb2Nlc3MgbGFiZWxzIGluIHJldmVyc2Ugb3JkZXIgc2luY2UgdW5zaGlmdCBwbGFjZXMgaXRlbSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBhcnJheVxuICAgIGlmICh0aGlzLml0ZW1EZXNjcmlwdGlvbkxhYmVsKSB7XG4gICAgICB0aGlzLnRibEhlYWRlci5jb2x1bW5zLnVuc2hpZnQoeyB0aXRsZTogdGhpcy5pdGVtRGVzY3JpcHRpb25MYWJlbCwgaWQ6ICdpdGVtRGVzY3JpcHRpb24nLCBzb3J0OiAnbm9uZScgfSk7XG4gICAgICB0aGlzLnRvdGFsQ29sdW1uID0gJ2l0ZW1EZXNjcmlwdGlvbic7XG4gICAgfVxuICAgIGlmICh0aGlzLml0ZW1OYW1lTGFiZWwpIHtcbiAgICAgIHRoaXMudGJsSGVhZGVyLmNvbHVtbnMudW5zaGlmdCh7IHRpdGxlOiB0aGlzLml0ZW1OYW1lTGFiZWwsIGlkOiAnaXRlbU5hbWUnLCBzb3J0OiAnbm9uZScgfSk7XG4gICAgICB0aGlzLnRvdGFsQ29sdW1uID0gJ2l0ZW1OYW1lJztcbiAgICB9XG4gICAgaWYgKHRoaXMuaXRlbUNsYXNzaWZpY2F0aW9uTGFiZWwpIHtcbiAgICAgIHRoaXMudGJsSGVhZGVyLmNvbHVtbnMudW5zaGlmdCh7IHRpdGxlOiB0aGlzLml0ZW1DbGFzc2lmaWNhdGlvbkxhYmVsLCBpZDogJ2l0ZW1DbGFzc2lmaWNhdGlvbicsIHNvcnQ6ICdub25lJyB9KTtcbiAgICAgIHRoaXMudG90YWxDb2x1bW4gPSAnaXRlbUNsYXNzaWZpY2F0aW9uJztcbiAgICB9XG4gICAgaWYgKHRoaXMuaXRlbU51bWJlckxhYmVsKSB7XG4gICAgICB0aGlzLnRibEhlYWRlci5jb2x1bW5zLnVuc2hpZnQoeyB0aXRsZTogdGhpcy5pdGVtTnVtYmVyTGFiZWwsIGlkOiAnaXRlbU51bWJlcicsIHNvcnQ6ICdub25lJyB9KTtcbiAgICAgIHRoaXMudG90YWxDb2x1bW4gPSAnaXRlbU51bWJlcic7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoKCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLnNob3BwaW5nQ2FydFNlcnZpY2UucmV0cmlldmVTaG9wcGluZ0NhcnQodGhpcy5zZXJ2aWNlTmFtZSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IHNob3BwaW5nQ2FydCA9PiB7XG4gICAgICB0aGlzLnNob3BwaW5nQ2FydCA9IHNob3BwaW5nQ2FydDtcbiAgICAgIHRoaXMubG9hZFRhYmxlKCk7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9LCBlcnJvcjogZXJyID0+IHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0ZhaWxlZCByZXRyaWV2aW5nIHNob3BwaW5nIGNhcnQgZGF0YTogJyArIGVycjtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIH19KTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZFRhYmxlKCkge1xuICAgIHRoaXMudGJsRGF0YSA9IFtdO1xuICAgIHRoaXMuZW1wdHkgPSB0cnVlO1xuICAgIGlmICh0aGlzLnNob3BwaW5nQ2FydCAmJiB0aGlzLnNob3BwaW5nQ2FydC5jYXJ0SXRlbXMpIHtcbiAgICAgIHRoaXMuc2hvcHBpbmdDYXJ0LmNhcnRJdGVtcy5mb3JFYWNoKGNhcnRJdGVtID0+IHtcbiAgICAgICAgdGhpcy5lbXB0eSA9IGZhbHNlO1xuICAgICAgICBsZXQgcm93ID0gdGhpcy5jb252ZXJ0Q2FydEl0ZW1Ub1RhYmxlUm93KGNhcnRJdGVtKTtcbiAgICAgICAgdGhpcy50YmxEYXRhLnB1c2gocm93KTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy50YmxEYXRhLnB1c2goeyBjZWxscyA6IFsgXG4gICAgICAgIHtpZDogJ2l0ZW1OdW1iZXInLCB2YWx1ZTogKHRoaXMudG90YWxDb2x1bW4gPT09ICdpdGVtTnVtYmVyJyA/ICdUb3RhbCBBbW91bnQgRHVlOicgOiAnJyksIGNsYXNzTmFtZTonb2VwYS10YWJsZS1ncmF5IG9lcGEtdGFibGUtYm9sZCcgfSxcbiAgICAgICAge2lkOiAnaXRlbUNsYXNzaWZpY2F0aW9uJywgdmFsdWU6ICh0aGlzLnRvdGFsQ29sdW1uID09PSAnaXRlbUNsYXNzaWZpY2F0aW9uJyA/ICdUb3RhbCBBbW91bnQgRHVlOicgOiAnJyksIGNsYXNzTmFtZTonb2VwYS10YWJsZS1ncmF5IG9lcGEtdGFibGUtYm9sZCcgfSxcbiAgICAgICAge2lkOiAnaXRlbU5hbWUnLCB2YWx1ZTogKHRoaXMudG90YWxDb2x1bW4gPT09ICdpdGVtTmFtZScgPyAnVG90YWwgQW1vdW50IER1ZTonIDogJycpLCBjbGFzc05hbWU6J29lcGEtdGFibGUtZ3JheSBvZXBhLXRhYmxlLWJvbGQnIH0sXG4gICAgICAgIHtpZDogJ2l0ZW1EZXNjcmlwdGlvbicsIHZhbHVlOiAodGhpcy50b3RhbENvbHVtbiA9PT0gJ2l0ZW1EZXNjcmlwdGlvbicgPyAnVG90YWwgQW1vdW50IER1ZTonIDogJycpLCBjbGFzc05hbWU6J29lcGEtdGFibGUtZ3JheSBvZXBhLXRhYmxlLWJvbGQnIH0sXG4gICAgICAgIHtpZDonZGVsZXRlSXRlbScsIHZhbHVlOicnLGNsYXNzTmFtZTonb2VwYS10YWJsZS1ncmF5JyB9LFxuICAgICAgICB7aWQ6ICdmZWUnLCAgdmFsdWU6IHRoaXMuc2hvcHBpbmdDYXJ0Py50b3RhbEFtb3VudD8uZm9ybWF0dGVkU3RyaW5nLCBzb3J0VmFsdWU6IHRoaXMuc2hvcHBpbmdDYXJ0Py50b3RhbEFtb3VudD8uY2VudHMsIGljb25DbGFzc05hbWU6J29lcGEtdW5kZWxpbmUtY2VsbCcsIGNsYXNzTmFtZTonb2VwYS10YWJsZS1ncmF5IG9lcGEtdGFibGUtYm9sZCd9XG4gICAgICBdfSk7XG4gICAgICB0aGlzLnRibERhdGEgPSB0aGlzLnRibERhdGEuc2xpY2UoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRDYXJ0SXRlbVRvVGFibGVSb3coY2FydEl0ZW06IFNob3BwaW5nQ2FydEl0ZW0pOiBPZXBhVGFibGVSb3cge1xuICAgIGxldCByb3c6IE9lcGFUYWJsZVJvdyA9IHtcbiAgICAgIGNlbGxzOiBbXG4gICAgICAgIHsgaWQ6ICdpdGVtTnVtYmVyJywgdmFsdWU6IGNhcnRJdGVtLml0ZW1OdW1iZXIgfSxcbiAgICAgICAgeyBpZDogJ2l0ZW1DbGFzc2lmaWNhdGlvbicsIHZhbHVlOiBjYXJ0SXRlbS5pdGVtQ2xhc3NpZmljYXRpb24gfSxcbiAgICAgICAgeyBpZDogJ2l0ZW1OYW1lJywgdmFsdWU6IGNhcnRJdGVtLml0ZW1OYW1lIH0sXG4gICAgICAgIHsgaWQ6ICdpdGVtRGVzY3JpcHRpb24nLCB2YWx1ZTogY2FydEl0ZW0uZGVzY3JpcHRpb24gfSxcbiAgICAgICAgeyBpZDogJ2RlbGV0ZUl0ZW0nLCB2YWx1ZTogJycsIGljb25DbGFzc05hbWU6ICdiaSBiaS1kYXNoLWNpcmNsZS1maWxsJywgY2xhc3NOYW1lOiAndGV4dC1jZW50ZXInIH0sXG4gICAgICAgIHsgaWQ6ICdmZWUnLCB2YWx1ZTogY2FydEl0ZW0udW5pdFByaWNlPy5mb3JtYXR0ZWRTdHJpbmcsIHNvcnRWYWx1ZTogY2FydEl0ZW0udW5pdFByaWNlPy5jZW50cyB9LFxuICAgICAgXSxcbiAgICAgIGRhdGFTb3VyY2U6IGNhcnRJdGVtXG4gICAgfVxuICAgIHJldHVybiByb3c7XG4gIH1cblxuICBvbkNlbGxDbGljayhldmVudDogT2VwYVRhYmxlQ2VsbENsaWNrRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuY29sdW1uSWQgPT09ICdkZWxldGVJdGVtJykge1xuICAgICAgdGhpcy5kZWxldGVGcm9tQ2FydChldmVudC5yb3cuZGF0YVNvdXJjZS50eXBlSUQsIGV2ZW50LnJvdy5kYXRhU291cmNlLmRlc2NyaXB0aW9uLCB0aGlzLnNob3BwaW5nQ2FydCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZWxldGVGcm9tQ2FydChpZDogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nLCBjYXJ0OiBTaG9wcGluZ0NhcnQgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtb2RhbDogQnNNb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLnNob3coQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQsIHsgaWdub3JlQmFja2Ryb3BDbGljazogdHJ1ZSB9KTtcbiAgICAoPENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50Pm1vZGFsLmNvbnRlbnQpLmhlYWRlclRleHQgPSAnUmVtb3ZlIGl0ZW0gZnJvbSBjYXJ0Pyc7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5ib2R5VGV4dCA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlICcgKyBkZXNjcmlwdGlvbiArICAnIGZyb20gdGhlIHNob3BwaW5nIGNhcnQ/JztcbiAgICAoPENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50Pm1vZGFsLmNvbnRlbnQpLmNvbmZpcm1CdG5MYWJlbCA9ICdZZXMnO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY2FuY2VsQnRuTGFiZWwgPSAnTm8nO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY29uZmlybUNsaWNrZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZGVsZXRlSXRlbUZyb21DYXJ0KGlkLCBjYXJ0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGVsZXRlSXRlbUZyb21DYXJ0KGlkOiBzdHJpbmcsIGNhcnQ6IFNob3BwaW5nQ2FydCB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChjYXJ0KSB7XG4gICAgICB0aGlzLnNob3BwaW5nQ2FydFNlcnZpY2UucmVtb3ZlU2hvcHBpbmdDYXJ0SXRlbShpZCwgY2FydCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogdXBkYXRlZENhcnQgPT4ge1xuICAgICAgICB0aGlzLnNob3BwaW5nQ2FydCA9IHVwZGF0ZWRDYXJ0O1xuICAgICAgICB0aGlzLmxvYWRUYWJsZSgpO1xuICAgICAgfSwgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0ZhaWxlZCByZW1vdmluZyBpdGVtIGZyb20gY2FydDogJyArIGVycjtcbiAgICAgIH19KTtcbiAgICB9XG4gIH1cblxuICBnb0JhY2soKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucmV0dXJuVXJsXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLnBhcmVudCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoZWNrb3V0KCkge1xuICAgIGNvbnN0IG1vZGFsOiBCc01vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyhDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCwgeyBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlIH0pO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuaGVhZGVyVGV4dCA9ICdDaGVja291dCc7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5ib2R5VGV4dCA9ICdEbyB5b3Ugd2FudCB0byBzdWJtaXQgYWxsIG9mIHRoZSBhcHBsaWNhdGlvbnMgaW4gdGhlIHNob3BwaW5nIGNhcnQ/JztcbiAgICAoPENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50Pm1vZGFsLmNvbnRlbnQpLmNvbmZpcm1CdG5MYWJlbCA9ICdZZXMnO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY2FuY2VsQnRuTGFiZWwgPSAnTm8nO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY29uZmlybUNsaWNrZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tvdXQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrb3V0KCkge1xuICAgIGlmICh0aGlzLnNob3BwaW5nQ2FydCkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIHRoaXMuY2hlY2tPdXRJblByb2dyZXNzID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2hvcHBpbmdDYXJ0U2VydmljZS5jaGVja091dCh0aGlzLnNob3BwaW5nQ2FydCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogdHJhbnNhY3Rpb25JRCA9PiB7XG4gICAgICAgIC8vIG5hdmlnYXRlIHRvIENCT1NTIHBheW1lbnQgc2NyZWVuXG4gICAgICAgIGNvbnN0IGViaXpSb290VVJMID0gdGhpcy5zaG9wcGluZ0NhcnRTZXJ2aWNlLmdldEViaXpSb290VVJMKCk7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gZWJpelJvb3RVUkwgKyAnL3BvcnRhbC9wYXltZW50U3VibWlzc2lvbkFjdGlvbi5wbz90cmFuc2FjdGlvbklEPScgKyB0cmFuc2FjdGlvbklEO1xuICAgICAgfSwgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tPdXRJblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0NoZWNrb3V0IGZhaWxlZDogJyArIGVycjtcbiAgICAgIH19KTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiIGNvbC1zbS0xMlwiPlxuICAgICAgICAgIDxoMT48Yj57e3RpdGxlfX08L2I+PC9oMT5cbiAgICAgICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImxvYWRpbmcgfHwgZW1wdHlcIiBjbGFzcz1cImNvbC1zbS0xMiB0ZXh0LWNlbnRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIiBhbGVydCBhbGVydC1pbmZvIFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIlwiPjxlbT57eyBsb2FkaW5nID8gJ0xvYWRpbmcuLi4nIDogJ0NhcnQgaXMgZW1wdHknIH19PC9lbT48L3NwYW4+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJvZXBhLWljb25cIiBhbHQ9XCJMb2FkaW5nXCIgc3JjPVwie3tpbWFnZVJvb3R9fS9ibHVlLWxvYWQuZ2lmXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiAhZW1wdHlcIiBjbGFzcz1cImNvbC1zbS0xMlwiPlxuICAgICAgPG9lcGEtdGFibGUgW2NvbmZpZ109XCJ0YmxDb25maWdcIiBbZGF0YV09XCJ0YmxEYXRhXCIgW2hlYWRlcl09XCJ0YmxIZWFkZXJcIiB0YWJsZUlkPVwiU2hvcHBpbmdDYXJ0VGFibGVcIiAoY2VsbENsaWNrZWQpPVwib25DZWxsQ2xpY2soJGV2ZW50KVwiPjwvb2VwYS10YWJsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCIgY2xhc3M9XCJjb2wtc20tMTJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIj57e2Vycm9yTWVzc2FnZX19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIiFjaGVja091dEluUHJvZ3Jlc3NcIiBjbGFzcz1cImNvbC0xMiB0ZXh0LWNlbnRlclwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG1yLTJcIiBpZD1cInJldHVyblRvUGFnZUJ1dHRvblwiIChjbGljayk9XCJnb0JhY2soKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwicmV0dXJuTGFiZWxcIj5cbiAgICAgICAgICB7e3JldHVybkxhYmVsfX08L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFlbXB0eVwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG1yLTJcIiBpZD1cImNoZWNrb3V0QnRuXCIgKGNsaWNrKT1cIm9uQ2hlY2tvdXQoKVwiIGFyaWEtbGFiZWw9XCJDaGVja291dFwiPlxuICAgICAgICAgIENoZWNrb3V0PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJjaGVja091dEluUHJvZ3Jlc3NcIiBjbGFzcz1cImNvbC0xMiB0ZXh0LWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Bpbm5lci1ib3JkZXIgdGV4dC1wcmltYXJ5XCIgcm9sZT1cInN0YXR1c1wiPjwvc3Bhbj5cbiAgICAgICAgICBDaGVja2luZyBvdXQuLi5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcHBpbmctY2FydC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvc2hvcHBpbmctY2FydC9zaG9wcGluZy1jYXJ0LXZpZXcvc2hvcHBpbmctY2FydC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvc2hvcHBpbmctY2FydC9zaG9wcGluZy1jYXJ0LXZpZXcvc2hvcHBpbmctY2FydC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFLbEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdURBQXVELENBQUM7Ozs7Ozs7QUFZbkcsTUFBTSxPQUFPLHlCQUF5QjtJQStCaEI7SUFDVjtJQUNBO0lBQ0E7SUFqQ1YsV0FBVyxDQUFTO0lBQ3BCLEtBQUssQ0FBUztJQUNkLFdBQVcsQ0FBUztJQUNwQixTQUFTLENBQVM7SUFDbEIsWUFBWSxDQUEyQjtJQUN2QyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2IsT0FBTyxHQUFHLElBQUksQ0FBQztJQUNmLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDMUIsU0FBUyxHQUFHLDhCQUE4QixDQUFDO0lBQzNDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUMzQixXQUFXLEdBQVcsaUJBQWlCLENBQUM7SUFDeEMsZUFBZSxDQUFTO0lBQ3hCLHVCQUF1QixDQUFTO0lBQ2hDLGFBQWEsQ0FBUztJQUN0QixvQkFBb0IsR0FBVyxFQUFFLENBQUM7SUFFbEMsU0FBUyxHQUFvQjtRQUMzQixPQUFPLEVBQUU7WUFDUCxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFB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ZCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO29CQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztnQkFDaEQsQ0FBQzthQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7SUFDSCxDQUFDO3dHQXJMVSx5QkFBeUI7NEZBQXpCLHlCQUF5QiwrRENqQnRDLHEvQ0E4Qk07OzRGRGJPLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTaG9wcGluZ0NhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hvcHBpbmctY2FydC5zZXJ2aWNlJztcbmltcG9ydCB7IFNob3BwaW5nQ2FydEl0ZW0sIFNob3BwaW5nQ2FydCB9IGZyb20gJ0BvaGlvZXBhL29lcGEtZWJpei1saWInO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiwgQnNNb2RhbFNlcnZpY2UgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2hvcHBpbmdDYXJ0Vmlld1BhcmFtZXRlcnMgfSBmcm9tICcuL3Nob3BwaW5nLWNhcnQtdmlldy1wYXJhbWV0ZXJzJztcbmltcG9ydCB7IE9lcGFUYWJsZUhlYWRlciB9IGZyb20gJy4uLy4uL3RhYmxlL29lcGEtdGFibGUtaGVhZGVyJztcbmltcG9ydCB7IE9lcGFUYWJsZUNlbGxDbGlja0V2ZW50IH0gZnJvbSAnLi4vLi4vdGFibGUvb2VwYS10YWJsZS1jZWxsLWNsaWNrLWV2ZW50JztcbmltcG9ydCB7IE9lcGFUYWJsZUNvbmZpZyB9IGZyb20gJy4uLy4uL3RhYmxlL29lcGEtdGFibGUtY29uZmlnJztcbmltcG9ydCB7IE9lcGFUYWJsZVJvdyB9IGZyb20gJy4uLy4uL3RhYmxlL29lcGEtdGFibGUtcm93JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2VwYS1zaG9wcGluZy1jYXJ0LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2hvcHBpbmctY2FydC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2hvcHBpbmctY2FydC12aWV3LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTaG9wcGluZ0NhcnRWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc2VydmljZU5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgcmV0dXJuTGFiZWw6IHN0cmluZztcbiAgcmV0dXJuVXJsOiBzdHJpbmc7XG4gIHNob3BwaW5nQ2FydDogU2hvcHBpbmdDYXJ0IHwgdW5kZWZpbmVkO1xuICBlbXB0eSA9IHRydWU7XG4gIGxvYWRpbmcgPSB0cnVlO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuICBpbWFnZVJvb3QgPSAnL0FuZ3VsYXJXZWJBcHAvYXNzZXRzL2ltYWdlcyc7XG4gIGNoZWNrT3V0SW5Qcm9ncmVzcyA9IGZhbHNlO1xuICB0b3RhbENvbHVtbjogc3RyaW5nID0gJ2l0ZW1EZXNjcmlwdGlvbic7XG4gIGl0ZW1OdW1iZXJMYWJlbDogc3RyaW5nO1xuICBpdGVtQ2xhc3NpZmljYXRpb25MYWJlbDogc3RyaW5nO1xuICBpdGVtTmFtZUxhYmVsOiBzdHJpbmc7XG4gIGl0ZW1EZXNjcmlwdGlvbkxhYmVsOiBzdHJpbmcgPSAnJztcblxuICB0YmxIZWFkZXI6IE9lcGFUYWJsZUhlYWRlciA9IHtcbiAgICBjb2x1bW5zOiBbXG4gICAgICB7IHRpdGxlOiAnUmVtb3ZlIEl0ZW0nLCBpZDogJ2RlbGV0ZUl0ZW0nLCBzb3J0OiAnbm9uZScsIGh5cGVybGluazogdHJ1ZSwgY2xhc3NOYW1lOiAnb2VwYS10YWJsZS1oZWFkZXItY2VudGVyJyB9LFxuICAgICAgeyB0aXRsZTogJ0ZlZScsIGlkOiAnZmVlJywgc29ydDogJ25vbmUnIH0sXG4gICAgXVxuICB9O1xuXG4gIHRibENvbmZpZzogT2VwYVRhYmxlQ29uZmlnID0ge1xuICAgIGNsYXNzTmFtZXM6IFsndGFibGUtYm9yZGVyZWQnXSxcbiAgICBoaWRlRm9vdGVyOiB0cnVlXG4gIH07XG5cbiAgdGJsRGF0YTogQXJyYXk8T2VwYVRhYmxlUm93PiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlLCBcbiAgICBwcml2YXRlIHNob3BwaW5nQ2FydFNlcnZpY2U6IFNob3BwaW5nQ2FydFNlcnZpY2UpIHtcbiAgICAgIGNvbnN0IHBhcmFtczogU2hvcHBpbmdDYXJ0Vmlld1BhcmFtZXRlcnMgPSA8U2hvcHBpbmdDYXJ0Vmlld1BhcmFtZXRlcnM+cm91dGUuc25hcHNob3QuZGF0YVswXTtcbiAgICAgIHRoaXMuc2VydmljZU5hbWUgPSBwYXJhbXMuc2VydmljZU5hbWU7XG4gICAgICB0aGlzLnRpdGxlID0gcGFyYW1zLnRpdGxlO1xuICAgICAgdGhpcy5yZXR1cm5MYWJlbCA9IHBhcmFtcy5yZXR1cm5MYWJlbDtcbiAgICAgIHRoaXMucmV0dXJuVXJsID0gcGFyYW1zLnJldHVyblVybDtcbiAgICAgIHRoaXMuaXRlbU51bWJlckxhYmVsID0gcGFyYW1zLml0ZW1OdW1iZXJMYWJlbDtcbiAgICAgIHRoaXMuaXRlbUNsYXNzaWZpY2F0aW9uTGFiZWwgPSBwYXJhbXMuaXRlbUNsYXNzaWZpY2F0aW9uTGFiZWw7XG4gICAgICB0aGlzLml0ZW1OYW1lTGFiZWwgPSBwYXJhbXMuaXRlbU5hbWVMYWJlbDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudXBkYXRlSGVhZGVycygpO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBoZWFkZXJzIGJhc2VkIG9uIHRoZSBsYWJlbHMgZGVmaW5lZCBmb3IgdGhpcyBzaG9wcGluZyBjYXJ0XG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUhlYWRlcnMoKSB7XG4gICAgLy8gcHJvY2VzcyBsYWJlbHMgaW4gcmV2ZXJzZSBvcmRlciBzaW5jZSB1bnNoaWZ0IHBsYWNlcyBpdGVtIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFycmF5XG4gICAgaWYgKHRoaXMuaXRlbURlc2NyaXB0aW9uTGFiZWwpIHtcbiAgICAgIHRoaXMudGJsSGVhZGVyLmNvbHVtbnMudW5zaGlmdCh7IHRpdGxlOiB0aGlzLml0ZW1EZXNjcmlwdGlvbkxhYmVsLCBpZDogJ2l0ZW1EZXNjcmlwdGlvbicsIHNvcnQ6ICdub25lJyB9KTtcbiAgICAgIHRoaXMudG90YWxDb2x1bW4gPSAnaXRlbURlc2NyaXB0aW9uJztcbiAgICB9XG4gICAgaWYgKHRoaXMuaXRlbU5hbWVMYWJlbCkge1xuICAgICAgdGhpcy50YmxIZWFkZXIuY29sdW1ucy51bnNoaWZ0KHsgdGl0bGU6IHRoaXMuaXRlbU5hbWVMYWJlbCwgaWQ6ICdpdGVtTmFtZScsIHNvcnQ6ICdub25lJyB9KTtcbiAgICAgIHRoaXMudG90YWxDb2x1bW4gPSAnaXRlbU5hbWUnO1xuICAgIH1cbiAgICBpZiAodGhpcy5pdGVtQ2xhc3NpZmljYXRpb25MYWJlbCkge1xuICAgICAgdGhpcy50YmxIZWFkZXIuY29sdW1ucy51bnNoaWZ0KHsgdGl0bGU6IHRoaXMuaXRlbUNsYXNzaWZpY2F0aW9uTGFiZWwsIGlkOiAnaXRlbUNsYXNzaWZpY2F0aW9uJywgc29ydDogJ25vbmUnIH0pO1xuICAgICAgdGhpcy50b3RhbENvbHVtbiA9ICdpdGVtQ2xhc3NpZmljYXRpb24nO1xuICAgIH1cbiAgICBpZiAodGhpcy5pdGVtTnVtYmVyTGFiZWwpIHtcbiAgICAgIHRoaXMudGJsSGVhZGVyLmNvbHVtbnMudW5zaGlmdCh7IHRpdGxlOiB0aGlzLml0ZW1OdW1iZXJMYWJlbCwgaWQ6ICdpdGVtTnVtYmVyJywgc29ydDogJ25vbmUnIH0pO1xuICAgICAgdGhpcy50b3RhbENvbHVtbiA9ICdpdGVtTnVtYmVyJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2goKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICcnO1xuICAgIHRoaXMuc2hvcHBpbmdDYXJ0U2VydmljZS5yZXRyaWV2ZVNob3BwaW5nQ2FydCh0aGlzLnNlcnZpY2VOYW1lKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogc2hvcHBpbmdDYXJ0ID0+IHtcbiAgICAgIHRoaXMuc2hvcHBpbmdDYXJ0ID0gc2hvcHBpbmdDYXJ0O1xuICAgICAgdGhpcy5sb2FkVGFibGUoKTtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIH0sIGVycm9yOiBlcnIgPT4ge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRmFpbGVkIHJldHJpZXZpbmcgc2hvcHBpbmcgY2FydCBkYXRhOiAnICsgZXJyO1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgfX0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkVGFibGUoKSB7XG4gICAgdGhpcy50YmxEYXRhID0gW107XG4gICAgdGhpcy5lbXB0eSA9IHRydWU7XG4gICAgaWYgKHRoaXMuc2hvcHBpbmdDYXJ0ICYmIHRoaXMuc2hvcHBpbmdDYXJ0LmNhcnRJdGVtcykge1xuICAgICAgdGhpcy5zaG9wcGluZ0NhcnQuY2FydEl0ZW1zLmZvckVhY2goY2FydEl0ZW0gPT4ge1xuICAgICAgICB0aGlzLmVtcHR5ID0gZmFsc2U7XG4gICAgICAgIGxldCByb3cgPSB0aGlzLmNvbnZlcnRDYXJ0SXRlbVRvVGFibGVSb3coY2FydEl0ZW0pO1xuICAgICAgICB0aGlzLnRibERhdGEucHVzaChyb3cpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnRibERhdGEucHVzaCh7IGNlbGxzIDogWyBcbiAgICAgICAge2lkOiAnaXRlbU51bWJlcicsIHZhbHVlOiAodGhpcy50b3RhbENvbHVtbiA9PT0gJ2l0ZW1OdW1iZXInID8gJ1RvdGFsIEFtb3VudCBEdWU6JyA6ICcnKSwgY2xhc3NOYW1lOidvZXBhLXRhYmxlLWdyYXkgb2VwYS10YWJsZS1ib2xkJyB9LFxuICAgICAgICB7aWQ6ICdpdGVtQ2xhc3NpZmljYXRpb24nLCB2YWx1ZTogKHRoaXMudG90YWxDb2x1bW4gPT09ICdpdGVtQ2xhc3NpZmljYXRpb24nID8gJ1RvdGFsIEFtb3VudCBEdWU6JyA6ICcnKSwgY2xhc3NOYW1lOidvZXBhLXRhYmxlLWdyYXkgb2VwYS10YWJsZS1ib2xkJyB9LFxuICAgICAgICB7aWQ6ICdpdGVtTmFtZScsIHZhbHVlOiAodGhpcy50b3RhbENvbHVtbiA9PT0gJ2l0ZW1OYW1lJyA/ICdUb3RhbCBBbW91bnQgRHVlOicgOiAnJyksIGNsYXNzTmFtZTonb2VwYS10YWJsZS1ncmF5IG9lcGEtdGFibGUtYm9sZCcgfSxcbiAgICAgICAge2lkOiAnaXRlbURlc2NyaXB0aW9uJywgdmFsdWU6ICh0aGlzLnRvdGFsQ29sdW1uID09PSAnaXRlbURlc2NyaXB0aW9uJyA/ICdUb3RhbCBBbW91bnQgRHVlOicgOiAnJyksIGNsYXNzTmFtZTonb2VwYS10YWJsZS1ncmF5IG9lcGEtdGFibGUtYm9sZCcgfSxcbiAgICAgICAge2lkOidkZWxldGVJdGVtJywgdmFsdWU6JycsY2xhc3NOYW1lOidvZXBhLXRhYmxlLWdyYXknIH0sXG4gICAgICAgIHtpZDogJ2ZlZScsICB2YWx1ZTogdGhpcy5zaG9wcGluZ0NhcnQ/LnRvdGFsQW1vdW50Py5mb3JtYXR0ZWRTdHJpbmcsIHNvcnRWYWx1ZTogdGhpcy5zaG9wcGluZ0NhcnQ/LnRvdGFsQW1vdW50Py5jZW50cywgaWNvbkNsYXNzTmFtZTonb2VwYS11bmRlbGluZS1jZWxsJywgY2xhc3NOYW1lOidvZXBhLXRhYmxlLWdyYXkgb2VwYS10YWJsZS1ib2xkJ31cbiAgICAgIF19KTtcbiAgICAgIHRoaXMudGJsRGF0YSA9IHRoaXMudGJsRGF0YS5zbGljZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29udmVydENhcnRJdGVtVG9UYWJsZVJvdyhjYXJ0SXRlbTogU2hvcHBpbmdDYXJ0SXRlbSk6IE9lcGFUYWJsZVJvdyB7XG4gICAgbGV0IHJvdzogT2VwYVRhYmxlUm93ID0ge1xuICAgICAgY2VsbHM6IFtcbiAgICAgICAgeyBpZDogJ2l0ZW1OdW1iZXInLCB2YWx1ZTogY2FydEl0ZW0uaXRlbU51bWJlciB9LFxuICAgICAgICB7IGlkOiAnaXRlbUNsYXNzaWZpY2F0aW9uJywgdmFsdWU6IGNhcnRJdGVtLml0ZW1DbGFzc2lmaWNhdGlvbiB9LFxuICAgICAgICB7IGlkOiAnaXRlbU5hbWUnLCB2YWx1ZTogY2FydEl0ZW0uaXRlbU5hbWUgfSxcbiAgICAgICAgeyBpZDogJ2l0ZW1EZXNjcmlwdGlvbicsIHZhbHVlOiBjYXJ0SXRlbS5kZXNjcmlwdGlvbiB9LFxuICAgICAgICB7IGlkOiAnZGVsZXRlSXRlbScsIHZhbHVlOiAnJywgaWNvbkNsYXNzTmFtZTogJ2JpIGJpLWRhc2gtY2lyY2xlLWZpbGwnLCBjbGFzc05hbWU6ICd0ZXh0LWNlbnRlcicgfSxcbiAgICAgICAgeyBpZDogJ2ZlZScsIHZhbHVlOiBjYXJ0SXRlbS51bml0UHJpY2U/LmZvcm1hdHRlZFN0cmluZywgc29ydFZhbHVlOiBjYXJ0SXRlbS51bml0UHJpY2U/LmNlbnRzIH0sXG4gICAgICBdLFxuICAgICAgZGF0YVNvdXJjZTogY2FydEl0ZW1cbiAgICB9XG4gICAgcmV0dXJuIHJvdztcbiAgfVxuXG4gIG9uQ2VsbENsaWNrKGV2ZW50OiBPZXBhVGFibGVDZWxsQ2xpY2tFdmVudCkge1xuICAgIGlmIChldmVudC5jb2x1bW5JZCA9PT0gJ2RlbGV0ZUl0ZW0nKSB7XG4gICAgICB0aGlzLmRlbGV0ZUZyb21DYXJ0KGV2ZW50LnJvdy5kYXRhU291cmNlLnR5cGVJRCwgZXZlbnQucm93LmRhdGFTb3VyY2UuZGVzY3JpcHRpb24sIHRoaXMuc2hvcHBpbmdDYXJ0KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZUZyb21DYXJ0KGlkOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcsIGNhcnQ6IFNob3BwaW5nQ2FydCB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG1vZGFsOiBCc01vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyhDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCwgeyBhcmlhTGFiZWxsZWRCeTogJ2NvbmZpcm1hdGlvbk1vZGFsVGl0bGUnLCBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlIH0pO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuaGVhZGVyVGV4dCA9ICdSZW1vdmUgaXRlbSBmcm9tIGNhcnQ/JztcbiAgICAoPENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50Pm1vZGFsLmNvbnRlbnQpLmJvZHlUZXh0ID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgJyArIGRlc2NyaXB0aW9uICsgICcgZnJvbSB0aGUgc2hvcHBpbmcgY2FydD8nO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY29uZmlybUJ0bkxhYmVsID0gJ1llcyc7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5jYW5jZWxCdG5MYWJlbCA9ICdObyc7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5jb25maXJtQ2xpY2tlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5kZWxldGVJdGVtRnJvbUNhcnQoaWQsIGNhcnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWxldGVJdGVtRnJvbUNhcnQoaWQ6IHN0cmluZywgY2FydDogU2hvcHBpbmdDYXJ0IHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKGNhcnQpIHtcbiAgICAgIHRoaXMuc2hvcHBpbmdDYXJ0U2VydmljZS5yZW1vdmVTaG9wcGluZ0NhcnRJdGVtKGlkLCBjYXJ0KS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiB1cGRhdGVkQ2FydCA9PiB7XG4gICAgICAgIHRoaXMuc2hvcHBpbmdDYXJ0ID0gdXBkYXRlZENhcnQ7XG4gICAgICAgIHRoaXMubG9hZFRhYmxlKCk7XG4gICAgICB9LCBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRmFpbGVkIHJlbW92aW5nIGl0ZW0gZnJvbSBjYXJ0OiAnICsgZXJyO1xuICAgICAgfX0pO1xuICAgIH1cbiAgfVxuXG4gIGdvQmFjaygpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5yZXR1cm5VcmxdLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUucGFyZW50IH0pO1xuICB9XG5cbiAgcHVibGljIG9uQ2hlY2tvdXQoKSB7XG4gICAgY29uc3QgbW9kYWw6IEJzTW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5zaG93KENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50LCB7IGFyaWFMYWJlbGxlZEJ5OiAnY29uZmlybWF0aW9uTW9kYWxUaXRsZScsIGlnbm9yZUJhY2tkcm9wQ2xpY2s6IHRydWUgfSk7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5oZWFkZXJUZXh0ID0gJ0NoZWNrb3V0JztcbiAgICAoPENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50Pm1vZGFsLmNvbnRlbnQpLmJvZHlUZXh0ID0gJ0RvIHlvdSB3YW50IHRvIHN1Ym1pdCBhbGwgb2YgdGhlIGFwcGxpY2F0aW9ucyBpbiB0aGUgc2hvcHBpbmcgY2FydD8nO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY29uZmlybUJ0bkxhYmVsID0gJ1llcyc7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5jYW5jZWxCdG5MYWJlbCA9ICdObyc7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5jb25maXJtQ2xpY2tlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jaGVja291dCgpO1xuICAgIH0pO1xuICB9XG5cbiAgY2hlY2tvdXQoKSB7XG4gICAgaWYgKHRoaXMuc2hvcHBpbmdDYXJ0KSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgdGhpcy5jaGVja091dEluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgICAgdGhpcy5zaG9wcGluZ0NhcnRTZXJ2aWNlLmNoZWNrT3V0KHRoaXMuc2hvcHBpbmdDYXJ0KS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiB0cmFuc2FjdGlvbklEID0+IHtcbiAgICAgICAgLy8gbmF2aWdhdGUgdG8gQ0JPU1MgcGF5bWVudCBzY3JlZW5cbiAgICAgICAgY29uc3QgZWJpelJvb3RVUkwgPSB0aGlzLnNob3BwaW5nQ2FydFNlcnZpY2UuZ2V0RWJpelJvb3RVUkwoKTtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBlYml6Um9vdFVSTCArICcvcG9ydGFsL3BheW1lbnRTdWJtaXNzaW9uQWN0aW9uLnBvP3RyYW5zYWN0aW9uSUQ9JyArIHRyYW5zYWN0aW9uSUQ7XG4gICAgICB9LCBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgdGhpcy5jaGVja091dEluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnQ2hlY2tvdXQgZmFpbGVkOiAnICsgZXJyO1xuICAgICAgfX0pO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCIgY29sLXNtLTEyXCI+XG4gICAgICAgICAgPGgxPjxiPnt7dGl0bGV9fTwvYj48L2gxPlxuICAgICAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZyB8fCBlbXB0eVwiIGNsYXNzPVwiY29sLXNtLTEyIHRleHQtY2VudGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiIGFsZXJ0IGFsZXJ0LWluZm8gXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiXCI+PGVtPnt7IGxvYWRpbmcgPyAnTG9hZGluZy4uLicgOiAnQ2FydCBpcyBlbXB0eScgfX08L2VtPjwvc3Bhbj5cbiAgICAgICAgPGltZyAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cIm9lcGEtaWNvblwiIGFsdD1cIkxvYWRpbmdcIiBzcmM9XCJ7e2ltYWdlUm9vdH19L2JsdWUtbG9hZC5naWZcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmICFlbXB0eVwiIGNsYXNzPVwiY29sLXNtLTEyXCI+XG4gICAgICA8b2VwYS10YWJsZSBbY29uZmlnXT1cInRibENvbmZpZ1wiIFtkYXRhXT1cInRibERhdGFcIiBbaGVhZGVyXT1cInRibEhlYWRlclwiIHRhYmxlSWQ9XCJTaG9wcGluZ0NhcnRUYWJsZVwiIChjZWxsQ2xpY2tlZCk9XCJvbkNlbGxDbGljaygkZXZlbnQpXCI+PC9vZXBhLXRhYmxlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIiBjbGFzcz1cImNvbC1zbS0xMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiPnt7ZXJyb3JNZXNzYWdlfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiIWNoZWNrT3V0SW5Qcm9ncmVzc1wiIGNsYXNzPVwiY29sLTEyIHRleHQtY2VudGVyXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXItMlwiIGlkPVwicmV0dXJuVG9QYWdlQnV0dG9uXCIgKGNsaWNrKT1cImdvQmFjaygpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXR1cm5MYWJlbFwiPlxuICAgICAgICAgIHt7cmV0dXJuTGFiZWx9fTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWVtcHR5XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXItMlwiIGlkPVwiY2hlY2tvdXRCdG5cIiAoY2xpY2spPVwib25DaGVja291dCgpXCIgYXJpYS1sYWJlbD1cIkNoZWNrb3V0XCI+XG4gICAgICAgICAgQ2hlY2tvdXQ8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImNoZWNrT3V0SW5Qcm9ncmVzc1wiIGNsYXNzPVwiY29sLTEyIHRleHQtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzcGlubmVyLWJvcmRlciB0ZXh0LXByaW1hcnlcIiByb2xlPVwic3RhdHVzXCI+PC9zcGFuPlxuICAgICAgICAgIENoZWNraW5nIG91dC4uLlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -2160,11 +2160,11 @@ class AccountSearchModalComponent {
|
|
|
2160
2160
|
this.bsModalRef.hide();
|
|
2161
2161
|
}
|
|
2162
2162
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccountSearchModalComponent, deps: [{ token: i1$2.FormBuilder }, { token: i2$1.BsModalRef }, { token: AccountSearchService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2163
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AccountSearchModalComponent, selector: "oepa-account-search-modal", inputs: { searchURL: "searchURL" }, outputs: { onAccountSelected: "onAccountSelected" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\">Advanced Ebiz Account Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\" [expanded]=\"openSearchCriteria\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div id=\"accountSearchCriteria\">\n <b>Ebiz Account Search Criteria</b>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"userUIDInput\">Ebiz User ID</label>\n <input type=\"search\" class=\"form-control\" id=\"userUIDInput\" formControlName=\"userID\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"firstNameInput\">First Name</label>\n <input type=\"search\" class=\"form-control\" id=\"firstNameInput\" formControlName=\"firstName\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"lastNameInput\">Last Name</label>\n <input type=\"search\" class=\"form-control\" id=\"lastNameInput\" formControlName=\"lastName\">\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" class=\"spinner-border text-primary\" role=\"status\"></span>\n <button *ngIf=\"!inProgressMsg\" type=\"submit\" class=\"btn btn-primary mr-2\" id=\"submitSearchBtn\" (click)=\"submitSearch()\" aria-label=\"Search\">Search</button>\n <button id=\"resetSearchBtn\" type=\"button\" class=\"btn btn-primary\" (click)=\"resetSearch()\" aria-label=\"Reset\">Reset</button>\n </div>\n </div>\n </form>\n </mat-expansion-panel>\n </mat-accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Ebiz Account List </b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\" *ngIf=\"tableHeader\">\n <oepa-table tableId=\"accountSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\">\n <div *ngIf=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\n {{inProgressMsg}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <button type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveAccountBtn\"\n [disabled]=\"!selectedAccount || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i6.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["actionDropdownOpenChange", "cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
|
|
2163
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AccountSearchModalComponent, selector: "oepa-account-search-modal", inputs: { searchURL: "searchURL" }, outputs: { onAccountSelected: "onAccountSelected" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\" id=\"accountSearchModalTitle\">Advanced Ebiz Account Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\" [expanded]=\"openSearchCriteria\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div id=\"accountSearchCriteria\">\n <b>Ebiz Account Search Criteria</b>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"userUIDInput\">Ebiz User ID</label>\n <input type=\"search\" class=\"form-control\" id=\"userUIDInput\" formControlName=\"userID\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"firstNameInput\">First Name</label>\n <input type=\"search\" class=\"form-control\" id=\"firstNameInput\" formControlName=\"firstName\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"lastNameInput\">Last Name</label>\n <input type=\"search\" class=\"form-control\" id=\"lastNameInput\" formControlName=\"lastName\">\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" class=\"spinner-border text-primary\" role=\"status\"></span>\n <button *ngIf=\"!inProgressMsg\" type=\"submit\" class=\"btn btn-primary mr-2\" id=\"submitSearchBtn\" (click)=\"submitSearch()\" aria-label=\"Search\">Search</button>\n <button id=\"resetSearchBtn\" type=\"button\" class=\"btn btn-primary\" (click)=\"resetSearch()\" aria-label=\"Reset\">Reset</button>\n </div>\n </div>\n </form>\n </mat-expansion-panel>\n </mat-accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Ebiz Account List </b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\" *ngIf=\"tableHeader\">\n <oepa-table tableId=\"accountSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\">\n <div *ngIf=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\n {{inProgressMsg}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <button type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveAccountBtn\"\n [disabled]=\"!selectedAccount || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i6.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["actionDropdownOpenChange", "cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
|
|
2164
2164
|
}
|
|
2165
2165
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccountSearchModalComponent, decorators: [{
|
|
2166
2166
|
type: Component,
|
|
2167
|
-
args: [{ selector: 'oepa-account-search-modal', template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\">Advanced Ebiz Account Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\" [expanded]=\"openSearchCriteria\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div id=\"accountSearchCriteria\">\n <b>Ebiz Account Search Criteria</b>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"userUIDInput\">Ebiz User ID</label>\n <input type=\"search\" class=\"form-control\" id=\"userUIDInput\" formControlName=\"userID\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"firstNameInput\">First Name</label>\n <input type=\"search\" class=\"form-control\" id=\"firstNameInput\" formControlName=\"firstName\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"lastNameInput\">Last Name</label>\n <input type=\"search\" class=\"form-control\" id=\"lastNameInput\" formControlName=\"lastName\">\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" class=\"spinner-border text-primary\" role=\"status\"></span>\n <button *ngIf=\"!inProgressMsg\" type=\"submit\" class=\"btn btn-primary mr-2\" id=\"submitSearchBtn\" (click)=\"submitSearch()\" aria-label=\"Search\">Search</button>\n <button id=\"resetSearchBtn\" type=\"button\" class=\"btn btn-primary\" (click)=\"resetSearch()\" aria-label=\"Reset\">Reset</button>\n </div>\n </div>\n </form>\n </mat-expansion-panel>\n </mat-accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Ebiz Account List </b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\" *ngIf=\"tableHeader\">\n <oepa-table tableId=\"accountSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\">\n <div *ngIf=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\n {{inProgressMsg}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <button type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveAccountBtn\"\n [disabled]=\"!selectedAccount || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>" }]
|
|
2167
|
+
args: [{ selector: 'oepa-account-search-modal', template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\" id=\"accountSearchModalTitle\">Advanced Ebiz Account Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\" [expanded]=\"openSearchCriteria\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div id=\"accountSearchCriteria\">\n <b>Ebiz Account Search Criteria</b>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"userUIDInput\">Ebiz User ID</label>\n <input type=\"search\" class=\"form-control\" id=\"userUIDInput\" formControlName=\"userID\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"firstNameInput\">First Name</label>\n <input type=\"search\" class=\"form-control\" id=\"firstNameInput\" formControlName=\"firstName\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"lastNameInput\">Last Name</label>\n <input type=\"search\" class=\"form-control\" id=\"lastNameInput\" formControlName=\"lastName\">\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" class=\"spinner-border text-primary\" role=\"status\"></span>\n <button *ngIf=\"!inProgressMsg\" type=\"submit\" class=\"btn btn-primary mr-2\" id=\"submitSearchBtn\" (click)=\"submitSearch()\" aria-label=\"Search\">Search</button>\n <button id=\"resetSearchBtn\" type=\"button\" class=\"btn btn-primary\" (click)=\"resetSearch()\" aria-label=\"Reset\">Reset</button>\n </div>\n </div>\n </form>\n </mat-expansion-panel>\n </mat-accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Ebiz Account List </b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\" *ngIf=\"tableHeader\">\n <oepa-table tableId=\"accountSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\">\n <div *ngIf=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\n {{inProgressMsg}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <button type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveAccountBtn\"\n [disabled]=\"!selectedAccount || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>" }]
|
|
2168
2168
|
}], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: i2$1.BsModalRef }, { type: AccountSearchService }], propDecorators: { searchURL: [{
|
|
2169
2169
|
type: Input,
|
|
2170
2170
|
args: ['searchURL']
|
|
@@ -2262,7 +2262,7 @@ class AccountSearchInputComponent {
|
|
|
2262
2262
|
const initialState = {
|
|
2263
2263
|
searchURL: this.searchURL
|
|
2264
2264
|
};
|
|
2265
|
-
let modal = this.modalService.show(AccountSearchModalComponent, { initialState, class: 'modal-lg', ignoreBackdropClick: true });
|
|
2265
|
+
let modal = this.modalService.show(AccountSearchModalComponent, { ariaLabelledBy: 'accountSearchModalTitle', initialState, class: 'modal-lg', ignoreBackdropClick: true });
|
|
2266
2266
|
modal.content.onAccountSelected.subscribe(account => {
|
|
2267
2267
|
this.loadAccountInForm(account);
|
|
2268
2268
|
this.accountSelected.emit(account);
|
|
@@ -3567,7 +3567,7 @@ class FileUploadComponent {
|
|
|
3567
3567
|
return ok;
|
|
3568
3568
|
}
|
|
3569
3569
|
removeFile() {
|
|
3570
|
-
const modal = this.modalService.show(ConfirmationModalComponent, { ignoreBackdropClick: true });
|
|
3570
|
+
const modal = this.modalService.show(ConfirmationModalComponent, { ariaLabelledBy: 'confirmationModalTitle', ignoreBackdropClick: true });
|
|
3571
3571
|
modal.content.headerText = 'Remove Attachment';
|
|
3572
3572
|
modal.content.bodyText = 'Do you want to remove the attachment: ' + this.attachment?.userFilename || '<unknown>' + '?';
|
|
3573
3573
|
modal.content.confirmBtnLabel = 'Yes';
|
|
@@ -3703,7 +3703,7 @@ class MultiFileUploadComponent {
|
|
|
3703
3703
|
}
|
|
3704
3704
|
}
|
|
3705
3705
|
removeFile(attachment) {
|
|
3706
|
-
const modal = this.modalService.show(ConfirmationModalComponent, { ignoreBackdropClick: true });
|
|
3706
|
+
const modal = this.modalService.show(ConfirmationModalComponent, { ariaLabelledBy: 'confirmationModalTitle', ignoreBackdropClick: true });
|
|
3707
3707
|
modal.content.headerText = 'Remove Attachment';
|
|
3708
3708
|
modal.content.bodyText = 'Do you want to remove the attachment: ' + attachment.userFilename + '?';
|
|
3709
3709
|
modal.content.confirmBtnLabel = 'Yes';
|
|
@@ -4405,11 +4405,11 @@ class OrganizationCreateModalComponent {
|
|
|
4405
4405
|
return this.modalFormGroup.controls[name].hasError(field);
|
|
4406
4406
|
}
|
|
4407
4407
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrganizationCreateModalComponent, deps: [{ token: i1$2.FormBuilder }, { token: i2$1.BsModalRef }, { token: OepaFormsService }, { token: EntityService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4408
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OrganizationCreateModalComponent, selector: "oepa-organization-create-modal", outputs: { onOrganizationCreated: "onOrganizationCreated" }, ngImport: i0, template: "<div class=\"modal-header\" id=\"organizationCreateModalTitle\">\n <h1 class=\"modal-title pull-left\">Create Organization</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\" tabindex=\"0\">\n </button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"organizationCreateModalTitle\" tabindex=\"-1\">\n <div *ngIf=\"!modalFormGroup\">\n <div class=\"text-center\">Initializing...</div>\n <div class=\"text-center\"><span class=\"spinner-border text-primary\" role=\"status\"></span></div>\n </div>\n <form *ngIf=\"modalFormGroup\" [formGroup]=\"modalFormGroup\">\n <label for=\"orgTypeSelect\">Organization Type</label>\n <select id=\"orgTypeSelect\" formControlName=\"orgType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('orgType')\" aria-describedby=\"orgTypeError\">\n <option *ngFor=\"let t of organizationTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"orgTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('orgType','required')\">Organization Type is required</small>\n\n <label for=\"programSelect\">Program</label>\n <select id=\"programSelect\" formControlName=\"program\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('program')\" aria-describedby=\"programError\">\n <option *ngFor=\"let t of programs\" [ngValue]=\"t\">{{t.name}}</option>\n </select>\n <small id=\"programError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('program','required')\">Program is required</small>\n\n <label for=\"organizationName\">Organization Name</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"organizationName\" id=\"organizationName\" maxlength=\"40\"\n [ngClass]=\"getModalFormGroupInvalidClass('organizationName')\" aria-describedby=\"organizationNameError\">\n <small id=\"organizationNameError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('organizationName','required')\">Organization is required</small>\n\n <label for=\"PhoneInput\">Phone Number</label>\n <input type=\"text\" class=\"form-control\" [ngClass]=\"getModalFormGroupInvalidClass('phoneNumber')\"\n placeholder=\"(xxx) xxx-xxxx\" formControlName=\"phoneNumber\" id=\"PhoneInput\" mask=\"(000) 000-0000\" minlength=\"10\" aria-describedby=\"phoneNumberError phoneNumberMinlengthError\">\n <small id=\"phoneNumberError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumber','required')\">Phone Number is required</small>\n <small id=\"phoneNumberMinlengthError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumber','minlength')\">Please enter a valid phone number</small>\n \n <label for=\"phoneNumberTypeSelect\">Phone Number Type</label>\n <select id=\"phoneNumberTypeSelect\" formControlName=\"phoneNumberType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('phoneNumberType')\" aria-describedby=\"phoneNumberTypeError\">\n <option *ngFor=\"let t of phoneNumberTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"phoneNumberTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumberType','required')\">Phone Number Type is required</small>\n\n <oepa-address [group]=\"getModalFormGroup('address')\" [showValidation]=\"true\" [cityMaxLength] = \"25\"></oepa-address> \n\n <label for=\"addressTypeSelect\">Address Type</label>\n <select id=\"addressTypeSelect\" formControlName=\"addressType\" class=\"form-select\" [ngClass]=\"getModalFormGroupInvalidClass('addressType')\" aria-describedby=\"addressTypeError\">\n <option *ngFor=\"let t of addressTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"addressTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('addressType','required')\">Address Type is required</small>\n \n </form>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\" aria-live=\"polite\">\n <div class=\"card-header\">\n <b>Matching Organization List </b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"organizationSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\">\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\n {{inProgressMsg}}\n </div>\n </div>\n <div *ngIf=\"infoMessage && !inProgressMsg\">\n <div class=\"alert alert-info\">\n {{infoMessage}}\n </div>\n </div>\n <div *ngIf=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\"><span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <button *ngIf=\"(!tableData || tableData.length === 0) && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveOrganizationBtn\" [disabled]=\"!modalFormGroup || modalFormGroup.invalid\"\n (click)=\"saveOrganizationAfterSearch()\" aria-label=\"Save new organization\">Save</button>\n <button *ngIf=\"tableData && tableData.length > 0 && !selectedOrganization && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveOrganizationWithoutSearchBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveOrganization()\" aria-label=\"No match, save new organization\">No Match, Save New Organization</button>\n <button *ngIf=\"tableData && tableData.length > 0 && selectedOrganization && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveSelectedOrganizationBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveSelectedOrganization()\" aria-label=\"Use selected organization\">Use Selected Organization</button>\n <button id=\"CancelOrganizationBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "component", type: AddressComponent, selector: "oepa-address", inputs: ["group", "showValidation", "idPrefix", "addressOneLabel", "addressTwoLabel", "cityLabel", "stateLabel", "zipCodeLabel", "disableState", "isSearch", "hideLine2", "line1MaxLength", "line2MaxLength", "cityMaxLength", "foreignStateLabel", "foreignZipLabel", "countryLabel", "sameAsGroup", "sameAsLabel", "sameAsChecked"] }, { kind: "component", type: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["actionDropdownOpenChange", "cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
|
|
4408
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OrganizationCreateModalComponent, selector: "oepa-organization-create-modal", outputs: { onOrganizationCreated: "onOrganizationCreated" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\" id=\"organizationCreateModalTitle\">Create Organization</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\" tabindex=\"0\">\n </button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"organizationCreateModalTitle\" tabindex=\"-1\">\n <div *ngIf=\"!modalFormGroup\">\n <div class=\"text-center\">Initializing...</div>\n <div class=\"text-center\"><span class=\"spinner-border text-primary\" role=\"status\"></span></div>\n </div>\n <form *ngIf=\"modalFormGroup\" [formGroup]=\"modalFormGroup\">\n <label for=\"orgTypeSelect\">Organization Type</label>\n <select id=\"orgTypeSelect\" formControlName=\"orgType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('orgType')\" aria-describedby=\"orgTypeError\">\n <option *ngFor=\"let t of organizationTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"orgTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('orgType','required')\">Organization Type is required</small>\n\n <label for=\"programSelect\">Program</label>\n <select id=\"programSelect\" formControlName=\"program\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('program')\" aria-describedby=\"programError\">\n <option *ngFor=\"let t of programs\" [ngValue]=\"t\">{{t.name}}</option>\n </select>\n <small id=\"programError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('program','required')\">Program is required</small>\n\n <label for=\"organizationName\">Organization Name</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"organizationName\" id=\"organizationName\" maxlength=\"40\"\n [ngClass]=\"getModalFormGroupInvalidClass('organizationName')\" aria-describedby=\"organizationNameError\">\n <small id=\"organizationNameError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('organizationName','required')\">Organization is required</small>\n\n <label for=\"PhoneInput\">Phone Number</label>\n <input type=\"text\" class=\"form-control\" [ngClass]=\"getModalFormGroupInvalidClass('phoneNumber')\"\n placeholder=\"(xxx) xxx-xxxx\" formControlName=\"phoneNumber\" id=\"PhoneInput\" mask=\"(000) 000-0000\" minlength=\"10\" aria-describedby=\"phoneNumberError phoneNumberMinlengthError\">\n <small id=\"phoneNumberError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumber','required')\">Phone Number is required</small>\n <small id=\"phoneNumberMinlengthError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumber','minlength')\">Please enter a valid phone number</small>\n \n <label for=\"phoneNumberTypeSelect\">Phone Number Type</label>\n <select id=\"phoneNumberTypeSelect\" formControlName=\"phoneNumberType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('phoneNumberType')\" aria-describedby=\"phoneNumberTypeError\">\n <option *ngFor=\"let t of phoneNumberTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"phoneNumberTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumberType','required')\">Phone Number Type is required</small>\n\n <oepa-address [group]=\"getModalFormGroup('address')\" [showValidation]=\"true\" [cityMaxLength] = \"25\"></oepa-address> \n\n <label for=\"addressTypeSelect\">Address Type</label>\n <select id=\"addressTypeSelect\" formControlName=\"addressType\" class=\"form-select\" [ngClass]=\"getModalFormGroupInvalidClass('addressType')\" aria-describedby=\"addressTypeError\">\n <option *ngFor=\"let t of addressTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"addressTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('addressType','required')\">Address Type is required</small>\n \n </form>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\" aria-live=\"polite\">\n <div class=\"card-header\">\n <b>Matching Organization List </b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"organizationSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\">\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\n {{inProgressMsg}}\n </div>\n </div>\n <div *ngIf=\"infoMessage && !inProgressMsg\">\n <div class=\"alert alert-info\">\n {{infoMessage}}\n </div>\n </div>\n <div *ngIf=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\"><span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <button *ngIf=\"(!tableData || tableData.length === 0) && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveOrganizationBtn\" [disabled]=\"!modalFormGroup || modalFormGroup.invalid\"\n (click)=\"saveOrganizationAfterSearch()\" aria-label=\"Save new organization\">Save</button>\n <button *ngIf=\"tableData && tableData.length > 0 && !selectedOrganization && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveOrganizationWithoutSearchBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveOrganization()\" aria-label=\"No match, save new organization\">No Match, Save New Organization</button>\n <button *ngIf=\"tableData && tableData.length > 0 && selectedOrganization && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveSelectedOrganizationBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveSelectedOrganization()\" aria-label=\"Use selected organization\">Use Selected Organization</button>\n <button id=\"CancelOrganizationBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "component", type: AddressComponent, selector: "oepa-address", inputs: ["group", "showValidation", "idPrefix", "addressOneLabel", "addressTwoLabel", "cityLabel", "stateLabel", "zipCodeLabel", "disableState", "isSearch", "hideLine2", "line1MaxLength", "line2MaxLength", "cityMaxLength", "foreignStateLabel", "foreignZipLabel", "countryLabel", "sameAsGroup", "sameAsLabel", "sameAsChecked"] }, { kind: "component", type: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["actionDropdownOpenChange", "cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
|
|
4409
4409
|
}
|
|
4410
4410
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrganizationCreateModalComponent, decorators: [{
|
|
4411
4411
|
type: Component,
|
|
4412
|
-
args: [{ selector: 'oepa-organization-create-modal', template: "<div class=\"modal-header\"
|
|
4412
|
+
args: [{ selector: 'oepa-organization-create-modal', template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\" id=\"organizationCreateModalTitle\">Create Organization</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\" tabindex=\"0\">\n </button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"organizationCreateModalTitle\" tabindex=\"-1\">\n <div *ngIf=\"!modalFormGroup\">\n <div class=\"text-center\">Initializing...</div>\n <div class=\"text-center\"><span class=\"spinner-border text-primary\" role=\"status\"></span></div>\n </div>\n <form *ngIf=\"modalFormGroup\" [formGroup]=\"modalFormGroup\">\n <label for=\"orgTypeSelect\">Organization Type</label>\n <select id=\"orgTypeSelect\" formControlName=\"orgType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('orgType')\" aria-describedby=\"orgTypeError\">\n <option *ngFor=\"let t of organizationTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"orgTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('orgType','required')\">Organization Type is required</small>\n\n <label for=\"programSelect\">Program</label>\n <select id=\"programSelect\" formControlName=\"program\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('program')\" aria-describedby=\"programError\">\n <option *ngFor=\"let t of programs\" [ngValue]=\"t\">{{t.name}}</option>\n </select>\n <small id=\"programError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('program','required')\">Program is required</small>\n\n <label for=\"organizationName\">Organization Name</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"organizationName\" id=\"organizationName\" maxlength=\"40\"\n [ngClass]=\"getModalFormGroupInvalidClass('organizationName')\" aria-describedby=\"organizationNameError\">\n <small id=\"organizationNameError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('organizationName','required')\">Organization is required</small>\n\n <label for=\"PhoneInput\">Phone Number</label>\n <input type=\"text\" class=\"form-control\" [ngClass]=\"getModalFormGroupInvalidClass('phoneNumber')\"\n placeholder=\"(xxx) xxx-xxxx\" formControlName=\"phoneNumber\" id=\"PhoneInput\" mask=\"(000) 000-0000\" minlength=\"10\" aria-describedby=\"phoneNumberError phoneNumberMinlengthError\">\n <small id=\"phoneNumberError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumber','required')\">Phone Number is required</small>\n <small id=\"phoneNumberMinlengthError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumber','minlength')\">Please enter a valid phone number</small>\n \n <label for=\"phoneNumberTypeSelect\">Phone Number Type</label>\n <select id=\"phoneNumberTypeSelect\" formControlName=\"phoneNumberType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('phoneNumberType')\" aria-describedby=\"phoneNumberTypeError\">\n <option *ngFor=\"let t of phoneNumberTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"phoneNumberTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumberType','required')\">Phone Number Type is required</small>\n\n <oepa-address [group]=\"getModalFormGroup('address')\" [showValidation]=\"true\" [cityMaxLength] = \"25\"></oepa-address> \n\n <label for=\"addressTypeSelect\">Address Type</label>\n <select id=\"addressTypeSelect\" formControlName=\"addressType\" class=\"form-select\" [ngClass]=\"getModalFormGroupInvalidClass('addressType')\" aria-describedby=\"addressTypeError\">\n <option *ngFor=\"let t of addressTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"addressTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('addressType','required')\">Address Type is required</small>\n \n </form>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\" aria-live=\"polite\">\n <div class=\"card-header\">\n <b>Matching Organization List </b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"organizationSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\">\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\n {{inProgressMsg}}\n </div>\n </div>\n <div *ngIf=\"infoMessage && !inProgressMsg\">\n <div class=\"alert alert-info\">\n {{infoMessage}}\n </div>\n </div>\n <div *ngIf=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\"><span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <button *ngIf=\"(!tableData || tableData.length === 0) && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveOrganizationBtn\" [disabled]=\"!modalFormGroup || modalFormGroup.invalid\"\n (click)=\"saveOrganizationAfterSearch()\" aria-label=\"Save new organization\">Save</button>\n <button *ngIf=\"tableData && tableData.length > 0 && !selectedOrganization && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveOrganizationWithoutSearchBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveOrganization()\" aria-label=\"No match, save new organization\">No Match, Save New Organization</button>\n <button *ngIf=\"tableData && tableData.length > 0 && selectedOrganization && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveSelectedOrganizationBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveSelectedOrganization()\" aria-label=\"Use selected organization\">Use Selected Organization</button>\n <button id=\"CancelOrganizationBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>" }]
|
|
4413
4413
|
}], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: i2$1.BsModalRef }, { type: OepaFormsService }, { type: EntityService }], propDecorators: { onOrganizationCreated: [{
|
|
4414
4414
|
type: Output
|
|
4415
4415
|
}] } });
|
|
@@ -4685,7 +4685,7 @@ class OrganizationSearchModalComponent {
|
|
|
4685
4685
|
//this.bsModalRef.hide();
|
|
4686
4686
|
}
|
|
4687
4687
|
createNewOrganization() {
|
|
4688
|
-
let modal = this.modalService.show(OrganizationCreateModalComponent, { class: 'modal-xl', ignoreBackdropClick: true });
|
|
4688
|
+
let modal = this.modalService.show(OrganizationCreateModalComponent, { ariaLabelledBy: 'organizationCreateModalTitle', class: 'modal-xl', ignoreBackdropClick: true });
|
|
4689
4689
|
modal.content.onOrganizationCreated.subscribe((organization) => {
|
|
4690
4690
|
modal.hide();
|
|
4691
4691
|
this.onOrganizationSelected.emit(organization);
|
|
@@ -4784,7 +4784,7 @@ class OrganizationSearchInputComponent {
|
|
|
4784
4784
|
}));
|
|
4785
4785
|
}
|
|
4786
4786
|
advancedSearch() {
|
|
4787
|
-
let modal = this.modalService.show(OrganizationSearchModalComponent, { class: 'modal-xl', ignoreBackdropClick: true });
|
|
4787
|
+
let modal = this.modalService.show(OrganizationSearchModalComponent, { ariaLabelledBy: 'organizationSearchModalTitle', class: 'modal-xl', ignoreBackdropClick: true });
|
|
4788
4788
|
modal.content.onOrganizationSelected.subscribe(organization => {
|
|
4789
4789
|
this.loadOrganizationInForm(organization);
|
|
4790
4790
|
this.organizationSelected.emit(organization);
|
|
@@ -5400,7 +5400,7 @@ class PersonSearchModalComponent {
|
|
|
5400
5400
|
this.onPersonSelected.emit(this.selectedPerson);
|
|
5401
5401
|
}
|
|
5402
5402
|
createNewPerson() {
|
|
5403
|
-
let modal = this.modalService.show(PersonCreateModalComponent, { class: 'modal-xl', ignoreBackdropClick: true });
|
|
5403
|
+
let modal = this.modalService.show(PersonCreateModalComponent, { ariaLabelledBy: 'personCreateModalTitle', class: 'modal-xl', ignoreBackdropClick: true });
|
|
5404
5404
|
modal.content.onPersonCreated.subscribe((person) => {
|
|
5405
5405
|
modal.hide();
|
|
5406
5406
|
this.onPersonSelected.emit(person);
|
|
@@ -5501,7 +5501,7 @@ class PersonSearchInputComponent {
|
|
|
5501
5501
|
}));
|
|
5502
5502
|
}
|
|
5503
5503
|
advancedSearch() {
|
|
5504
|
-
let modal = this.modalService.show(PersonSearchModalComponent, { class: 'modal-xl', ignoreBackdropClick: true });
|
|
5504
|
+
let modal = this.modalService.show(PersonSearchModalComponent, { ariaLabelledBy: 'personSearchModalTitle', class: 'modal-xl', ignoreBackdropClick: true });
|
|
5505
5505
|
modal.content.onPersonSelected.subscribe(person => {
|
|
5506
5506
|
this.loadPersonInForm(person);
|
|
5507
5507
|
this.personSelected.emit(person);
|
|
@@ -5834,7 +5834,7 @@ class PlaceSearchInputComponent {
|
|
|
5834
5834
|
}));
|
|
5835
5835
|
}
|
|
5836
5836
|
advancedSearch() {
|
|
5837
|
-
let modal = this.modalService.show(PlaceSearchModalComponent, { class: 'modal-xl', ignoreBackdropClick: true });
|
|
5837
|
+
let modal = this.modalService.show(PlaceSearchModalComponent, { ariaLabelledBy: 'placeSearchModalTitle', class: 'modal-xl', ignoreBackdropClick: true });
|
|
5838
5838
|
modal.content.onPlaceSelected.subscribe(place => {
|
|
5839
5839
|
this.loadPlaceInForm(place);
|
|
5840
5840
|
this.placeSelected.emit(place);
|
|
@@ -6228,7 +6228,7 @@ class EdocAttachmentComponent {
|
|
|
6228
6228
|
}
|
|
6229
6229
|
removeFile() {
|
|
6230
6230
|
this.errorMsg = '';
|
|
6231
|
-
const modal = this.modalService.show(ConfirmationModalComponent, { ignoreBackdropClick: true });
|
|
6231
|
+
const modal = this.modalService.show(ConfirmationModalComponent, { ariaLabelledBy: 'confirmationModalTitle', ignoreBackdropClick: true });
|
|
6232
6232
|
modal.content.headerText = 'Remove Attachment';
|
|
6233
6233
|
modal.content.bodyText = 'Do you want to remove the attachment: ' + this.attachment.userFilename + '?';
|
|
6234
6234
|
modal.content.confirmBtnLabel = 'Yes';
|
|
@@ -6842,7 +6842,7 @@ class LynxImageUploadComponent {
|
|
|
6842
6842
|
}
|
|
6843
6843
|
removeImage() {
|
|
6844
6844
|
this.errorMessage = '';
|
|
6845
|
-
const modal = this.modalService.show(ConfirmationModalComponent, { ignoreBackdropClick: true });
|
|
6845
|
+
const modal = this.modalService.show(ConfirmationModalComponent, { ariaLabelledBy: 'confirmationModalTitle', ignoreBackdropClick: true });
|
|
6846
6846
|
modal.content.headerText = 'Remove Image';
|
|
6847
6847
|
modal.content.bodyText = 'Do you want to remove the image: ' + this.image.userFilename + '?';
|
|
6848
6848
|
modal.content.confirmBtnLabel = 'Yes';
|
|
@@ -7013,7 +7013,7 @@ class NotesModalComponent {
|
|
|
7013
7013
|
}
|
|
7014
7014
|
noteActionClicked(event) {
|
|
7015
7015
|
if (event.action.title === 'Delete') {
|
|
7016
|
-
const modal = this.modalService.show(ConfirmationModalComponent, { ignoreBackdropClick: true });
|
|
7016
|
+
const modal = this.modalService.show(ConfirmationModalComponent, { ariaLabelledBy: 'confirmationModalTitle', ignoreBackdropClick: true });
|
|
7017
7017
|
modal.content.headerText = 'Confirm delete';
|
|
7018
7018
|
modal.content.bodyText = 'Once a note is deleted it cannot be undone! Do you really want to do this?';
|
|
7019
7019
|
modal.content.confirmBtnLabel = 'Yes';
|
|
@@ -8061,7 +8061,7 @@ class ShoppingCartViewComponent {
|
|
|
8061
8061
|
}
|
|
8062
8062
|
}
|
|
8063
8063
|
deleteFromCart(id, description, cart) {
|
|
8064
|
-
const modal = this.modalService.show(ConfirmationModalComponent, { ignoreBackdropClick: true });
|
|
8064
|
+
const modal = this.modalService.show(ConfirmationModalComponent, { ariaLabelledBy: 'confirmationModalTitle', ignoreBackdropClick: true });
|
|
8065
8065
|
modal.content.headerText = 'Remove item from cart?';
|
|
8066
8066
|
modal.content.bodyText = 'Are you sure you want to remove ' + description + ' from the shopping cart?';
|
|
8067
8067
|
modal.content.confirmBtnLabel = 'Yes';
|
|
@@ -8086,7 +8086,7 @@ class ShoppingCartViewComponent {
|
|
|
8086
8086
|
this.router.navigate([this.returnUrl], { relativeTo: this.route.parent });
|
|
8087
8087
|
}
|
|
8088
8088
|
onCheckout() {
|
|
8089
|
-
const modal = this.modalService.show(ConfirmationModalComponent, { ignoreBackdropClick: true });
|
|
8089
|
+
const modal = this.modalService.show(ConfirmationModalComponent, { ariaLabelledBy: 'confirmationModalTitle', ignoreBackdropClick: true });
|
|
8090
8090
|
modal.content.headerText = 'Checkout';
|
|
8091
8091
|
modal.content.bodyText = 'Do you want to submit all of the applications in the shopping cart?';
|
|
8092
8092
|
modal.content.confirmBtnLabel = 'Yes';
|
|
@@ -8564,11 +8564,11 @@ class SelectInputComponent {
|
|
|
8564
8564
|
}
|
|
8565
8565
|
}
|
|
8566
8566
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectInputComponent, deps: [{ token: i1$1.OepaComponentIdService }, { token: i1$1.OepaSmallService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8567
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SelectInputComponent, selector: "oepa-select-input", inputs: { group: "group", field: "field", tableIdx: "tableIdx", title: "title", pickList: "pickList", fullList: "fullList", valueField: "valueField", displayField: "displayField", small: "small" }, outputs: { onValueSelected: "onValueSelected" }, usesOnChanges: true, ngImport: i0, template: "<div [formGroup]=\"group\">\n<select class=\"form-select\" [formControlName]=\"field\" [ngClass]=\"{'is-invalid':group.controls[field].invalid, 'form-control-sm': small}\" \n [id]=\"componentId\">\n<option *ngFor=\"let item of internalPickList\" [ngValue]=\"item[valueField]\">{{item[displayField]}}</option>\n</select>\n<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].invalid\">{{title}} is required</small>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
8567
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SelectInputComponent, selector: "oepa-select-input", inputs: { group: "group", field: "field", tableIdx: "tableIdx", title: "title", pickList: "pickList", fullList: "fullList", valueField: "valueField", displayField: "displayField", small: "small" }, outputs: { onValueSelected: "onValueSelected" }, usesOnChanges: true, ngImport: i0, template: "<div [formGroup]=\"group\">\n<label [for]=\"componentId\" class=\"form-label sr-only\">{{title}} Selector</label>\n<select class=\"form-select\" [formControlName]=\"field\" [ngClass]=\"{'is-invalid':group.controls[field].invalid, 'form-control-sm': small}\" \n [id]=\"componentId\">\n<option *ngFor=\"let item of internalPickList\" [ngValue]=\"item[valueField]\">{{item[displayField]}}</option>\n</select>\n<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].invalid\">{{title}} is required</small>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
8568
8568
|
}
|
|
8569
8569
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectInputComponent, decorators: [{
|
|
8570
8570
|
type: Component,
|
|
8571
|
-
args: [{ selector: 'oepa-select-input', template: "<div [formGroup]=\"group\">\n<select class=\"form-select\" [formControlName]=\"field\" [ngClass]=\"{'is-invalid':group.controls[field].invalid, 'form-control-sm': small}\" \n [id]=\"componentId\">\n<option *ngFor=\"let item of internalPickList\" [ngValue]=\"item[valueField]\">{{item[displayField]}}</option>\n</select>\n<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].invalid\">{{title}} is required</small>\n</div>\n" }]
|
|
8571
|
+
args: [{ selector: 'oepa-select-input', template: "<div [formGroup]=\"group\">\n<label [for]=\"componentId\" class=\"form-label sr-only\">{{title}} Selector</label>\n<select class=\"form-select\" [formControlName]=\"field\" [ngClass]=\"{'is-invalid':group.controls[field].invalid, 'form-control-sm': small}\" \n [id]=\"componentId\">\n<option *ngFor=\"let item of internalPickList\" [ngValue]=\"item[valueField]\">{{item[displayField]}}</option>\n</select>\n<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].invalid\">{{title}} is required</small>\n</div>\n" }]
|
|
8572
8572
|
}], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }, { type: i1$1.OepaSmallService }, { type: i0.ElementRef }], propDecorators: { group: [{
|
|
8573
8573
|
type: Input
|
|
8574
8574
|
}], field: [{
|