@unifylib/ui-lib 1.0.68 → 1.0.70
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/base-model/field-info.mjs +2 -1
- package/esm2022/lib/components/action-comment/action-comment.component.mjs +3 -3
- package/esm2022/lib/components/base-form-canvas/base-form-canvas.component.mjs +11 -3
- package/esm2022/lib/components/base-table/base-table.component.mjs +3 -11
- package/esm2022/lib/components/section-form-canvas/section-form-canvas.component.mjs +11 -3
- package/esm2022/lib/components/title-bar/title-bar.component.mjs +3 -3
- package/esm2022/lib/utils/base-utils.mjs +6 -3
- package/fesm2022/iq-ui-lib.mjs +32 -20
- package/fesm2022/iq-ui-lib.mjs.map +1 -1
- package/fesm2022/unifylib-ui-lib.mjs +32 -20
- package/fesm2022/unifylib-ui-lib.mjs.map +1 -1
- package/iq-ui-lib.d.ts.map +1 -0
- package/lib/base-model/SearchStrConfig.d.ts.map +1 -0
- package/lib/base-model/api-response.d.ts.map +1 -0
- package/lib/base-model/audit-log-entry.d.ts.map +1 -0
- package/lib/base-model/button-action-settings.d.ts.map +1 -0
- package/lib/base-model/column-def.model.d.ts.map +1 -0
- package/lib/base-model/do-action-request.d.ts.map +1 -0
- package/lib/base-model/field-action.d.ts.map +1 -0
- package/lib/base-model/field-filter.model.d.ts.map +1 -0
- package/lib/base-model/field-info.d.ts +1 -0
- package/lib/base-model/field-info.d.ts.map +1 -0
- package/lib/base-model/field-predicate.model.d.ts.map +1 -0
- package/lib/base-model/filter-request.d.ts.map +1 -0
- package/lib/base-model/filter.model.d.ts.map +1 -0
- package/lib/base-model/get-items-list.d.ts.map +1 -0
- package/lib/base-model/index.d.ts.map +1 -0
- package/lib/base-model/items-total.model.d.ts.map +1 -0
- package/lib/base-model/line-item.model.d.ts.map +1 -0
- package/lib/base-model/lookupItem.d.ts.map +1 -0
- package/lib/base-model/page-info.d.ts.map +1 -0
- package/lib/base-model/permission-matrix.model.d.ts.map +1 -0
- package/lib/base-model/report-request.model.d.ts.map +1 -0
- package/lib/base-model/response-envelop.model.d.ts.map +1 -0
- package/lib/base-model/snack-message.model.d.ts.map +1 -0
- package/lib/base-model/table-column.interface.d.ts.map +1 -0
- package/lib/base-model/table-page-user-action.interface.d.ts.map +1 -0
- package/lib/base-model/workflow/workflow-steps.model.d.ts.map +1 -0
- package/lib/base-model/workflow/workflow.model.d.ts.map +1 -0
- package/lib/components/action-comment/action-comment.component.d.ts.map +1 -0
- package/lib/components/action-confirmation/action-confirmation.component.d.ts.map +1 -0
- package/lib/components/activity-report-form/activity-report-form.component.d.ts.map +1 -0
- package/lib/components/advanced-filter/field-filter/field-filter.component.d.ts.map +1 -0
- package/lib/components/advanced-filter/filter-builder/filter-builder.component.d.ts.map +1 -0
- package/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.d.ts.map +1 -0
- package/lib/components/audit-log-list/audit-log.component.d.ts.map +1 -0
- package/lib/components/auto-complete/auto-complete.component.d.ts.map +1 -0
- package/lib/components/base-form/base-form.component.d.ts.map +1 -0
- package/lib/components/base-form-canvas/MaxDigitsDirective.d.ts.map +1 -0
- package/lib/components/base-form-canvas/NumbersOnlyDirective.d.ts.map +1 -0
- package/lib/components/base-form-canvas/base-form-canvas.component.d.ts +1 -0
- package/lib/components/base-form-canvas/base-form-canvas.component.d.ts.map +1 -0
- package/lib/components/base-input-dialog/base-input-dialog.component.d.ts.map +1 -0
- package/lib/components/base-table/base-table.component.d.ts +0 -1
- package/lib/components/base-table/base-table.component.d.ts.map +1 -0
- package/lib/components/button-actions/button-actions.component.d.ts.map +1 -0
- package/lib/components/editable-base-table/editable-base-table.component.d.ts.map +1 -0
- package/lib/components/equation-builder/equation-builder.component.d.ts.map +1 -0
- package/lib/components/item-line-editor/item-line-editor.component.d.ts.map +1 -0
- package/lib/components/multi-auto-complete/multi-auto-complete.component.d.ts.map +1 -0
- package/lib/components/paginator/paginator.component.d.ts.map +1 -0
- package/lib/components/permission-matrix/permission-matrix.component.d.ts.map +1 -0
- package/lib/components/report-details-dialog/report-details-dialog.component.d.ts.map +1 -0
- package/lib/components/report-form/report-form.component.d.ts.map +1 -0
- package/lib/components/search-bar/search-bar.component.d.ts.map +1 -0
- package/lib/components/section-form-canvas/section-form-canvas.component.d.ts +3 -1
- package/lib/components/section-form-canvas/section-form-canvas.component.d.ts.map +1 -0
- package/lib/components/shared/action-button/action-button.component.d.ts.map +1 -0
- package/lib/components/shared/action-card/action-card.component.d.ts.map +1 -0
- package/lib/components/shared/attachment-uploader/attachment-uploader.component.d.ts.map +1 -0
- package/lib/components/shared-list/shared-list.component.d.ts.map +1 -0
- package/lib/components/snackbar-static/snackbar-static.component.d.ts.map +1 -0
- package/lib/components/title-bar/title-bar.component.d.ts.map +1 -0
- package/lib/services/backend-service.d.ts.map +1 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/top-panel.d.ts.map +1 -0
- package/lib/services/trigger-form.service.d.ts.map +1 -0
- package/lib/utils/base-utils.d.ts.map +1 -0
- package/lib/validators/date-range-validator.d.ts.map +1 -0
- package/lib/validators/index.d.ts.map +1 -0
- package/lib/validators/match-list.validator.d.ts.map +1 -0
- package/lib/validators/multi-email-validator.d.ts.map +1 -0
- package/package.json +1 -1
- package/public-api.d.ts.map +1 -0
|
@@ -15,6 +15,7 @@ export class SectionFormCanvasComponent {
|
|
|
15
15
|
this.hideToggle = true;
|
|
16
16
|
this.isExpanded = true;
|
|
17
17
|
this.alwaysOpen = true;
|
|
18
|
+
this.expansionHeaderTabIndex = -1;
|
|
18
19
|
this.actionEdit = new EventEmitter();
|
|
19
20
|
this.formEdit = new EventEmitter();
|
|
20
21
|
this.buttons = [];
|
|
@@ -26,6 +27,11 @@ export class SectionFormCanvasComponent {
|
|
|
26
27
|
toggleExpand() {
|
|
27
28
|
this.isExpanded = !this.isExpanded;
|
|
28
29
|
}
|
|
30
|
+
onPanelHeaderChildKeydown(event) {
|
|
31
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
32
|
+
event.stopPropagation();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
29
35
|
onButtonClick(btn, sectionKey) {
|
|
30
36
|
this.buttonClicked.emit({ ...btn, sectionKey: sectionKey });
|
|
31
37
|
}
|
|
@@ -36,7 +42,7 @@ export class SectionFormCanvasComponent {
|
|
|
36
42
|
return this.buttons.filter(btn => btn.id !== 'download');
|
|
37
43
|
}
|
|
38
44
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionFormCanvasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SectionFormCanvasComponent, isStandalone: true, selector: "lib-section-form-canvas", inputs: { pageInfo: "pageInfo", fields: "fields", itemId: "itemId", editable: "editable", hideBackButton: "hideBackButton", item: "item", title: "title", subtitle: "subtitle", isTranslateTitle: "isTranslateTitle", isTranslateSubtitle: "isTranslateSubtitle", key: "key", hideToggle: "hideToggle", isExpanded: "isExpanded", alwaysOpen: "alwaysOpen", buttons: "buttons", itemStatus: "itemStatus" }, outputs: { actionEdit: "actionEdit", formEdit: "formEdit", buttonClicked: "buttonClicked" }, ngImport: i0, template: "<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"isExpanded\"\r\n [hideToggle]=\"hideToggle\"\r\n (opened)=\"alwaysOpen ? panel.open() : null\"\r\n (closed)=\"alwaysOpen ? panel.open() : null\">\r\n <mat-expansion-panel-header class=\"card-header\" (click)=\"toggleExpand()\">\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\" *ngIf=\"isTranslateTitle\">\r\n {{ pageInfo.labelsSection + '.' + title | translate }}\r\n </h3>\r\n <h3 class=\"card-title\" *ngIf=\"!isTranslateTitle\">{{ title }}</h3>\r\n <p class=\"card-subtitle\" *ngIf=\"subtitle\">\r\n <span *ngIf=\"isTranslateSubtitle\">{{ pageInfo.labelsSection + '.' + subtitle | translate }}</span>\r\n <span *ngIf=\"!isTranslateSubtitle\">{{ subtitle }}</span>\r\n </p>\r\n <button mat-button *ngIf=\"itemStatus\" class=\"stateType\" [ngClass]=\"itemStatus\">\r\n {{ pageInfo.labelsSection + '.' + itemStatus | translate }}\r\n </button>\r\n </div>\r\n </mat-panel-title>\r\n\r\n <mat-panel-description class=\"panel-description\" *ngIf=\"buttons && buttons.length > 0\">\r\n <div class=\"row flex-auto buttons-wrapper desktop-buttons\" [class.show-on-mobile]=\"!getDownloadButton()\">\r\n <button\r\n mat-flat-button\r\n *ngFor=\"let btn of buttons\"\r\n type=\"button\"\r\n [color]=\"btn.color || 'primary'\"\r\n (click)=\"onButtonClick(btn , key); $event.stopPropagation()\"\r\n class=\"btn-none-background-primary action\"\r\n [attr.id]=\"btn.id || ('section-btn-' + (btn.action || btn.label || btn.key))\"\r\n >\r\n <div class=\"button-text\">\r\n <mat-icon *ngIf=\"btn.icon\">{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </div>\r\n </button>\r\n </div>\r\n \r\n <div class=\"mobile-buttons\" *ngIf=\"getDownloadButton()\">\r\n <button\r\n mat-flat-button\r\n type=\"button\"\r\n color=\"primary\"\r\n (click)=\"onButtonClick(getDownloadButton()!, key); $event.stopPropagation()\"\r\n class=\"btn-download-mobile\"\r\n [attr.id]=\"getDownloadButton()?.id\"\r\n [attr.aria-label]=\"'BASE_TABLE.downloadAction' | translate\"\r\n >\r\n <mat-icon aria-hidden=\"true\">{{ getDownloadButton()?.icon }}</mat-icon>\r\n </button>\r\n <button\r\n *ngIf=\"getMenuButtons().length > 0\"\r\n mat-stroked-button\r\n type=\"button\"\r\n [matMenuTriggerFor]=\"menu\"\r\n class=\"btn-menu-mobile\"\r\n >\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n mat-menu-item\r\n *ngFor=\"let btn of getMenuButtons()\"\r\n (click)=\"onButtonClick(btn, key); $event.stopPropagation()\"\r\n [attr.id]=\"btn.id\"\r\n >\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <ng-content></ng-content>\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"editable\"\r\n [item]=\"item\"\r\n (formUpdated)=\"formUpdated($event)\"\r\n ></app-base-form-canvas>\r\n </div>\r\n</mat-expansion-panel>\r\n", styles: [".location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px!important;cursor:default}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .card-subtitle{margin:0;font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;width:fit-content}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin-bottom:20px;margin-top:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.desktop-buttons{display:none!important}.desktop-buttons.show-on-mobile{display:flex!important}.mobile-buttons{display:flex;gap:12px;align-items:center;justify-content:flex-end}.btn-download-mobile{width:45px!important;height:44px!important;min-width:45px!important;padding:0!important;border-radius:8px!important;background:#0d4261!important;display:flex;align-items:center;justify-content:center}.btn-download-mobile mat-icon{color:#fff!important;font-size:24px!important;width:24px!important;height:28px!important;margin:0!important}.btn-download-mobile .mdc-button__label{padding:0!important}.btn-menu-mobile{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:8px!important;border:1px solid #3e627b!important;background:#fff!important;display:flex;align-items:center;justify-content:center}.btn-menu-mobile mat-icon{color:#0d4261!important;font-size:24px!important;width:25px!important;height:24px!important;margin:0!important;rotate:90deg}.btn-menu-mobile .mdc-button__label{padding:0!important}}@media (min-width: 769px){.mobile-buttons{display:none!important}}@media (max-width: 600px){::ng-deep .main-form-canvas{display:block!important}}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: BaseFormCanvasComponent, selector: "app-base-form-canvas", inputs: ["pageInfo", "currency", "fields", "errors", "workflowEditableFields", "isWorkflowEditableManaged", "supportingAttributes", "editable", "emitOnValueChanges", "filterResetNonce", "item", "equationSuggestedFields", "currentEquationValue"], outputs: ["attachmentEmitter", "actionEmitter", "formUpdated", "hyperTextEvent", "currentEquationValueChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }] }); }
|
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SectionFormCanvasComponent, isStandalone: true, selector: "lib-section-form-canvas", inputs: { pageInfo: "pageInfo", fields: "fields", itemId: "itemId", editable: "editable", hideBackButton: "hideBackButton", item: "item", title: "title", subtitle: "subtitle", isTranslateTitle: "isTranslateTitle", isTranslateSubtitle: "isTranslateSubtitle", key: "key", hideToggle: "hideToggle", isExpanded: "isExpanded", alwaysOpen: "alwaysOpen", expansionHeaderTabIndex: "expansionHeaderTabIndex", buttons: "buttons", itemStatus: "itemStatus" }, outputs: { actionEdit: "actionEdit", formEdit: "formEdit", buttonClicked: "buttonClicked" }, ngImport: i0, template: "<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"isExpanded\"\r\n [hideToggle]=\"hideToggle\"\r\n (opened)=\"alwaysOpen ? panel.open() : null\"\r\n (closed)=\"alwaysOpen ? panel.open() : null\">\r\n <mat-expansion-panel-header\r\n class=\"card-header\"\r\n (click)=\"toggleExpand()\"\r\n [tabIndex]=\"expansionHeaderTabIndex\">\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\" *ngIf=\"isTranslateTitle\">\r\n {{ pageInfo.labelsSection + '.' + title | translate }}\r\n </h3>\r\n <h3 class=\"card-title\" *ngIf=\"!isTranslateTitle\">{{ title }}</h3>\r\n <p class=\"card-subtitle\" *ngIf=\"subtitle\">\r\n <span *ngIf=\"isTranslateSubtitle\">{{ pageInfo.labelsSection + '.' + subtitle | translate }}</span>\r\n <span *ngIf=\"!isTranslateSubtitle\">{{ subtitle }}</span>\r\n </p>\r\n <button\r\n mat-button\r\n *ngIf=\"itemStatus\"\r\n type=\"button\"\r\n class=\"stateType\"\r\n [ngClass]=\"itemStatus\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\">\r\n {{ pageInfo.labelsSection + '.' + itemStatus | translate }}\r\n </button>\r\n </div>\r\n </mat-panel-title>\r\n\r\n <mat-panel-description class=\"panel-description\" *ngIf=\"buttons && buttons.length > 0\">\r\n <div class=\"row flex-auto buttons-wrapper desktop-buttons\" [class.show-on-mobile]=\"!getDownloadButton()\">\r\n <button\r\n mat-flat-button\r\n *ngFor=\"let btn of buttons\"\r\n type=\"button\"\r\n [color]=\"btn.color || 'primary'\"\r\n (click)=\"onButtonClick(btn , key); $event.stopPropagation()\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\"\r\n class=\"btn-none-background-primary action\"\r\n [attr.id]=\"btn.id || ('section-btn-' + (btn.action || btn.label || btn.key))\"\r\n >\r\n <div class=\"button-text\">\r\n <mat-icon *ngIf=\"btn.icon\">{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </div>\r\n </button>\r\n </div>\r\n \r\n <div class=\"mobile-buttons\" *ngIf=\"getDownloadButton()\">\r\n <button\r\n mat-flat-button\r\n type=\"button\"\r\n color=\"primary\"\r\n (click)=\"onButtonClick(getDownloadButton()!, key); $event.stopPropagation()\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\"\r\n class=\"btn-download-mobile\"\r\n [attr.id]=\"getDownloadButton()?.id\"\r\n [attr.aria-label]=\"'BASE_TABLE.downloadAction' | translate\"\r\n >\r\n <mat-icon aria-hidden=\"true\">{{ getDownloadButton()?.icon }}</mat-icon>\r\n </button>\r\n <button\r\n *ngIf=\"getMenuButtons().length > 0\"\r\n mat-stroked-button\r\n type=\"button\"\r\n [matMenuTriggerFor]=\"menu\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\"\r\n class=\"btn-menu-mobile\"\r\n >\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n mat-menu-item\r\n *ngFor=\"let btn of getMenuButtons()\"\r\n (click)=\"onButtonClick(btn, key); $event.stopPropagation()\"\r\n [attr.id]=\"btn.id\"\r\n >\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <ng-content></ng-content>\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"editable\"\r\n [item]=\"item\"\r\n (formUpdated)=\"formUpdated($event)\"\r\n ></app-base-form-canvas>\r\n </div>\r\n</mat-expansion-panel>\r\n", styles: [".location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}@media (max-width: 387px){.location-card .mat-expansion-panel-header ::ng-deep .mat-content{flex-direction:column!important;align-items:stretch;gap:12px}.location-card .panel-description{justify-content:flex-start!important;width:100%}.location-card .buttons-wrapper{justify-content:flex-start;width:100%}}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px!important;cursor:default}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .card-subtitle{margin:0;font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;width:fit-content}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin-bottom:20px;margin-top:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.desktop-buttons{display:none!important}.desktop-buttons.show-on-mobile{display:flex!important}.mobile-buttons{display:flex;gap:12px;align-items:center;justify-content:flex-end}.btn-download-mobile{width:45px!important;height:44px!important;min-width:45px!important;padding:0!important;border-radius:8px!important;background:#0d4261!important;display:flex;align-items:center;justify-content:center}.btn-download-mobile mat-icon{color:#fff!important;font-size:24px!important;width:24px!important;height:28px!important;margin:0!important}.btn-download-mobile .mdc-button__label{padding:0!important}.btn-menu-mobile{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:8px!important;border:1px solid #3e627b!important;background:#fff!important;display:flex;align-items:center;justify-content:center}.btn-menu-mobile mat-icon{color:#0d4261!important;font-size:24px!important;width:25px!important;height:24px!important;margin:0!important;rotate:90deg}.btn-menu-mobile .mdc-button__label{padding:0!important}}@media (min-width: 769px){.mobile-buttons{display:none!important}}@media (max-width: 600px){::ng-deep .main-form-canvas{display:block!important}}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: BaseFormCanvasComponent, selector: "app-base-form-canvas", inputs: ["pageInfo", "currency", "fields", "errors", "workflowEditableFields", "isWorkflowEditableManaged", "supportingAttributes", "editable", "emitOnValueChanges", "filterResetNonce", "item", "equationSuggestedFields", "currentEquationValue"], outputs: ["attachmentEmitter", "actionEmitter", "formUpdated", "hyperTextEvent", "currentEquationValueChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }] }); }
|
|
40
46
|
}
|
|
41
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionFormCanvasComponent, decorators: [{
|
|
42
48
|
type: Component,
|
|
@@ -56,7 +62,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
56
62
|
MatMenu,
|
|
57
63
|
MatMenuTrigger,
|
|
58
64
|
MatMenuItem
|
|
59
|
-
], template: "<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"isExpanded\"\r\n [hideToggle]=\"hideToggle\"\r\n (opened)=\"alwaysOpen ? panel.open() : null\"\r\n (closed)=\"alwaysOpen ? panel.open() : null\">\r\n <mat-expansion-panel-header
|
|
65
|
+
], template: "<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"isExpanded\"\r\n [hideToggle]=\"hideToggle\"\r\n (opened)=\"alwaysOpen ? panel.open() : null\"\r\n (closed)=\"alwaysOpen ? panel.open() : null\">\r\n <mat-expansion-panel-header\r\n class=\"card-header\"\r\n (click)=\"toggleExpand()\"\r\n [tabIndex]=\"expansionHeaderTabIndex\">\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\" *ngIf=\"isTranslateTitle\">\r\n {{ pageInfo.labelsSection + '.' + title | translate }}\r\n </h3>\r\n <h3 class=\"card-title\" *ngIf=\"!isTranslateTitle\">{{ title }}</h3>\r\n <p class=\"card-subtitle\" *ngIf=\"subtitle\">\r\n <span *ngIf=\"isTranslateSubtitle\">{{ pageInfo.labelsSection + '.' + subtitle | translate }}</span>\r\n <span *ngIf=\"!isTranslateSubtitle\">{{ subtitle }}</span>\r\n </p>\r\n <button\r\n mat-button\r\n *ngIf=\"itemStatus\"\r\n type=\"button\"\r\n class=\"stateType\"\r\n [ngClass]=\"itemStatus\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\">\r\n {{ pageInfo.labelsSection + '.' + itemStatus | translate }}\r\n </button>\r\n </div>\r\n </mat-panel-title>\r\n\r\n <mat-panel-description class=\"panel-description\" *ngIf=\"buttons && buttons.length > 0\">\r\n <div class=\"row flex-auto buttons-wrapper desktop-buttons\" [class.show-on-mobile]=\"!getDownloadButton()\">\r\n <button\r\n mat-flat-button\r\n *ngFor=\"let btn of buttons\"\r\n type=\"button\"\r\n [color]=\"btn.color || 'primary'\"\r\n (click)=\"onButtonClick(btn , key); $event.stopPropagation()\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\"\r\n class=\"btn-none-background-primary action\"\r\n [attr.id]=\"btn.id || ('section-btn-' + (btn.action || btn.label || btn.key))\"\r\n >\r\n <div class=\"button-text\">\r\n <mat-icon *ngIf=\"btn.icon\">{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </div>\r\n </button>\r\n </div>\r\n \r\n <div class=\"mobile-buttons\" *ngIf=\"getDownloadButton()\">\r\n <button\r\n mat-flat-button\r\n type=\"button\"\r\n color=\"primary\"\r\n (click)=\"onButtonClick(getDownloadButton()!, key); $event.stopPropagation()\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\"\r\n class=\"btn-download-mobile\"\r\n [attr.id]=\"getDownloadButton()?.id\"\r\n [attr.aria-label]=\"'BASE_TABLE.downloadAction' | translate\"\r\n >\r\n <mat-icon aria-hidden=\"true\">{{ getDownloadButton()?.icon }}</mat-icon>\r\n </button>\r\n <button\r\n *ngIf=\"getMenuButtons().length > 0\"\r\n mat-stroked-button\r\n type=\"button\"\r\n [matMenuTriggerFor]=\"menu\"\r\n (keydown)=\"onPanelHeaderChildKeydown($event)\"\r\n class=\"btn-menu-mobile\"\r\n >\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n mat-menu-item\r\n *ngFor=\"let btn of getMenuButtons()\"\r\n (click)=\"onButtonClick(btn, key); $event.stopPropagation()\"\r\n [attr.id]=\"btn.id\"\r\n >\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <ng-content></ng-content>\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"editable\"\r\n [item]=\"item\"\r\n (formUpdated)=\"formUpdated($event)\"\r\n ></app-base-form-canvas>\r\n </div>\r\n</mat-expansion-panel>\r\n", styles: [".location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}@media (max-width: 387px){.location-card .mat-expansion-panel-header ::ng-deep .mat-content{flex-direction:column!important;align-items:stretch;gap:12px}.location-card .panel-description{justify-content:flex-start!important;width:100%}.location-card .buttons-wrapper{justify-content:flex-start;width:100%}}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px!important;cursor:default}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .card-subtitle{margin:0;font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;width:fit-content}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin-bottom:20px;margin-top:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.desktop-buttons{display:none!important}.desktop-buttons.show-on-mobile{display:flex!important}.mobile-buttons{display:flex;gap:12px;align-items:center;justify-content:flex-end}.btn-download-mobile{width:45px!important;height:44px!important;min-width:45px!important;padding:0!important;border-radius:8px!important;background:#0d4261!important;display:flex;align-items:center;justify-content:center}.btn-download-mobile mat-icon{color:#fff!important;font-size:24px!important;width:24px!important;height:28px!important;margin:0!important}.btn-download-mobile .mdc-button__label{padding:0!important}.btn-menu-mobile{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:8px!important;border:1px solid #3e627b!important;background:#fff!important;display:flex;align-items:center;justify-content:center}.btn-menu-mobile mat-icon{color:#0d4261!important;font-size:24px!important;width:25px!important;height:24px!important;margin:0!important;rotate:90deg}.btn-menu-mobile .mdc-button__label{padding:0!important}}@media (min-width: 769px){.mobile-buttons{display:none!important}}@media (max-width: 600px){::ng-deep .main-form-canvas{display:block!important}}\n"] }]
|
|
60
66
|
}], propDecorators: { pageInfo: [{
|
|
61
67
|
type: Input
|
|
62
68
|
}], fields: [{
|
|
@@ -85,6 +91,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
85
91
|
type: Input
|
|
86
92
|
}], alwaysOpen: [{
|
|
87
93
|
type: Input
|
|
94
|
+
}], expansionHeaderTabIndex: [{
|
|
95
|
+
type: Input
|
|
88
96
|
}], actionEdit: [{
|
|
89
97
|
type: Output
|
|
90
98
|
}], formEdit: [{
|
|
@@ -96,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
96
104
|
}], buttonClicked: [{
|
|
97
105
|
type: Output
|
|
98
106
|
}] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24tZm9ybS1jYW52YXMvc2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24tZm9ybS1jYW52YXMvc2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUM1QixzQkFBc0IsRUFDdkIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBeUI1RSxNQUFNLE9BQU8sMEJBQTBCO0lBdkJ2QztRQWlDVyx3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFFcEMsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixlQUFVLEdBQVksSUFBSSxDQUFDO1FBQzNCLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFDMUIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELGFBQVEsR0FBNEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxZQUFPLEdBQTJCLEVBQUUsQ0FBQztRQUVwQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FzQm5EO0lBcEJDLFdBQVcsQ0FBQyxNQUFNO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTdCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUF5QixFQUFFLFVBQWtCO1FBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxHQUFHLEVBQUcsVUFBVSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUM7SUFDM0QsQ0FBQzsrR0F4Q1UsMEJBQTBCO21HQUExQiwwQkFBMEIsNGpCQ3hDdkMsMHRIQXdGQSw0akdEbkVJLE9BQU8sMklBQ1AsU0FBUyxpTEFFVCx1QkFBdUIsdWFBQ3ZCLElBQUksNkZBQ0osT0FBTyxtRkFDUCxlQUFlLDRGQUNmLGlCQUFpQixzTEFDakIsc0JBQXNCLDREQUN0Qiw0QkFBNEIsa0VBQzVCLHVCQUF1QixrSUFDdkIsT0FBTyxtSEFDUCxPQUFPLDJRQUNQLGNBQWMscVNBQ2QsV0FBVzs7NEZBS0YsMEJBQTBCO2tCQXZCdEMsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsSUFBSTt3QkFDSixPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLDRCQUE0Qjt3QkFDNUIsdUJBQXVCO3dCQUN2QixPQUFPO3dCQUNQLE9BQU87d0JBQ1AsY0FBYzt3QkFDZCxXQUFXO3FCQUNaOzhCQUtRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWF0SWNvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHtNYXRCdXR0b259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcclxuaW1wb3J0IHtCdXR0b25BY3Rpb25TZXR0aW5ncywgRmllbGRJbmZvLCBQYWdlSW5mb30gZnJvbSBcIi4uLy4uL2Jhc2UtbW9kZWxcIjtcclxuaW1wb3J0IHtCYXNlRm9ybUNvbXBvbmVudH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS9iYXNlLWZvcm0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7QmFzZUZvcm1DYW52YXNDb21wb25lbnR9IGZyb20gXCIuLi9iYXNlLWZvcm0tY2FudmFzL2Jhc2UtZm9ybS1jYW52YXMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7TmdGb3JPZiwgTmdJZiwgTmdDbGFzc30gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge1xyXG4gIE1hdEV4cGFuc2lvblBhbmVsLFxyXG4gIE1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLFxyXG4gIE1hdEV4cGFuc2lvblBhbmVsRGVzY3JpcHRpb24sXHJcbiAgTWF0RXhwYW5zaW9uUGFuZWxUaXRsZVxyXG59IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb25cIjtcclxuaW1wb3J0IHtNYXRNZW51LCBNYXRNZW51VHJpZ2dlciwgTWF0TWVudUl0ZW19IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zZWN0aW9uLWZvcm0tY2FudmFzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEljb24sXHJcbiAgICBNYXRCdXR0b24sXHJcbiAgICBCYXNlRm9ybUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtQ2FudmFzQ29tcG9uZW50LFxyXG4gICAgTmdJZixcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBNYXRFeHBhbnNpb25QYW5lbCxcclxuICAgIE1hdEV4cGFuc2lvblBhbmVsVGl0bGUsXHJcbiAgICBNYXRFeHBhbnNpb25QYW5lbERlc2NyaXB0aW9uLFxyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsXHJcbiAgICBOZ0Zvck9mLFxyXG4gICAgTWF0TWVudSxcclxuICAgIE1hdE1lbnVUcmlnZ2VyLFxyXG4gICAgTWF0TWVudUl0ZW1cclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWN0aW9uLWZvcm0tY2FudmFzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlY3Rpb25Gb3JtQ2FudmFzQ29tcG9uZW50e1xyXG4gIEBJbnB1dCgpIHBhZ2VJbmZvOiBQYWdlSW5mbztcclxuICBASW5wdXQoKSBmaWVsZHM6IEZpZWxkSW5mb1tdO1xyXG4gIEBJbnB1dCgpIGl0ZW1JZDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGVkaXRhYmxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGhpZGVCYWNrQnV0dG9uOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGl0ZW06IGFueTtcclxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHN1YnRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNUcmFuc2xhdGVUaXRsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpc1RyYW5zbGF0ZVN1YnRpdGxlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBrZXk6IG51bWJlcjtcclxuICBASW5wdXQoKSBoaWRlVG9nZ2xlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBpc0V4cGFuZGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBhbHdheXNPcGVuOiBib29sZWFuID0gdHJ1ZTtcclxuICBAT3V0cHV0KCkgYWN0aW9uRWRpdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGZvcm1FZGl0OiBFdmVudEVtaXR0ZXI8Rm9ybUdyb3VwPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBidXR0b25zOiBCdXR0b25BY3Rpb25TZXR0aW5nc1tdID0gW107XHJcbiAgQElucHV0KCkgaXRlbVN0YXR1czogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGZvcm1VcGRhdGVkKCRldmVudCkge1xyXG4gICAgdGhpcy5mb3JtRWRpdC5lbWl0KCRldmVudCk7XHJcblxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRXhwYW5kKCkge1xyXG4gICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNFeHBhbmRlZDtcclxuICB9XHJcblxyXG4gIG9uQnV0dG9uQ2xpY2soYnRuOiBCdXR0b25BY3Rpb25TZXR0aW5ncywgc2VjdGlvbktleTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCh7Li4uYnRuICwgc2VjdGlvbktleTogc2VjdGlvbktleX0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RG93bmxvYWRCdXR0b24oKTogQnV0dG9uQWN0aW9uU2V0dGluZ3MgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuYnV0dG9ucy5maW5kKGJ0biA9PiBidG4uaWQgPT09ICdkb3dubG9hZCcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWVudUJ1dHRvbnMoKTogQnV0dG9uQWN0aW9uU2V0dGluZ3NbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5idXR0b25zLmZpbHRlcihidG4gPT4gYnRuLmlkICE9PSAnZG93bmxvYWQnKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9XCJsb2NhdGlvbi1jYXJkXCJcclxuICAgICAgICAgICAgICAgICAgICAgI3BhbmVsPVwibWF0RXhwYW5zaW9uUGFuZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwiaXNFeHBhbmRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtoaWRlVG9nZ2xlXT1cImhpZGVUb2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAob3BlbmVkKT1cImFsd2F5c09wZW4gPyBwYW5lbC5vcGVuKCkgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsb3NlZCk9XCJhbHdheXNPcGVuID8gcGFuZWwub3BlbigpIDogbnVsbFwiPlxyXG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBjbGFzcz1cImNhcmQtaGVhZGVyXCIgKGNsaWNrKT1cInRvZ2dsZUV4cGFuZCgpXCI+XHJcbiAgICA8bWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZVwiICpuZ0lmPVwiaXNUcmFuc2xhdGVUaXRsZVwiPlxyXG4gICAgICAgICAge3sgcGFnZUluZm8ubGFiZWxzU2VjdGlvbiArICcuJyArIHRpdGxlIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlXCIgKm5nSWY9XCIhaXNUcmFuc2xhdGVUaXRsZVwiPnt7IHRpdGxlIH19PC9oMz5cclxuICAgICAgICA8cCBjbGFzcz1cImNhcmQtc3VidGl0bGVcIiAqbmdJZj1cInN1YnRpdGxlXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzVHJhbnNsYXRlU3VidGl0bGVcIj57eyBwYWdlSW5mby5sYWJlbHNTZWN0aW9uICsgJy4nICsgc3VidGl0bGUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc1RyYW5zbGF0ZVN1YnRpdGxlXCI+e3sgc3VidGl0bGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cIml0ZW1TdGF0dXNcIiBjbGFzcz1cInN0YXRlVHlwZVwiIFtuZ0NsYXNzXT1cIml0ZW1TdGF0dXNcIj5cclxuICAgICAgICAgIHt7IHBhZ2VJbmZvLmxhYmVsc1NlY3Rpb24gKyAnLicgKyBpdGVtU3RhdHVzIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtcGFuZWwtdGl0bGU+XHJcblxyXG4gICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbiBjbGFzcz1cInBhbmVsLWRlc2NyaXB0aW9uXCIgKm5nSWY9XCJidXR0b25zICYmIGJ1dHRvbnMubGVuZ3RoID4gMFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93IGZsZXgtYXV0byBidXR0b25zLXdyYXBwZXIgZGVza3RvcC1idXR0b25zXCIgW2NsYXNzLnNob3ctb24tbW9iaWxlXT1cIiFnZXREb3dubG9hZEJ1dHRvbigpXCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgbWF0LWZsYXQtYnV0dG9uXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYnRuIG9mIGJ1dHRvbnNcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBbY29sb3JdPVwiYnRuLmNvbG9yIHx8ICdwcmltYXJ5J1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGljayhidG4gLCBrZXkpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4tbm9uZS1iYWNrZ3JvdW5kLXByaW1hcnkgYWN0aW9uXCJcclxuICAgICAgICAgIFthdHRyLmlkXT1cImJ0bi5pZCB8fCAoJ3NlY3Rpb24tYnRuLScgKyAoYnRuLmFjdGlvbiB8fCBidG4ubGFiZWwgfHwgYnRuLmtleSkpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXRleHRcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiYnRuLmljb25cIj57eyBidG4uaWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGJ0bi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtYnV0dG9uc1wiICpuZ0lmPVwiZ2V0RG93bmxvYWRCdXR0b24oKVwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soZ2V0RG93bmxvYWRCdXR0b24oKSEsIGtleSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0bi1kb3dubG9hZC1tb2JpbGVcIlxyXG4gICAgICAgICAgW2F0dHIuaWRdPVwiZ2V0RG93bmxvYWRCdXR0b24oKT8uaWRcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQkFTRV9UQUJMRS5kb3dubG9hZEFjdGlvbicgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtaWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIj57eyBnZXREb3dubG9hZEJ1dHRvbigpPy5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cImdldE1lbnVCdXR0b25zKCkubGVuZ3RoID4gMFwiXHJcbiAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4tbWVudS1tb2JpbGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgYnRuIG9mIGdldE1lbnVCdXR0b25zKClcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGljayhidG4sIGtleSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgIFthdHRyLmlkXT1cImJ0bi5pZFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj57eyBidG4uaWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGJ0bi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICA8ZGl2IGNsYXNzPVwicGFuZWwtYm9keVwiPlxyXG4gICAgPGhyIGNsYXNzPVwiZGl2aWRlclwiLz5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDxhcHAtYmFzZS1mb3JtLWNhbnZhc1xyXG4gICAgICBbcGFnZUluZm9dPVwicGFnZUluZm9cIlxyXG4gICAgICBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAgICAgIFtlZGl0YWJsZV09XCJlZGl0YWJsZVwiXHJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAoZm9ybVVwZGF0ZWQpPVwiZm9ybVVwZGF0ZWQoJGV2ZW50KVwiXHJcbiAgICA+PC9hcHAtYmFzZS1mb3JtLWNhbnZhcz5cclxuICA8L2Rpdj5cclxuPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG4iXX0=
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24tZm9ybS1jYW52YXMvc2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlY3Rpb24tZm9ybS1jYW52YXMvc2VjdGlvbi1mb3JtLWNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUM1QixzQkFBc0IsRUFDdkIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBeUI1RSxNQUFNLE9BQU8sMEJBQTBCO0lBdkJ2QztRQWlDVyx3QkFBbUIsR0FBWSxJ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QWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNYXRJY29ufSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQge01hdEJ1dHRvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQge0J1dHRvbkFjdGlvblNldHRpbmdzLCBGaWVsZEluZm8sIFBhZ2VJbmZvfSBmcm9tIFwiLi4vLi4vYmFzZS1tb2RlbFwiO1xyXG5pbXBvcnQge0Jhc2VGb3JtQ29tcG9uZW50fSBmcm9tIFwiLi4vYmFzZS1mb3JtL2Jhc2UtZm9ybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtCYXNlRm9ybUNhbnZhc0NvbXBvbmVudH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jYW52YXMvYmFzZS1mb3JtLWNhbnZhcy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmLCBOZ0NsYXNzfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQge0Zvcm1Hcm91cH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7XHJcbiAgTWF0RXhwYW5zaW9uUGFuZWwsXHJcbiAgTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsXHJcbiAgTWF0RXhwYW5zaW9uUGFuZWxEZXNjcmlwdGlvbixcclxuICBNYXRFeHBhbnNpb25QYW5lbFRpdGxlXHJcbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvblwiO1xyXG5pbXBvcnQge01hdE1lbnUsIE1hdE1lbnVUcmlnZ2VyLCBNYXRNZW51SXRlbX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNlY3Rpb24tZm9ybS1jYW52YXMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0SWNvbixcclxuICAgIE1hdEJ1dHRvbixcclxuICAgIEJhc2VGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1DYW52YXNDb21wb25lbnQsXHJcbiAgICBOZ0lmLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE1hdEV4cGFuc2lvblBhbmVsLFxyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxcclxuICAgIE1hdEV4cGFuc2lvblBhbmVsRGVzY3JpcHRpb24sXHJcbiAgICBNYXRFeHBhbnNpb25QYW5lbEhlYWRlcixcclxuICAgIE5nRm9yT2YsXHJcbiAgICBNYXRNZW51LFxyXG4gICAgTWF0TWVudVRyaWdnZXIsXHJcbiAgICBNYXRNZW51SXRlbVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlY3Rpb24tZm9ybS1jYW52YXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zZWN0aW9uLWZvcm0tY2FudmFzLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VjdGlvbkZvcm1DYW52YXNDb21wb25lbnR7XHJcbiAgQElucHV0KCkgcGFnZUluZm86IFBhZ2VJbmZvO1xyXG4gIEBJbnB1dCgpIGZpZWxkczogRmllbGRJbmZvW107XHJcbiAgQElucHV0KCkgaXRlbUlkOiBudW1iZXI7XHJcbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaGlkZUJhY2tCdXR0b246IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXRlbTogYW55O1xyXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSBpc1RyYW5zbGF0ZVRpdGxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGlzVHJhbnNsYXRlU3VidGl0bGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGtleTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGhpZGVUb2dnbGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGlzRXhwYW5kZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGFsd2F5c09wZW46IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGV4cGFuc2lvbkhlYWRlclRhYkluZGV4OiBudW1iZXIgPSAtMTtcclxuICBAT3V0cHV0KCkgYWN0aW9uRWRpdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGZvcm1FZGl0OiBFdmVudEVtaXR0ZXI8Rm9ybUdyb3VwPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBidXR0b25zOiBCdXR0b25BY3Rpb25TZXR0aW5nc1tdID0gW107XHJcbiAgQElucHV0KCkgaXRlbVN0YXR1czogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGZvcm1VcGRhdGVkKCRldmVudCkge1xyXG4gICAgdGhpcy5mb3JtRWRpdC5lbWl0KCRldmVudCk7XHJcblxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRXhwYW5kKCkge1xyXG4gICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNFeHBhbmRlZDtcclxuICB9XHJcblxyXG4gIG9uUGFuZWxIZWFkZXJDaGlsZEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkJ1dHRvbkNsaWNrKGJ0bjogQnV0dG9uQWN0aW9uU2V0dGluZ3MsIHNlY3Rpb25LZXk6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5idXR0b25DbGlja2VkLmVtaXQoey4uLmJ0biAsIHNlY3Rpb25LZXk6IHNlY3Rpb25LZXl9KTtcclxuICB9XHJcblxyXG4gIGdldERvd25sb2FkQnV0dG9uKCk6IEJ1dHRvbkFjdGlvblNldHRpbmdzIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLmJ1dHRvbnMuZmluZChidG4gPT4gYnRuLmlkID09PSAnZG93bmxvYWQnKTtcclxuICB9XHJcblxyXG4gIGdldE1lbnVCdXR0b25zKCk6IEJ1dHRvbkFjdGlvblNldHRpbmdzW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuYnV0dG9ucy5maWx0ZXIoYnRuID0+IGJ0bi5pZCAhPT0gJ2Rvd25sb2FkJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPVwibG9jYXRpb24tY2FyZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICNwYW5lbD1cIm1hdEV4cGFuc2lvblBhbmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cImlzRXhwYW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaGlkZVRvZ2dsZV09XCJoaWRlVG9nZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgICAgKG9wZW5lZCk9XCJhbHdheXNPcGVuID8gcGFuZWwub3BlbigpIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbG9zZWQpPVwiYWx3YXlzT3BlbiA/IHBhbmVsLm9wZW4oKSA6IG51bGxcIj5cclxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJcclxuICAgIGNsYXNzPVwiY2FyZC1oZWFkZXJcIlxyXG4gICAgKGNsaWNrKT1cInRvZ2dsZUV4cGFuZCgpXCJcclxuICAgIFt0YWJJbmRleF09XCJleHBhbnNpb25IZWFkZXJUYWJJbmRleFwiPlxyXG4gICAgPG1hdC1wYW5lbC10aXRsZT5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGVcIiAqbmdJZj1cImlzVHJhbnNsYXRlVGl0bGVcIj5cclxuICAgICAgICAgIHt7IHBhZ2VJbmZvLmxhYmVsc1NlY3Rpb24gKyAnLicgKyB0aXRsZSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZVwiICpuZ0lmPVwiIWlzVHJhbnNsYXRlVGl0bGVcIj57eyB0aXRsZSB9fTwvaDM+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJjYXJkLXN1YnRpdGxlXCIgKm5nSWY9XCJzdWJ0aXRsZVwiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1RyYW5zbGF0ZVN1YnRpdGxlXCI+e3sgcGFnZUluZm8ubGFiZWxzU2VjdGlvbiArICcuJyArIHN1YnRpdGxlIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXNUcmFuc2xhdGVTdWJ0aXRsZVwiPnt7IHN1YnRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgIDwvcD5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cIml0ZW1TdGF0dXNcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjbGFzcz1cInN0YXRlVHlwZVwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJpdGVtU3RhdHVzXCJcclxuICAgICAgICAgIChrZXlkb3duKT1cIm9uUGFuZWxIZWFkZXJDaGlsZEtleWRvd24oJGV2ZW50KVwiPlxyXG4gICAgICAgICAge3sgcGFnZUluZm8ubGFiZWxzU2VjdGlvbiArICcuJyArIGl0ZW1TdGF0dXMgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1wYW5lbC10aXRsZT5cclxuXHJcbiAgICA8bWF0LXBhbmVsLWRlc2NyaXB0aW9uIGNsYXNzPVwicGFuZWwtZGVzY3JpcHRpb25cIiAqbmdJZj1cImJ1dHRvbnMgJiYgYnV0dG9ucy5sZW5ndGggPiAwXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZmxleC1hdXRvIGJ1dHRvbnMtd3JhcHBlciBkZXNrdG9wLWJ1dHRvbnNcIiBbY2xhc3Muc2hvdy1vbi1tb2JpbGVdPVwiIWdldERvd25sb2FkQnV0dG9uKClcIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBtYXQtZmxhdC1idXR0b25cclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBidG4gb2YgYnV0dG9uc1wiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIFtjb2xvcl09XCJidG4uY29sb3IgfHwgJ3ByaW1hcnknXCJcclxuICAgICAgICAgIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKGJ0biAsIGtleSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvblBhbmVsSGVhZGVyQ2hpbGRLZXlkb3duKCRldmVudClcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4tbm9uZS1iYWNrZ3JvdW5kLXByaW1hcnkgYWN0aW9uXCJcclxuICAgICAgICAgIFthdHRyLmlkXT1cImJ0bi5pZCB8fCAoJ3NlY3Rpb24tYnRuLScgKyAoYnRuLmFjdGlvbiB8fCBidG4ubGFiZWwgfHwgYnRuLmtleSkpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXRleHRcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiYnRuLmljb25cIj57eyBidG4uaWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGJ0bi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtYnV0dG9uc1wiICpuZ0lmPVwiZ2V0RG93bmxvYWRCdXR0b24oKVwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soZ2V0RG93bmxvYWRCdXR0b24oKSEsIGtleSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvblBhbmVsSGVhZGVyQ2hpbGRLZXlkb3duKCRldmVudClcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4tZG93bmxvYWQtbW9iaWxlXCJcclxuICAgICAgICAgIFthdHRyLmlkXT1cImdldERvd25sb2FkQnV0dG9uKCk/LmlkXCJcclxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0JBU0VfVEFCTEUuZG93bmxvYWRBY3Rpb24nIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3sgZ2V0RG93bmxvYWRCdXR0b24oKT8uaWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJnZXRNZW51QnV0dG9ucygpLmxlbmd0aCA+IDBcIlxyXG4gICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCJcclxuICAgICAgICAgIChrZXlkb3duKT1cIm9uUGFuZWxIZWFkZXJDaGlsZEtleWRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0bi1tZW51LW1vYmlsZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBtYXQtbWVudS1pdGVtXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBidG4gb2YgZ2V0TWVudUJ1dHRvbnMoKVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKGJ0biwga2V5KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgW2F0dHIuaWRdPVwiYnRuLmlkXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPG1hdC1pY29uPnt7IGJ0bi5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgYnRuLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gIDxkaXYgY2xhc3M9XCJwYW5lbC1ib2R5XCI+XHJcbiAgICA8aHIgY2xhc3M9XCJkaXZpZGVyXCIvPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPGFwcC1iYXNlLWZvcm0tY2FudmFzXHJcbiAgICAgIFtwYWdlSW5mb109XCJwYWdlSW5mb1wiXHJcbiAgICAgIFtmaWVsZHNdPVwiZmllbGRzXCJcclxuICAgICAgW2VkaXRhYmxlXT1cImVkaXRhYmxlXCJcclxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXHJcbiAgICAgIChmb3JtVXBkYXRlZCk9XCJmb3JtVXBkYXRlZCgkZXZlbnQpXCJcclxuICAgID48L2FwcC1iYXNlLWZvcm0tY2FudmFzPlxyXG4gIDwvZGl2PlxyXG48L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbiJdfQ==
|
|
@@ -115,7 +115,7 @@ export class TitleBarComponent {
|
|
|
115
115
|
this.onViewModeChanged(value === 'PENDING');
|
|
116
116
|
}
|
|
117
117
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TitleBarComponent, deps: [{ token: i1.Location }, { token: i2.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
118
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TitleBarComponent, isStandalone: true, selector: "app-title-bar", inputs: { pageTitle: "pageTitle", showExtractButton: "showExtractButton", totalElements: "totalElements", titleMode: "titleMode", pageInfo: "pageInfo", subTitle: "subTitle", statusDesc: "statusDesc", newAction: "newAction", extraButton: "extraButton", showDetails: "showDetails", showImport: "showImport", showButton: "showButton", extraData: "extraData", titleCorporateAdmin: "titleCorporateAdmin", hideBackButton: "hideBackButton", buttons: "buttons", buttonsDisplayMode: "buttonsDisplayMode", draftSupported: "draftSupported", isPending: "isPending", onViewModeChange: "onViewModeChange" }, outputs: { newActionClicked: "newActionClicked", extraButtonClicked: "extraButtonClicked", extractReport: "extractReport", buttonClicked: "buttonClicked", viewModeChanged: "viewModeChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row mainTitleBar gap-20 default-align\">\r\n\r\n <div class=\"column flex-auto textTitle\" >\r\n <h2 *ngIf=\"!pageInfo.hideTitle\" style=\"margin: 0;\">\r\n <span class=\"textTitle__titleMode\">{{ titleMode | translate }}</span>\r\n {{ listTitle | translate }}\r\n <span *ngIf=\"titleCorporateAdmin && isRoot\">({{ titleCorporateAdmin }})</span>\r\n {{ extraData }}\r\n </h2>\r\n <span *ngIf=\"subTitle\" class=\"textTitle__subTitle\">{{ subTitle | translate }}</span>\r\n <div *ngIf=\"pageInfo.draftSupported\" class=\"chips-container\">\r\n <mat-chip-listbox #box [attr.aria-label]=\"'BASE_TABLE.documentStatus' | translate\" [multiple]=\"false\" [value]=\"currentIsPending ? 'PENDING' : 'COMPLETED'\" (click)=\"$event.stopPropagation()\" (change)=\"onChipSelectionChange($event, box)\">\r\n <mat-chip-option [selected]=\"!currentIsPending\" [color]=\"'accent'\" value=\"COMPLETED\" (click)=\"$event.stopPropagation()\">\r\n <mat-icon *ngIf=\"!currentIsPending\" style=\"font-size: 14px; width: 14px; height: 14px; margin-right: 4px;\">check</mat-icon>\r\n {{'finished' | translate}}\r\n </mat-chip-option>\r\n <mat-chip-option [selected]=\"currentIsPending\" [color]=\"'accent'\" value=\"PENDING\" (click)=\"$event.stopPropagation()\">\r\n <mat-icon *ngIf=\"currentIsPending\" style=\"font-size: 14px; width: 14px; height: 14px; margin-right: 4px;\">check</mat-icon>\r\n {{'todo' | translate}}\r\n </mat-chip-option>\r\n </mat-chip-listbox>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column end-items gap-20\">\r\n <button type=\"button\" mat-flat-button color=\"primary\" style=\"width: 100px\" *ngIf=\"!hideBackButton\" (click)=\"goBack()\" id=\"title-bar-back-btn\">\r\n <mat-icon color=\"second\">{{ backIcon }}</mat-icon>\r\n <span style=\"font-weight: bold\">{{ 'back' | translate }}</span>\r\n </button>\r\n\r\n <div class=\"row flex-auto gap-20 buttons-wrapper\">\r\n <ng-container *ngIf=\"buttonsDisplayMode === 'dropdown'\">\r\n <button\r\n type=\"button\"\r\n *ngIf=\"buttons && buttons.length > 0\"\r\n mat-flat-button\r\n [matMenuTriggerFor]=\"actionMenu\"\r\n class=\"title-bar-action-button\"\r\n [attr.id]=\"'title-bar-action-button'\">\r\n <div class=\"button-content\">\r\n <mat-icon class=\"button-icon\">{{ buttons[0].icon }}</mat-icon>\r\n <span class=\"button-label\">{{ buttons[0].label | translate }}</span>\r\n <mat-icon class=\"button-arrow\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n </button>\r\n <mat-menu #actionMenu=\"matMenu\" class=\"title-bar-action-menu\">\r\n <ng-container *ngFor=\"let btn of buttons\">\r\n <a\r\n *ngIf=\"resolveButtonHref(btn) as href\"\r\n mat-menu-item\r\n [href]=\"href\"\r\n (click)=\"onButtonClick(btn, $event)\"\r\n [attr.id]=\"btn.id || ('title-bar-menu-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </a>\r\n <button\r\n *ngIf=\"!resolveButtonHref(btn)\"\r\n type=\"button\"\r\n mat-menu-item\r\n (click)=\"onButtonClick(btn)\"\r\n [attr.id]=\"btn.id || ('title-bar-menu-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"buttonsDisplayMode === 'list'\">\r\n <ng-container *ngFor=\"let btn of buttons\">\r\n <a\r\n *ngIf=\"resolveButtonHref(btn) as href\"\r\n mat-flat-button\r\n color=\"primary\"\r\n class=\"title-bar-list-button\"\r\n [href]=\"href\"\r\n (click)=\"onButtonClick(btn, $event)\"\r\n [attr.id]=\"btn.id || ('title-bar-list-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </a>\r\n <button\r\n *ngIf=\"!resolveButtonHref(btn)\"\r\n type=\"button\"\r\n mat-flat-button\r\n color=\"primary\"\r\n class=\"title-bar-list-button\"\r\n (click)=\"onButtonClick(btn)\"\r\n [attr.id]=\"btn.id || ('title-bar-list-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["", ":host{display:block;width:100%}.mainTitleBar{display:flex;width:100%;gap:20px;align-items:center;justify-content:flex-start}.mainTitleBar.row{flex-direction:row;margin-left:0!important;margin-right:0!important;padding-bottom:20px;border-bottom:1px solid #F0EEEE}.mainTitleBar.column{flex-direction:column}.mainTitleBar .textTitle{flex:1 1 0;display:flex;flex-direction:column;width:auto;gap:12px}.mainTitleBar .textTitle h2{margin:0;padding:0;line-height:1.2}.mainTitleBar .textTitle__titleMode{font-weight:200;color:gray}.mainTitleBar .textTitle__subTitle{color:#888;font-size:16px;font-weight:300;font-style:normal}.mainTitleBar .textTitle .chips-container{margin-top:0}.mainTitleBar .end-items{display:flex;flex-direction:row;align-items:center;gap:20px}.mainTitleBar .buttons-wrapper{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-direction:row;text-align-last:end;margin-left:0!important;margin-right:0!important}.mainTitleBar .buttons-wrapper .action-btn{width:210px!important}.mainTitleBar .title-bar-action-button{background:#0d4261!important;color:#fff!important;border-radius:8px!important;height:44px!important;padding:8px 12px!important;min-width:209px!important;box-shadow:none!important}.mainTitleBar .title-bar-action-button:hover{background:#0a3550!important}.mainTitleBar .title-bar-action-button .button-content{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.mainTitleBar .title-bar-action-button .button-icon{font-size:14px;width:14px;height:14px;color:#fff}.mainTitleBar .title-bar-action-button .button-label{font-weight:500;font-size:16px;line-height:1.2;color:#fff;white-space:nowrap;height:16px}.mainTitleBar .title-bar-action-button .button-arrow{font-size:14px;width:14px;height:14px;color:#fff;margin-left:auto}.mainTitleBar .actionButton{width:100%}.mainTitleBar .actionButton__expand{font-size:20px!important;color:var(--accent-color);margin-top:5px}.mainTitleBar .title-bar-list-button{background:#0d4261!important;color:#fff!important;border-radius:8px!important;height:44px!important;padding:8px 16px!important;min-width:auto!important;box-shadow:none!important;display:flex!important;align-items:center!important;gap:8px!important;font-weight:500!important;font-size:16px!important;line-height:1.2!important;white-space:nowrap!important;text-decoration:none!important;box-sizing:border-box!important;outline:none!important;cursor:pointer!important}.mainTitleBar .title-bar-list-button:hover{background:#0a3550!important}.mainTitleBar .title-bar-list-button mat-icon{font-size:20px!important;width:20px!important;height:28px!important;color:#fff!important;margin:0!important}.mainTitleBar .title-bar-list-button span{color:#fff!important}.mainTitleBar mat-chip-listbox{display:flex;flex-direction:row;gap:8px;align-items:center}.mainTitleBar mat-chip-listbox mat-chip-option{height:32px!important;min-height:32px!important;border-radius:8px!important;font-size:16px!important;line-height:1.2!important;font-weight:400!important;border:none!important;box-shadow:none!important;transition:all .2s ease;font-family:Lusail,sans-serif!important;padding:0!important}.mainTitleBar mat-chip-listbox mat-chip-option.mdc-evolution-chip--selected,.mainTitleBar mat-chip-listbox mat-chip-option[selected=true],.mainTitleBar mat-chip-listbox mat-chip-option[aria-selected=true]{background:#0d4261!important;color:#fff!important;font-weight:500!important}.mainTitleBar mat-chip-listbox mat-chip-option.mdc-evolution-chip--selected .mdc-evolution-chip__text-label,.mainTitleBar mat-chip-listbox mat-chip-option[selected=true] .mdc-evolution-chip__text-label,.mainTitleBar mat-chip-listbox mat-chip-option[aria-selected=true] .mdc-evolution-chip__text-label{color:#fff!important;font-weight:500!important;padding-left:4px!important}.mainTitleBar mat-chip-listbox mat-chip-option.mdc-evolution-chip--selected mat-icon,.mainTitleBar mat-chip-listbox mat-chip-option[selected=true] mat-icon,.mainTitleBar mat-chip-listbox mat-chip-option[aria-selected=true] mat-icon{color:#fff!important}.mainTitleBar mat-chip-listbox mat-chip-option:not(.mdc-evolution-chip--selected):not([selected=true]):not([aria-selected=true]){background:#e9e9e9!important;color:#000!important;font-weight:400!important}.mainTitleBar mat-chip-listbox mat-chip-option:not(.mdc-evolution-chip--selected):not([selected=true]):not([aria-selected=true]) .mdc-evolution-chip__text-label{color:#000!important;font-weight:400!important}.mainTitleBar mat-chip-listbox mat-chip-option .mdc-evolution-chip__action{padding:8px 12px!important;min-height:32px!important;display:flex!important;align-items:center!important;gap:4px!important}.mainTitleBar mat-chip-listbox mat-chip-option .mdc-evolution-chip__text-label{padding:0!important;font-size:16px!important;line-height:1.2!important;font-family:Lusail,sans-serif!important}.mainTitleBar mat-chip-listbox mat-chip-option mat-icon{font-size:14px!important;width:14px!important;height:14px!important;margin-right:4px!important}.mainTitleBar mat-chip-listbox mat-chip-option ::ng-deep .mdc-evolution-chip__graphic,.mainTitleBar mat-chip-listbox mat-chip-option ::ng-deep .mdc-evolution-chip__checkmark{display:none!important}.mainTitleBar mat-chip-listbox mat-chip-option ::ng-deep .mdc-evolution-chip__action--primary{padding:10px!important}.mainTitleBar mat-chip-listbox mat-chip-option:hover{opacity:.9}.row{display:flex;flex-direction:row;width:100%}.column{display:flex;flex-direction:column;width:auto}.fx-flex-fill{width:100%;height:100%;flex:1 1 auto}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.end-items{align-items:flex-end}.gap-20{gap:20px}@media (max-width: 960px){.mainTitleBar.row.default-align{justify-content:flex-end}}@media (max-width: 768px){.mainTitleBar.row,.mainTitleBar.column{flex-direction:column;align-items:flex-start;gap:20px}.end-items{align-items:flex-start}}@media (max-width: 600px){.gap-20{gap:10px}}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button{--mdc-filled-button-container-color: #000 !important;--mdc-filled-button-label-text-color: #fff !important;--mat-filled-button-state-layer-color: #fff !important;--mdc-filled-button-hover-state-layer-color: #fff !important;--mdc-filled-button-focus-state-layer-color: #fff !important;--mdc-filled-button-pressed-state-layer-color: #fff !important;background-color:#000!important;background:#000!important;color:#fff!important;border:2px solid #000!important;text-decoration:none!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base:hover,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button:hover,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button:hover{background-color:#000!important;background:#000!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base mat-icon,:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base .mat-icon,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button mat-icon,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button .mat-icon,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button mat-icon,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button .mat-icon{color:#fff!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base span,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button span,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button span{color:#fff!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base .mdc-button__label,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button .mdc-button__label,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button .mdc-button__label{color:#fff!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button{--mdc-filled-button-container-color: #000 !important;--mdc-filled-button-label-text-color: #fff !important;--mat-filled-button-state-layer-color: #fff !important;--mdc-filled-button-hover-state-layer-color: #fff !important;--mdc-filled-button-focus-state-layer-color: #fff !important;--mdc-filled-button-pressed-state-layer-color: #fff !important;background-color:#000!important;background:#000!important;color:#fff!important;border:2px solid #000!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base:hover,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button:hover{background-color:#000!important;background:#000!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base .button-icon,:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base .button-label,:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base .button-arrow,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button .button-icon,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button .button-label,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button .button-arrow{color:#fff!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }] }); }
|
|
118
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TitleBarComponent, isStandalone: true, selector: "app-title-bar", inputs: { pageTitle: "pageTitle", showExtractButton: "showExtractButton", totalElements: "totalElements", titleMode: "titleMode", pageInfo: "pageInfo", subTitle: "subTitle", statusDesc: "statusDesc", newAction: "newAction", extraButton: "extraButton", showDetails: "showDetails", showImport: "showImport", showButton: "showButton", extraData: "extraData", titleCorporateAdmin: "titleCorporateAdmin", hideBackButton: "hideBackButton", buttons: "buttons", buttonsDisplayMode: "buttonsDisplayMode", draftSupported: "draftSupported", isPending: "isPending", onViewModeChange: "onViewModeChange" }, outputs: { newActionClicked: "newActionClicked", extraButtonClicked: "extraButtonClicked", extractReport: "extractReport", buttonClicked: "buttonClicked", viewModeChanged: "viewModeChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row mainTitleBar gap-20 default-align\">\r\n\r\n <div class=\"column flex-auto textTitle\" >\r\n <h2 *ngIf=\"!pageInfo.hideTitle\" style=\"margin: 0;\">\r\n <span class=\"textTitle__titleMode\">{{ titleMode | translate }}</span>\r\n {{ listTitle | translate }}\r\n <span *ngIf=\"titleCorporateAdmin && isRoot\">({{ titleCorporateAdmin }})</span>\r\n {{ extraData }}\r\n </h2>\r\n <span *ngIf=\"subTitle\" class=\"textTitle__subTitle\">{{ subTitle | translate }}</span>\r\n <div *ngIf=\"pageInfo.draftSupported\" class=\"chips-container\">\r\n <mat-chip-listbox #box [attr.aria-label]=\"'BASE_TABLE.documentStatus' | translate\" [multiple]=\"false\" [value]=\"currentIsPending ? 'PENDING' : 'COMPLETED'\" (click)=\"$event.stopPropagation()\" (change)=\"onChipSelectionChange($event, box)\">\r\n <mat-chip-option [selected]=\"!currentIsPending\" [color]=\"'accent'\" value=\"COMPLETED\" (click)=\"$event.stopPropagation()\">\r\n <mat-icon *ngIf=\"!currentIsPending\" style=\"font-size: 14px; width: 14px; height: 14px; margin-right: 4px;\">check</mat-icon>\r\n {{'finished' | translate}}\r\n </mat-chip-option>\r\n <mat-chip-option [selected]=\"currentIsPending\" [color]=\"'accent'\" value=\"PENDING\" (click)=\"$event.stopPropagation()\">\r\n <mat-icon *ngIf=\"currentIsPending\" style=\"font-size: 14px; width: 14px; height: 14px; margin-right: 4px;\">check</mat-icon>\r\n {{'todo' | translate}}\r\n </mat-chip-option>\r\n </mat-chip-listbox>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column end-items gap-20\">\r\n <button type=\"button\" mat-flat-button color=\"primary\" style=\"width: 100px\" *ngIf=\"!hideBackButton\" (click)=\"goBack()\" id=\"title-bar-back-btn\">\r\n <mat-icon color=\"second\">{{ backIcon }}</mat-icon>\r\n <span style=\"font-weight: bold\">{{ 'back' | translate }}</span>\r\n </button>\r\n\r\n <div class=\"row flex-auto gap-20 buttons-wrapper\">\r\n <ng-container *ngIf=\"buttonsDisplayMode === 'dropdown'\">\r\n <button\r\n type=\"button\"\r\n *ngIf=\"buttons && buttons.length > 0\"\r\n mat-flat-button\r\n [matMenuTriggerFor]=\"actionMenu\"\r\n class=\"title-bar-action-button\"\r\n [attr.id]=\"'title-bar-action-button'\">\r\n <div class=\"button-content\">\r\n <mat-icon class=\"button-icon\">{{ buttons[0].icon }}</mat-icon>\r\n <span class=\"button-label\">{{ buttons[0].label | translate }}</span>\r\n <mat-icon class=\"button-arrow\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n </button>\r\n <mat-menu #actionMenu=\"matMenu\" class=\"title-bar-action-menu\">\r\n <ng-container *ngFor=\"let btn of buttons\">\r\n <a\r\n *ngIf=\"resolveButtonHref(btn) as href\"\r\n mat-menu-item\r\n [href]=\"href\"\r\n (click)=\"onButtonClick(btn, $event)\"\r\n [attr.id]=\"btn.id || ('title-bar-menu-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </a>\r\n <button\r\n *ngIf=\"!resolveButtonHref(btn)\"\r\n type=\"button\"\r\n mat-menu-item\r\n (click)=\"onButtonClick(btn)\"\r\n [attr.id]=\"btn.id || ('title-bar-menu-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"buttonsDisplayMode === 'list'\">\r\n <ng-container *ngFor=\"let btn of buttons\">\r\n <a\r\n *ngIf=\"resolveButtonHref(btn) as href\"\r\n mat-flat-button\r\n color=\"primary\"\r\n class=\"title-bar-list-button\"\r\n [href]=\"href\"\r\n (click)=\"onButtonClick(btn, $event)\"\r\n [attr.id]=\"btn.id || ('title-bar-list-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </a>\r\n <button\r\n *ngIf=\"!resolveButtonHref(btn)\"\r\n type=\"button\"\r\n mat-flat-button\r\n color=\"primary\"\r\n class=\"title-bar-list-button\"\r\n (click)=\"onButtonClick(btn)\"\r\n [attr.id]=\"btn.id || ('title-bar-list-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["", ":host{display:block;width:100%}.mainTitleBar{display:flex;width:100%;gap:20px;align-items:center;justify-content:flex-start}.mainTitleBar.row{flex-direction:row;margin-left:0!important;margin-right:0!important;padding-bottom:20px;border-bottom:1px solid #F0EEEE}.mainTitleBar.column{flex-direction:column}.mainTitleBar .textTitle{flex:1 1 0;display:flex;flex-direction:column;width:auto;gap:12px}.mainTitleBar .textTitle h2{margin:0;padding:0;line-height:1.2}.mainTitleBar .textTitle__titleMode{font-weight:200;color:gray}.mainTitleBar .textTitle__subTitle{color:#888;font-size:16px;font-weight:300;font-style:normal}.mainTitleBar .textTitle .chips-container{margin-top:0}.mainTitleBar .end-items{display:flex;flex-direction:row;align-items:center;gap:20px}.mainTitleBar .buttons-wrapper{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-direction:row;text-align-last:end;margin-left:0!important;margin-right:0!important}.mainTitleBar .buttons-wrapper .action-btn{width:210px!important}.mainTitleBar .title-bar-action-button{background:#0d4261!important;color:#fff!important;border-radius:8px!important;height:44px!important;padding:8px 12px!important;min-width:209px!important;box-shadow:none!important}.mainTitleBar .title-bar-action-button:focus-visible{outline:3px solid #fff!important;outline-offset:3px!important;position:relative;z-index:1}.mainTitleBar .title-bar-action-button:hover{background:#0a3550!important}.mainTitleBar .title-bar-action-button .button-content{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.mainTitleBar .title-bar-action-button .button-icon{font-size:14px;width:14px;height:14px;color:#fff}.mainTitleBar .title-bar-action-button .button-label{font-weight:500;font-size:16px;line-height:1.2;color:#fff;white-space:nowrap;height:16px}.mainTitleBar .title-bar-action-button .button-arrow{font-size:14px;width:14px;height:14px;color:#fff;margin-left:auto}.mainTitleBar .actionButton{width:100%}.mainTitleBar .actionButton__expand{font-size:20px!important;color:var(--accent-color);margin-top:5px}.mainTitleBar .title-bar-list-button{background:#0d4261!important;color:#fff!important;border-radius:8px!important;height:44px!important;padding:8px 16px!important;min-width:auto!important;box-shadow:none!important;display:flex!important;align-items:center!important;gap:8px!important;font-weight:500!important;font-size:16px!important;line-height:1.2!important;white-space:nowrap!important;text-decoration:none!important;box-sizing:border-box!important;cursor:pointer!important}.mainTitleBar .title-bar-list-button:focus-visible{outline:3px solid #0d4261!important;outline-offset:3px!important;position:relative;z-index:1}.mainTitleBar .title-bar-list-button:hover{background:#0a3550!important}.mainTitleBar .title-bar-list-button mat-icon{font-size:20px!important;width:20px!important;height:28px!important;color:#fff!important;margin:0!important}.mainTitleBar .title-bar-list-button span{color:#fff!important}.mainTitleBar mat-chip-listbox{display:flex;flex-direction:row;gap:8px;align-items:center}.mainTitleBar mat-chip-listbox mat-chip-option{height:32px!important;min-height:32px!important;border-radius:8px!important;font-size:16px!important;line-height:1.2!important;font-weight:400!important;border:none!important;box-shadow:none!important;transition:all .2s ease;font-family:Lusail,sans-serif!important;padding:0!important}.mainTitleBar mat-chip-listbox mat-chip-option.mdc-evolution-chip--selected,.mainTitleBar mat-chip-listbox mat-chip-option[selected=true],.mainTitleBar mat-chip-listbox mat-chip-option[aria-selected=true]{background:#0d4261!important;color:#fff!important;font-weight:500!important}.mainTitleBar mat-chip-listbox mat-chip-option.mdc-evolution-chip--selected .mdc-evolution-chip__text-label,.mainTitleBar mat-chip-listbox mat-chip-option[selected=true] .mdc-evolution-chip__text-label,.mainTitleBar mat-chip-listbox mat-chip-option[aria-selected=true] .mdc-evolution-chip__text-label{color:#fff!important;font-weight:500!important;padding-left:4px!important}.mainTitleBar mat-chip-listbox mat-chip-option.mdc-evolution-chip--selected mat-icon,.mainTitleBar mat-chip-listbox mat-chip-option[selected=true] mat-icon,.mainTitleBar mat-chip-listbox mat-chip-option[aria-selected=true] mat-icon{color:#fff!important}.mainTitleBar mat-chip-listbox mat-chip-option:not(.mdc-evolution-chip--selected):not([selected=true]):not([aria-selected=true]){background:#e9e9e9!important;color:#000!important;font-weight:400!important}.mainTitleBar mat-chip-listbox mat-chip-option:not(.mdc-evolution-chip--selected):not([selected=true]):not([aria-selected=true]) .mdc-evolution-chip__text-label{color:#000!important;font-weight:400!important}.mainTitleBar mat-chip-listbox mat-chip-option .mdc-evolution-chip__action{padding:8px 12px!important;min-height:32px!important;display:flex!important;align-items:center!important;gap:4px!important}.mainTitleBar mat-chip-listbox mat-chip-option .mdc-evolution-chip__text-label{padding:0!important;font-size:16px!important;line-height:1.2!important;font-family:Lusail,sans-serif!important}.mainTitleBar mat-chip-listbox mat-chip-option mat-icon{font-size:14px!important;width:14px!important;height:14px!important;margin-right:4px!important}.mainTitleBar mat-chip-listbox mat-chip-option ::ng-deep .mdc-evolution-chip__graphic,.mainTitleBar mat-chip-listbox mat-chip-option ::ng-deep .mdc-evolution-chip__checkmark{display:none!important}.mainTitleBar mat-chip-listbox mat-chip-option ::ng-deep .mdc-evolution-chip__action--primary{padding:10px!important}.mainTitleBar mat-chip-listbox mat-chip-option:hover{opacity:.9}.row{display:flex;flex-direction:row;width:100%}.column{display:flex;flex-direction:column;width:auto}.fx-flex-fill{width:100%;height:100%;flex:1 1 auto}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.end-items{align-items:flex-end}.gap-20{gap:20px}@media (max-width: 960px){.mainTitleBar.row.default-align{justify-content:flex-end}}@media (max-width: 768px){.mainTitleBar.row,.mainTitleBar.column{flex-direction:column;align-items:flex-start;gap:20px}.end-items{align-items:flex-start}}@media (max-width: 600px){.gap-20{gap:10px}}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button{--mdc-filled-button-container-color: #000 !important;--mdc-filled-button-label-text-color: #fff !important;--mat-filled-button-state-layer-color: #fff !important;--mdc-filled-button-hover-state-layer-color: #fff !important;--mdc-filled-button-focus-state-layer-color: #fff !important;--mdc-filled-button-pressed-state-layer-color: #fff !important;background-color:#000!important;background:#000!important;color:#fff!important;border:2px solid #000!important;text-decoration:none!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base:hover,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button:hover,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button:hover{background-color:#000!important;background:#000!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base mat-icon,:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base .mat-icon,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button mat-icon,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button .mat-icon,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button mat-icon,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button .mat-icon{color:#fff!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base span,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button span,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button span{color:#fff!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base .mdc-button__label,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button .mdc-button__label,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button .mdc-button__label{color:#fff!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button{--mdc-filled-button-container-color: #000 !important;--mdc-filled-button-label-text-color: #fff !important;--mat-filled-button-state-layer-color: #fff !important;--mdc-filled-button-hover-state-layer-color: #fff !important;--mdc-filled-button-focus-state-layer-color: #fff !important;--mdc-filled-button-pressed-state-layer-color: #fff !important;background-color:#000!important;background:#000!important;color:#fff!important;border:2px solid #000!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base:hover,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button:hover{background-color:#000!important;background:#000!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base .button-icon,:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base .button-label,:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base .button-arrow,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button .button-icon,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button .button-label,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button .button-arrow{color:#fff!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }] }); }
|
|
119
119
|
}
|
|
120
120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TitleBarComponent, decorators: [{
|
|
121
121
|
type: Component,
|
|
@@ -130,7 +130,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
130
130
|
TranslateModule,
|
|
131
131
|
MatChipListbox,
|
|
132
132
|
MatChipOption,
|
|
133
|
-
], template: "<div class=\"row mainTitleBar gap-20 default-align\">\r\n\r\n <div class=\"column flex-auto textTitle\" >\r\n <h2 *ngIf=\"!pageInfo.hideTitle\" style=\"margin: 0;\">\r\n <span class=\"textTitle__titleMode\">{{ titleMode | translate }}</span>\r\n {{ listTitle | translate }}\r\n <span *ngIf=\"titleCorporateAdmin && isRoot\">({{ titleCorporateAdmin }})</span>\r\n {{ extraData }}\r\n </h2>\r\n <span *ngIf=\"subTitle\" class=\"textTitle__subTitle\">{{ subTitle | translate }}</span>\r\n <div *ngIf=\"pageInfo.draftSupported\" class=\"chips-container\">\r\n <mat-chip-listbox #box [attr.aria-label]=\"'BASE_TABLE.documentStatus' | translate\" [multiple]=\"false\" [value]=\"currentIsPending ? 'PENDING' : 'COMPLETED'\" (click)=\"$event.stopPropagation()\" (change)=\"onChipSelectionChange($event, box)\">\r\n <mat-chip-option [selected]=\"!currentIsPending\" [color]=\"'accent'\" value=\"COMPLETED\" (click)=\"$event.stopPropagation()\">\r\n <mat-icon *ngIf=\"!currentIsPending\" style=\"font-size: 14px; width: 14px; height: 14px; margin-right: 4px;\">check</mat-icon>\r\n {{'finished' | translate}}\r\n </mat-chip-option>\r\n <mat-chip-option [selected]=\"currentIsPending\" [color]=\"'accent'\" value=\"PENDING\" (click)=\"$event.stopPropagation()\">\r\n <mat-icon *ngIf=\"currentIsPending\" style=\"font-size: 14px; width: 14px; height: 14px; margin-right: 4px;\">check</mat-icon>\r\n {{'todo' | translate}}\r\n </mat-chip-option>\r\n </mat-chip-listbox>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column end-items gap-20\">\r\n <button type=\"button\" mat-flat-button color=\"primary\" style=\"width: 100px\" *ngIf=\"!hideBackButton\" (click)=\"goBack()\" id=\"title-bar-back-btn\">\r\n <mat-icon color=\"second\">{{ backIcon }}</mat-icon>\r\n <span style=\"font-weight: bold\">{{ 'back' | translate }}</span>\r\n </button>\r\n\r\n <div class=\"row flex-auto gap-20 buttons-wrapper\">\r\n <ng-container *ngIf=\"buttonsDisplayMode === 'dropdown'\">\r\n <button\r\n type=\"button\"\r\n *ngIf=\"buttons && buttons.length > 0\"\r\n mat-flat-button\r\n [matMenuTriggerFor]=\"actionMenu\"\r\n class=\"title-bar-action-button\"\r\n [attr.id]=\"'title-bar-action-button'\">\r\n <div class=\"button-content\">\r\n <mat-icon class=\"button-icon\">{{ buttons[0].icon }}</mat-icon>\r\n <span class=\"button-label\">{{ buttons[0].label | translate }}</span>\r\n <mat-icon class=\"button-arrow\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n </button>\r\n <mat-menu #actionMenu=\"matMenu\" class=\"title-bar-action-menu\">\r\n <ng-container *ngFor=\"let btn of buttons\">\r\n <a\r\n *ngIf=\"resolveButtonHref(btn) as href\"\r\n mat-menu-item\r\n [href]=\"href\"\r\n (click)=\"onButtonClick(btn, $event)\"\r\n [attr.id]=\"btn.id || ('title-bar-menu-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </a>\r\n <button\r\n *ngIf=\"!resolveButtonHref(btn)\"\r\n type=\"button\"\r\n mat-menu-item\r\n (click)=\"onButtonClick(btn)\"\r\n [attr.id]=\"btn.id || ('title-bar-menu-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"buttonsDisplayMode === 'list'\">\r\n <ng-container *ngFor=\"let btn of buttons\">\r\n <a\r\n *ngIf=\"resolveButtonHref(btn) as href\"\r\n mat-flat-button\r\n color=\"primary\"\r\n class=\"title-bar-list-button\"\r\n [href]=\"href\"\r\n (click)=\"onButtonClick(btn, $event)\"\r\n [attr.id]=\"btn.id || ('title-bar-list-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </a>\r\n <button\r\n *ngIf=\"!resolveButtonHref(btn)\"\r\n type=\"button\"\r\n mat-flat-button\r\n color=\"primary\"\r\n class=\"title-bar-list-button\"\r\n (click)=\"onButtonClick(btn)\"\r\n [attr.id]=\"btn.id || ('title-bar-list-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;width:100%}.mainTitleBar{display:flex;width:100%;gap:20px;align-items:center;justify-content:flex-start}.mainTitleBar.row{flex-direction:row;margin-left:0!important;margin-right:0!important;padding-bottom:20px;border-bottom:1px solid #F0EEEE}.mainTitleBar.column{flex-direction:column}.mainTitleBar .textTitle{flex:1 1 0;display:flex;flex-direction:column;width:auto;gap:12px}.mainTitleBar .textTitle h2{margin:0;padding:0;line-height:1.2}.mainTitleBar .textTitle__titleMode{font-weight:200;color:gray}.mainTitleBar .textTitle__subTitle{color:#888;font-size:16px;font-weight:300;font-style:normal}.mainTitleBar .textTitle .chips-container{margin-top:0}.mainTitleBar .end-items{display:flex;flex-direction:row;align-items:center;gap:20px}.mainTitleBar .buttons-wrapper{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-direction:row;text-align-last:end;margin-left:0!important;margin-right:0!important}.mainTitleBar .buttons-wrapper .action-btn{width:210px!important}.mainTitleBar .title-bar-action-button{background:#0d4261!important;color:#fff!important;border-radius:8px!important;height:44px!important;padding:8px 12px!important;min-width:209px!important;box-shadow:none!important}.mainTitleBar .title-bar-action-button:hover{background:#0a3550!important}.mainTitleBar .title-bar-action-button .button-content{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.mainTitleBar .title-bar-action-button .button-icon{font-size:14px;width:14px;height:14px;color:#fff}.mainTitleBar .title-bar-action-button .button-label{font-weight:500;font-size:16px;line-height:1.2;color:#fff;white-space:nowrap;height:16px}.mainTitleBar .title-bar-action-button .button-arrow{font-size:14px;width:14px;height:14px;color:#fff;margin-left:auto}.mainTitleBar .actionButton{width:100%}.mainTitleBar .actionButton__expand{font-size:20px!important;color:var(--accent-color);margin-top:5px}.mainTitleBar .title-bar-list-button{background:#0d4261!important;color:#fff!important;border-radius:8px!important;height:44px!important;padding:8px 16px!important;min-width:auto!important;box-shadow:none!important;display:flex!important;align-items:center!important;gap:8px!important;font-weight:500!important;font-size:16px!important;line-height:1.2!important;white-space:nowrap!important;text-decoration:none!important;box-sizing:border-box!important;outline:none!important;cursor:pointer!important}.mainTitleBar .title-bar-list-button:hover{background:#0a3550!important}.mainTitleBar .title-bar-list-button mat-icon{font-size:20px!important;width:20px!important;height:28px!important;color:#fff!important;margin:0!important}.mainTitleBar .title-bar-list-button span{color:#fff!important}.mainTitleBar mat-chip-listbox{display:flex;flex-direction:row;gap:8px;align-items:center}.mainTitleBar mat-chip-listbox mat-chip-option{height:32px!important;min-height:32px!important;border-radius:8px!important;font-size:16px!important;line-height:1.2!important;font-weight:400!important;border:none!important;box-shadow:none!important;transition:all .2s ease;font-family:Lusail,sans-serif!important;padding:0!important}.mainTitleBar mat-chip-listbox mat-chip-option.mdc-evolution-chip--selected,.mainTitleBar mat-chip-listbox mat-chip-option[selected=true],.mainTitleBar mat-chip-listbox mat-chip-option[aria-selected=true]{background:#0d4261!important;color:#fff!important;font-weight:500!important}.mainTitleBar mat-chip-listbox mat-chip-option.mdc-evolution-chip--selected .mdc-evolution-chip__text-label,.mainTitleBar mat-chip-listbox mat-chip-option[selected=true] .mdc-evolution-chip__text-label,.mainTitleBar mat-chip-listbox mat-chip-option[aria-selected=true] .mdc-evolution-chip__text-label{color:#fff!important;font-weight:500!important;padding-left:4px!important}.mainTitleBar mat-chip-listbox mat-chip-option.mdc-evolution-chip--selected mat-icon,.mainTitleBar mat-chip-listbox mat-chip-option[selected=true] mat-icon,.mainTitleBar mat-chip-listbox mat-chip-option[aria-selected=true] mat-icon{color:#fff!important}.mainTitleBar mat-chip-listbox mat-chip-option:not(.mdc-evolution-chip--selected):not([selected=true]):not([aria-selected=true]){background:#e9e9e9!important;color:#000!important;font-weight:400!important}.mainTitleBar mat-chip-listbox mat-chip-option:not(.mdc-evolution-chip--selected):not([selected=true]):not([aria-selected=true]) .mdc-evolution-chip__text-label{color:#000!important;font-weight:400!important}.mainTitleBar mat-chip-listbox mat-chip-option .mdc-evolution-chip__action{padding:8px 12px!important;min-height:32px!important;display:flex!important;align-items:center!important;gap:4px!important}.mainTitleBar mat-chip-listbox mat-chip-option .mdc-evolution-chip__text-label{padding:0!important;font-size:16px!important;line-height:1.2!important;font-family:Lusail,sans-serif!important}.mainTitleBar mat-chip-listbox mat-chip-option mat-icon{font-size:14px!important;width:14px!important;height:14px!important;margin-right:4px!important}.mainTitleBar mat-chip-listbox mat-chip-option ::ng-deep .mdc-evolution-chip__graphic,.mainTitleBar mat-chip-listbox mat-chip-option ::ng-deep .mdc-evolution-chip__checkmark{display:none!important}.mainTitleBar mat-chip-listbox mat-chip-option ::ng-deep .mdc-evolution-chip__action--primary{padding:10px!important}.mainTitleBar mat-chip-listbox mat-chip-option:hover{opacity:.9}.row{display:flex;flex-direction:row;width:100%}.column{display:flex;flex-direction:column;width:auto}.fx-flex-fill{width:100%;height:100%;flex:1 1 auto}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.end-items{align-items:flex-end}.gap-20{gap:20px}@media (max-width: 960px){.mainTitleBar.row.default-align{justify-content:flex-end}}@media (max-width: 768px){.mainTitleBar.row,.mainTitleBar.column{flex-direction:column;align-items:flex-start;gap:20px}.end-items{align-items:flex-start}}@media (max-width: 600px){.gap-20{gap:10px}}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button{--mdc-filled-button-container-color: #000 !important;--mdc-filled-button-label-text-color: #fff !important;--mat-filled-button-state-layer-color: #fff !important;--mdc-filled-button-hover-state-layer-color: #fff !important;--mdc-filled-button-focus-state-layer-color: #fff !important;--mdc-filled-button-pressed-state-layer-color: #fff !important;background-color:#000!important;background:#000!important;color:#fff!important;border:2px solid #000!important;text-decoration:none!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base:hover,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button:hover,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button:hover{background-color:#000!important;background:#000!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base mat-icon,:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base .mat-icon,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button mat-icon,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button .mat-icon,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button mat-icon,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button .mat-icon{color:#fff!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base span,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button span,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button span{color:#fff!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base .mdc-button__label,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button .mdc-button__label,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button .mdc-button__label{color:#fff!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button{--mdc-filled-button-container-color: #000 !important;--mdc-filled-button-label-text-color: #fff !important;--mat-filled-button-state-layer-color: #fff !important;--mdc-filled-button-hover-state-layer-color: #fff !important;--mdc-filled-button-focus-state-layer-color: #fff !important;--mdc-filled-button-pressed-state-layer-color: #fff !important;background-color:#000!important;background:#000!important;color:#fff!important;border:2px solid #000!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base:hover,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button:hover{background-color:#000!important;background:#000!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base .button-icon,:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base .button-label,:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base .button-arrow,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button .button-icon,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button .button-label,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button .button-arrow{color:#fff!important}\n"] }]
|
|
133
|
+
], template: "<div class=\"row mainTitleBar gap-20 default-align\">\r\n\r\n <div class=\"column flex-auto textTitle\" >\r\n <h2 *ngIf=\"!pageInfo.hideTitle\" style=\"margin: 0;\">\r\n <span class=\"textTitle__titleMode\">{{ titleMode | translate }}</span>\r\n {{ listTitle | translate }}\r\n <span *ngIf=\"titleCorporateAdmin && isRoot\">({{ titleCorporateAdmin }})</span>\r\n {{ extraData }}\r\n </h2>\r\n <span *ngIf=\"subTitle\" class=\"textTitle__subTitle\">{{ subTitle | translate }}</span>\r\n <div *ngIf=\"pageInfo.draftSupported\" class=\"chips-container\">\r\n <mat-chip-listbox #box [attr.aria-label]=\"'BASE_TABLE.documentStatus' | translate\" [multiple]=\"false\" [value]=\"currentIsPending ? 'PENDING' : 'COMPLETED'\" (click)=\"$event.stopPropagation()\" (change)=\"onChipSelectionChange($event, box)\">\r\n <mat-chip-option [selected]=\"!currentIsPending\" [color]=\"'accent'\" value=\"COMPLETED\" (click)=\"$event.stopPropagation()\">\r\n <mat-icon *ngIf=\"!currentIsPending\" style=\"font-size: 14px; width: 14px; height: 14px; margin-right: 4px;\">check</mat-icon>\r\n {{'finished' | translate}}\r\n </mat-chip-option>\r\n <mat-chip-option [selected]=\"currentIsPending\" [color]=\"'accent'\" value=\"PENDING\" (click)=\"$event.stopPropagation()\">\r\n <mat-icon *ngIf=\"currentIsPending\" style=\"font-size: 14px; width: 14px; height: 14px; margin-right: 4px;\">check</mat-icon>\r\n {{'todo' | translate}}\r\n </mat-chip-option>\r\n </mat-chip-listbox>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column end-items gap-20\">\r\n <button type=\"button\" mat-flat-button color=\"primary\" style=\"width: 100px\" *ngIf=\"!hideBackButton\" (click)=\"goBack()\" id=\"title-bar-back-btn\">\r\n <mat-icon color=\"second\">{{ backIcon }}</mat-icon>\r\n <span style=\"font-weight: bold\">{{ 'back' | translate }}</span>\r\n </button>\r\n\r\n <div class=\"row flex-auto gap-20 buttons-wrapper\">\r\n <ng-container *ngIf=\"buttonsDisplayMode === 'dropdown'\">\r\n <button\r\n type=\"button\"\r\n *ngIf=\"buttons && buttons.length > 0\"\r\n mat-flat-button\r\n [matMenuTriggerFor]=\"actionMenu\"\r\n class=\"title-bar-action-button\"\r\n [attr.id]=\"'title-bar-action-button'\">\r\n <div class=\"button-content\">\r\n <mat-icon class=\"button-icon\">{{ buttons[0].icon }}</mat-icon>\r\n <span class=\"button-label\">{{ buttons[0].label | translate }}</span>\r\n <mat-icon class=\"button-arrow\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n </button>\r\n <mat-menu #actionMenu=\"matMenu\" class=\"title-bar-action-menu\">\r\n <ng-container *ngFor=\"let btn of buttons\">\r\n <a\r\n *ngIf=\"resolveButtonHref(btn) as href\"\r\n mat-menu-item\r\n [href]=\"href\"\r\n (click)=\"onButtonClick(btn, $event)\"\r\n [attr.id]=\"btn.id || ('title-bar-menu-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </a>\r\n <button\r\n *ngIf=\"!resolveButtonHref(btn)\"\r\n type=\"button\"\r\n mat-menu-item\r\n (click)=\"onButtonClick(btn)\"\r\n [attr.id]=\"btn.id || ('title-bar-menu-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"buttonsDisplayMode === 'list'\">\r\n <ng-container *ngFor=\"let btn of buttons\">\r\n <a\r\n *ngIf=\"resolveButtonHref(btn) as href\"\r\n mat-flat-button\r\n color=\"primary\"\r\n class=\"title-bar-list-button\"\r\n [href]=\"href\"\r\n (click)=\"onButtonClick(btn, $event)\"\r\n [attr.id]=\"btn.id || ('title-bar-list-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </a>\r\n <button\r\n *ngIf=\"!resolveButtonHref(btn)\"\r\n type=\"button\"\r\n mat-flat-button\r\n color=\"primary\"\r\n class=\"title-bar-list-button\"\r\n (click)=\"onButtonClick(btn)\"\r\n [attr.id]=\"btn.id || ('title-bar-list-btn-' + (btn.action || btn.label || btn.key))\">\r\n <mat-icon>{{ btn.icon }}</mat-icon>\r\n <span>{{ btn.label | translate }}</span>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;width:100%}.mainTitleBar{display:flex;width:100%;gap:20px;align-items:center;justify-content:flex-start}.mainTitleBar.row{flex-direction:row;margin-left:0!important;margin-right:0!important;padding-bottom:20px;border-bottom:1px solid #F0EEEE}.mainTitleBar.column{flex-direction:column}.mainTitleBar .textTitle{flex:1 1 0;display:flex;flex-direction:column;width:auto;gap:12px}.mainTitleBar .textTitle h2{margin:0;padding:0;line-height:1.2}.mainTitleBar .textTitle__titleMode{font-weight:200;color:gray}.mainTitleBar .textTitle__subTitle{color:#888;font-size:16px;font-weight:300;font-style:normal}.mainTitleBar .textTitle .chips-container{margin-top:0}.mainTitleBar .end-items{display:flex;flex-direction:row;align-items:center;gap:20px}.mainTitleBar .buttons-wrapper{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-direction:row;text-align-last:end;margin-left:0!important;margin-right:0!important}.mainTitleBar .buttons-wrapper .action-btn{width:210px!important}.mainTitleBar .title-bar-action-button{background:#0d4261!important;color:#fff!important;border-radius:8px!important;height:44px!important;padding:8px 12px!important;min-width:209px!important;box-shadow:none!important}.mainTitleBar .title-bar-action-button:focus-visible{outline:3px solid #fff!important;outline-offset:3px!important;position:relative;z-index:1}.mainTitleBar .title-bar-action-button:hover{background:#0a3550!important}.mainTitleBar .title-bar-action-button .button-content{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.mainTitleBar .title-bar-action-button .button-icon{font-size:14px;width:14px;height:14px;color:#fff}.mainTitleBar .title-bar-action-button .button-label{font-weight:500;font-size:16px;line-height:1.2;color:#fff;white-space:nowrap;height:16px}.mainTitleBar .title-bar-action-button .button-arrow{font-size:14px;width:14px;height:14px;color:#fff;margin-left:auto}.mainTitleBar .actionButton{width:100%}.mainTitleBar .actionButton__expand{font-size:20px!important;color:var(--accent-color);margin-top:5px}.mainTitleBar .title-bar-list-button{background:#0d4261!important;color:#fff!important;border-radius:8px!important;height:44px!important;padding:8px 16px!important;min-width:auto!important;box-shadow:none!important;display:flex!important;align-items:center!important;gap:8px!important;font-weight:500!important;font-size:16px!important;line-height:1.2!important;white-space:nowrap!important;text-decoration:none!important;box-sizing:border-box!important;cursor:pointer!important}.mainTitleBar .title-bar-list-button:focus-visible{outline:3px solid #0d4261!important;outline-offset:3px!important;position:relative;z-index:1}.mainTitleBar .title-bar-list-button:hover{background:#0a3550!important}.mainTitleBar .title-bar-list-button mat-icon{font-size:20px!important;width:20px!important;height:28px!important;color:#fff!important;margin:0!important}.mainTitleBar .title-bar-list-button span{color:#fff!important}.mainTitleBar mat-chip-listbox{display:flex;flex-direction:row;gap:8px;align-items:center}.mainTitleBar mat-chip-listbox mat-chip-option{height:32px!important;min-height:32px!important;border-radius:8px!important;font-size:16px!important;line-height:1.2!important;font-weight:400!important;border:none!important;box-shadow:none!important;transition:all .2s ease;font-family:Lusail,sans-serif!important;padding:0!important}.mainTitleBar mat-chip-listbox mat-chip-option.mdc-evolution-chip--selected,.mainTitleBar mat-chip-listbox mat-chip-option[selected=true],.mainTitleBar mat-chip-listbox mat-chip-option[aria-selected=true]{background:#0d4261!important;color:#fff!important;font-weight:500!important}.mainTitleBar mat-chip-listbox mat-chip-option.mdc-evolution-chip--selected .mdc-evolution-chip__text-label,.mainTitleBar mat-chip-listbox mat-chip-option[selected=true] .mdc-evolution-chip__text-label,.mainTitleBar mat-chip-listbox mat-chip-option[aria-selected=true] .mdc-evolution-chip__text-label{color:#fff!important;font-weight:500!important;padding-left:4px!important}.mainTitleBar mat-chip-listbox mat-chip-option.mdc-evolution-chip--selected mat-icon,.mainTitleBar mat-chip-listbox mat-chip-option[selected=true] mat-icon,.mainTitleBar mat-chip-listbox mat-chip-option[aria-selected=true] mat-icon{color:#fff!important}.mainTitleBar mat-chip-listbox mat-chip-option:not(.mdc-evolution-chip--selected):not([selected=true]):not([aria-selected=true]){background:#e9e9e9!important;color:#000!important;font-weight:400!important}.mainTitleBar mat-chip-listbox mat-chip-option:not(.mdc-evolution-chip--selected):not([selected=true]):not([aria-selected=true]) .mdc-evolution-chip__text-label{color:#000!important;font-weight:400!important}.mainTitleBar mat-chip-listbox mat-chip-option .mdc-evolution-chip__action{padding:8px 12px!important;min-height:32px!important;display:flex!important;align-items:center!important;gap:4px!important}.mainTitleBar mat-chip-listbox mat-chip-option .mdc-evolution-chip__text-label{padding:0!important;font-size:16px!important;line-height:1.2!important;font-family:Lusail,sans-serif!important}.mainTitleBar mat-chip-listbox mat-chip-option mat-icon{font-size:14px!important;width:14px!important;height:14px!important;margin-right:4px!important}.mainTitleBar mat-chip-listbox mat-chip-option ::ng-deep .mdc-evolution-chip__graphic,.mainTitleBar mat-chip-listbox mat-chip-option ::ng-deep .mdc-evolution-chip__checkmark{display:none!important}.mainTitleBar mat-chip-listbox mat-chip-option ::ng-deep .mdc-evolution-chip__action--primary{padding:10px!important}.mainTitleBar mat-chip-listbox mat-chip-option:hover{opacity:.9}.row{display:flex;flex-direction:row;width:100%}.column{display:flex;flex-direction:column;width:auto}.fx-flex-fill{width:100%;height:100%;flex:1 1 auto}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.end-items{align-items:flex-end}.gap-20{gap:20px}@media (max-width: 960px){.mainTitleBar.row.default-align{justify-content:flex-end}}@media (max-width: 768px){.mainTitleBar.row,.mainTitleBar.column{flex-direction:column;align-items:flex-start;gap:20px}.end-items{align-items:flex-start}}@media (max-width: 600px){.gap-20{gap:10px}}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button{--mdc-filled-button-container-color: #000 !important;--mdc-filled-button-label-text-color: #fff !important;--mat-filled-button-state-layer-color: #fff !important;--mdc-filled-button-hover-state-layer-color: #fff !important;--mdc-filled-button-focus-state-layer-color: #fff !important;--mdc-filled-button-pressed-state-layer-color: #fff !important;background-color:#000!important;background:#000!important;color:#fff!important;border:2px solid #000!important;text-decoration:none!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base:hover,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button:hover,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button:hover{background-color:#000!important;background:#000!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base mat-icon,:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base .mat-icon,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button mat-icon,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button .mat-icon,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button mat-icon,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button .mat-icon{color:#fff!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base span,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button span,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button span{color:#fff!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-list-button.mat-mdc-button-base .mdc-button__label,:host-context(html.high-contrast) .mainTitleBar a.title-bar-list-button .mdc-button__label,:host-context(html.high-contrast) .mainTitleBar button.title-bar-list-button .mdc-button__label{color:#fff!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button{--mdc-filled-button-container-color: #000 !important;--mdc-filled-button-label-text-color: #fff !important;--mat-filled-button-state-layer-color: #fff !important;--mdc-filled-button-hover-state-layer-color: #fff !important;--mdc-filled-button-focus-state-layer-color: #fff !important;--mdc-filled-button-pressed-state-layer-color: #fff !important;background-color:#000!important;background:#000!important;color:#fff!important;border:2px solid #000!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base:hover,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button:hover{background-color:#000!important;background:#000!important}:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base .button-icon,:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base .button-label,:host-context(html.high-contrast) .mainTitleBar .title-bar-action-button.mat-mdc-button-base .button-arrow,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button .button-icon,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button .button-label,:host-context(html.high-contrast) .mainTitleBar button.title-bar-action-button .button-arrow{color:#fff!important}\n"] }]
|
|
134
134
|
}], ctorParameters: () => [{ type: i1.Location }, { type: i2.Directionality }], propDecorators: { pageTitle: [{
|
|
135
135
|
type: Input
|
|
136
136
|
}], showExtractButton: [{
|
|
@@ -182,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
182
182
|
}], viewModeChanged: [{
|
|
183
183
|
type: Output
|
|
184
184
|
}] } });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludm9pY2VxL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdGl0bGUtYmFyL3RpdGxlLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3RpdGxlLWJhci90aXRsZS1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBVyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHcEQsT0FBTyxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBb0J0RSxNQUFNLE9BQU8saUJBQWlCO0lBd0U1QixZQUFvQixRQUFpQixFQUNqQixHQUFtQjtRQURuQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFFBQUcsR0FBSCxHQUFHLENBQWdCO1FBdkV2QyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBR3ZCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQU1uQyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBTXZCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFNdEIsY0FBUyxH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QUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLE1BQU07Z0JBSVAsa0JBQWtCO3NCQURqQixNQUFNO2dCQUtQLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxTQUFTO3NCQURSLEtBQUs7Z0JBT04sbUJBQW1CO3NCQURsQixLQUFLO2dCQUtOLGNBQWM7c0JBRGIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0UsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0xvY2F0aW9uLCBOZ0Zvck9mLCBOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHtNYXRCdXR0b259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcclxuaW1wb3J0IHtNYXRNZW51LCBNYXRNZW51SXRlbSwgTWF0TWVudVRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQge0RpcmVjdGlvbmFsaXR5fSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcclxuaW1wb3J0IHtCdXR0b25BY3Rpb25TZXR0aW5ncywgUGFnZUluZm99IGZyb20gXCIuLi8uLi9iYXNlLW1vZGVsXCI7XHJcbmltcG9ydCB7TWF0Q2hpcExpc3Rib3gsIE1hdENoaXBPcHRpb259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGlwc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdGl0bGUtYmFyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nSWYsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uLFxyXG4gICAgTWF0TWVudUl0ZW0sXHJcbiAgICBNYXRNZW51LFxyXG4gICAgTmdGb3JPZixcclxuICAgIE1hdE1lbnVUcmlnZ2VyLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgTWF0Q2hpcExpc3Rib3gsXHJcbiAgICBNYXRDaGlwT3B0aW9uLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RpdGxlLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGl0bGUtYmFyLmNvbXBvbmVudC5jc3MnLCAndGl0bGUtYmFyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRpdGxlQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpXHJcbiAgcGFnZVRpdGxlOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dFeHRyYWN0QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdG90YWxFbGVtZW50cz86IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICB0aXRsZU1vZGU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBhZ2VJbmZvOiBQYWdlSW5mbztcclxuXHJcbiAgQElucHV0KClcclxuICBzdWJUaXRsZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc3RhdHVzRGVzYz86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBuZXdBY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gIEBJbnB1dCgpIC8vIEB0cy1pZ25vcmVcclxuICBleHRyYUJ1dHRvbjogc3RyaW5nO1xyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBzaG93RGV0YWlsczogYW55ID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0ltcG9ydCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dCdXR0b24gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgbmV3QWN0aW9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgZXh0cmFCdXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgZXh0cmFjdFJlcG9ydCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KClcclxuICBleHRyYURhdGEgPSAnJztcclxuXHJcbiAgbGlzdFRpdGxlID0gJyc7XHJcbiAgbmV3QnV0dG9uID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGl0bGVDb3Jwb3JhdGVBZG1pbjogc3RyaW5nID0gJyc7XHJcblxyXG4gIGlzUm9vdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgaGlkZUJhY2tCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBidXR0b25zOiBCdXR0b25BY3Rpb25TZXR0aW5nc1tdID0gW107XHJcbiAgQElucHV0KCkgYnV0dG9uc0Rpc3BsYXlNb2RlOiAnZHJvcGRvd24nIHwgJ2xpc3QnID0gJ2Ryb3Bkb3duJztcclxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QnV0dG9uQWN0aW9uU2V0dGluZ3M+KCk7XHJcbiAgQElucHV0KCkgZHJhZnRTdXBwb3J0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1BlbmRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBvblZpZXdNb2RlQ2hhbmdlPzogKGlzUGVuZGluZzogYm9vbGVhbikgPT4gdm9pZDtcclxuICBAT3V0cHV0KCkgdmlld01vZGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBwcml2YXRlIF9pc1BlbmRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhdGlvbjpMb2NhdGlvbixcclxuICAgICAgICAgICAgICBwcml2YXRlIGRpcjogRGlyZWN0aW9uYWxpdHkpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5saXN0VGl0bGUgPSB0aGlzLnBhZ2VUaXRsZTtcclxuICAgIHRoaXMubmV3QnV0dG9uID0gdGhpcy5leHRyYUJ1dHRvbjtcclxuICAgIC8vIHRoaXMuaXNSb290ID0gdGhpcy5hdXRoU2VydmljZS5pc1Jvb3RPcmcoKTtcclxuICAgIHRoaXMuaXNSb290ID0gZmFsc2U7XHJcbiAgICB0aGlzLl9pc1BlbmRpbmcgPSB0aGlzLmlzUGVuZGluZztcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzW1wicGFnZVRpdGxlXCJdICYmICFjaGFuZ2VzW1wicGFnZVRpdGxlXCJdLmlzRmlyc3RDaGFuZ2UoKSApIHtcclxuICAgICAgdGhpcy5saXN0VGl0bGUgPSB0aGlzLnBhZ2VUaXRsZTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzW1wiaXNQZW5kaW5nXCJdKSB7XHJcbiAgICAgIHRoaXMuX2lzUGVuZGluZyA9IHRoaXMuaXNQZW5kaW5nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGN1cnJlbnRJc1BlbmRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNQZW5kaW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGJhY2tJY29uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXIudmFsdWUgPT09ICdydGwnID8gJ2Fycm93X2JhY2snIDogJ2Fycm93X2ZvcndhcmQnO1xyXG4gIH1cclxuXHJcbiAgcHVibGlzaEV2ZW50KCkge1xyXG4gICAgdGhpcy5uZXdBY3Rpb25DbGlja2VkLmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZG9FeHRyYWN0UmVwb3J0KHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZXh0cmFjdFJlcG9ydC5lbWl0KHZhbHVlKTtcclxuICB9XHJcbiAgcHVibGlzaEV4dHJhQnV0dG9uRXZlbnQoKSB7XHJcbiAgICB0aGlzLmV4dHJhQnV0dG9uQ2xpY2tlZC5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgZ29CYWNrKCkge1xyXG4gICAgdGhpcy5sb2NhdGlvbi5iYWNrKClcclxuICB9XHJcblxyXG4gIHJlc29sdmVCdXR0b25IcmVmKGJ0bjogQnV0dG9uQWN0aW9uU2V0dGluZ3MpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmIChidG4uc2hvd0NvbW1lbnREaWFsb2cpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBjb25zdCBsaCA9IGJ0bi5saW5rSHJlZjtcclxuICAgIGlmIChsaCA9PSBudWxsIHx8IGxoID09PSAnJykge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgbGggPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgcmVzb2x2ZWQgPSBsaCh1bmRlZmluZWQgYXMgdW5rbm93bik7XHJcbiAgICAgIGNvbnN0IHMgPSByZXNvbHZlZCAhPSBudWxsID8gU3RyaW5nKHJlc29sdmVkKS50cmltKCkgOiAnJztcclxuICAgICAgcmV0dXJuIHMubGVuZ3RoID4gMCA/IHMgOiBudWxsO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcyA9IFN0cmluZyhsaCkudHJpbSgpO1xyXG4gICAgcmV0dXJuIHMubGVuZ3RoID4gMCA/IHMgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgb25CdXR0b25DbGljayhidG46IEJ1dHRvbkFjdGlvblNldHRpbmdzLCBldmVudD86IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IGhyZWYgPSB0aGlzLnJlc29sdmVCdXR0b25IcmVmKGJ0bik7XHJcbiAgICBpZiAoaHJlZiAmJiBldmVudCkge1xyXG4gICAgICBpZiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5IHx8IGV2ZW50LmJ1dHRvbiA9PT0gMSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5idXR0b25DbGlja2VkLmVtaXQoYnRuKTtcclxuICB9XHJcblxyXG4gIG9uVmlld01vZGVDaGFuZ2VkKGlzUGVuZGluZzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5faXNQZW5kaW5nID0gaXNQZW5kaW5nO1xyXG4gICAgICAgIGlmICh0aGlzLm9uVmlld01vZGVDaGFuZ2UpIHtcclxuICAgICAgdGhpcy5vblZpZXdNb2RlQ2hhbmdlKGlzUGVuZGluZyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZpZXdNb2RlQ2hhbmdlZC5lbWl0KGlzUGVuZGluZyk7XHJcbiAgfVxyXG5cclxuICBvbkNoaXBTZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IGFueSwgbGlzdGJveD86IE1hdENoaXBMaXN0Ym94KTogdm9pZCB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnZhbHVlO1xyXG4gICAgaWYgKHZhbHVlICE9PSAnQ09NUExFVEVEJyAmJiB2YWx1ZSAhPT0gJ1BFTkRJTkcnKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gbGlzdGJveCAmJiAobGlzdGJveC52YWx1ZSA9IHRoaXMuX2lzUGVuZGluZyA/ICdQRU5ESU5HJyA6ICdDT01QTEVURUQnKSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9pc1BlbmRpbmcgIT09ICh2YWx1ZSA9PT0gJ1BFTkRJTkcnKSkgdGhpcy5vblZpZXdNb2RlQ2hhbmdlZCh2YWx1ZSA9PT0gJ1BFTkRJTkcnKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvdyBtYWluVGl0bGVCYXIgZ2FwLTIwIGRlZmF1bHQtYWxpZ25cIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbHVtbiBmbGV4LWF1dG8gdGV4dFRpdGxlXCIgPlxyXG4gICAgPGgyICpuZ0lmPVwiIXBhZ2VJbmZvLmhpZGVUaXRsZVwiIHN0eWxlPVwibWFyZ2luOiAwO1wiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInRleHRUaXRsZV9fdGl0bGVNb2RlXCI+e3sgdGl0bGVNb2RlIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICB7eyBsaXN0VGl0bGUgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPHNwYW4gKm5nSWY9XCJ0aXRsZUNvcnBvcmF0ZUFkbWluICYmIGlzUm9vdFwiPih7eyB0aXRsZUNvcnBvcmF0ZUFkbWluIH19KTwvc3Bhbj5cclxuICAgICAge3sgZXh0cmFEYXRhIH19XHJcbiAgICA8L2gyPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJzdWJUaXRsZVwiIGNsYXNzPVwidGV4dFRpdGxlX19zdWJUaXRsZVwiPnt7IHN1YlRpdGxlIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgPGRpdiAqbmdJZj1cInBhZ2VJbmZvLmRyYWZ0U3VwcG9ydGVkXCIgY2xhc3M9XCJjaGlwcy1jb250YWluZXJcIj5cclxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggI2JveCBbYXR0ci5hcmlhLWxhYmVsXT1cIidCQVNFX1RBQkxFLmRvY3VtZW50U3RhdHVzJyB8IHRyYW5zbGF0ZVwiIFttdWx0aXBsZV09XCJmYWxzZVwiIFt2YWx1ZV09XCJjdXJyZW50SXNQZW5kaW5nID8gJ1BFTkRJTkcnIDogJ0NPTVBMRVRFRCdcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgKGNoYW5nZSk9XCJvbkNoaXBTZWxlY3Rpb25DaGFuZ2UoJGV2ZW50LCBib3gpXCI+XHJcbiAgICAgICAgPG1hdC1jaGlwLW9wdGlvbiBbc2VsZWN0ZWRdPVwiIWN1cnJlbnRJc1BlbmRpbmdcIiBbY29sb3JdPVwiJ2FjY2VudCdcIiB2YWx1ZT1cIkNPTVBMRVRFRFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFjdXJyZW50SXNQZW5kaW5nXCIgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7IHdpZHRoOiAxNHB4OyBoZWlnaHQ6IDE0cHg7IG1hcmdpbi1yaWdodDogNHB4O1wiPmNoZWNrPC9tYXQtaWNvbj5cclxuICAgICAgICAgIHt7J2ZpbmlzaGVkJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9tYXQtY2hpcC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1jaGlwLW9wdGlvbiBbc2VsZWN0ZWRdPVwiY3VycmVudElzUGVuZGluZ1wiIFtjb2xvcl09XCInYWNjZW50J1wiIHZhbHVlPVwiUEVORElOR1wiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImN1cnJlbnRJc1BlbmRpbmdcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDsgd2lkdGg6IDE0cHg7IGhlaWdodDogMTRweDsgbWFyZ2luLXJpZ2h0OiA0cHg7XCI+Y2hlY2s8L21hdC1pY29uPlxyXG4gICAgICAgICAge3sndG9kbycgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgIDwvbWF0LWNoaXAtb3B0aW9uPlxyXG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbHVtbiBlbmQtaXRlbXMgZ2FwLTIwXCI+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJ3aWR0aDogMTAwcHhcIiAqbmdJZj1cIiFoaWRlQmFja0J1dHRvblwiIChjbGljayk9XCJnb0JhY2soKVwiIGlkPVwidGl0bGUtYmFyLWJhY2stYnRuXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInNlY29uZFwiPnt7IGJhY2tJY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogYm9sZFwiPnt7ICdiYWNrJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgZmxleC1hdXRvIGdhcC0yMCBidXR0b25zLXdyYXBwZXJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJ1dHRvbnNEaXNwbGF5TW9kZSA9PT0gJ2Ryb3Bkb3duJ1wiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgKm5nSWY9XCJidXR0b25zICYmIGJ1dHRvbnMubGVuZ3RoID4gMFwiXHJcbiAgICAgICAgICBtYXQtZmxhdC1idXR0b25cclxuICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJhY3Rpb25NZW51XCJcclxuICAgICAgICAgIGNsYXNzPVwidGl0bGUtYmFyLWFjdGlvbi1idXR0b25cIlxyXG4gICAgICAgICAgW2F0dHIuaWRdPVwiJ3RpdGxlLWJhci1hY3Rpb24tYnV0dG9uJ1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImJ1dHRvbi1pY29uXCI+e3sgYnV0dG9uc1swXS5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tbGFiZWxcIj57eyBidXR0b25zWzBdLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJidXR0b24tYXJyb3dcIj5rZXlib2FyZF9hcnJvd19kb3duPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxtYXQtbWVudSAjYWN0aW9uTWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cInRpdGxlLWJhci1hY3Rpb24tbWVudVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnRuIG9mIGJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAqbmdJZj1cInJlc29sdmVCdXR0b25IcmVmKGJ0bikgYXMgaHJlZlwiXHJcbiAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICAgIFtocmVmXT1cImhyZWZcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKGJ0biwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiYnRuLmlkIHx8ICgndGl0bGUtYmFyLW1lbnUtYnRuLScgKyAoYnRuLmFjdGlvbiB8fCBidG4ubGFiZWwgfHwgYnRuLmtleSkpXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uPnt7IGJ0bi5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8c3Bhbj57eyBidG4ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiIXJlc29sdmVCdXR0b25IcmVmKGJ0bilcIlxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGljayhidG4pXCJcclxuICAgICAgICAgICAgICBbYXR0ci5pZF09XCJidG4uaWQgfHwgKCd0aXRsZS1iYXItbWVudS1idG4tJyArIChidG4uYWN0aW9uIHx8IGJ0bi5sYWJlbCB8fCBidG4ua2V5KSlcIj5cclxuICAgICAgICAgICAgICA8bWF0LWljb24+e3sgYnRuLmljb24gfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDxzcGFuPnt7IGJ0bi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJidXR0b25zRGlzcGxheU1vZGUgPT09ICdsaXN0J1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJ0biBvZiBidXR0b25zXCI+XHJcbiAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAqbmdJZj1cInJlc29sdmVCdXR0b25IcmVmKGJ0bikgYXMgaHJlZlwiXHJcbiAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRpdGxlLWJhci1saXN0LWJ1dHRvblwiXHJcbiAgICAgICAgICAgIFtocmVmXT1cImhyZWZcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGljayhidG4sICRldmVudClcIlxyXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJidG4uaWQgfHwgKCd0aXRsZS1iYXItbGlzdC1idG4tJyArIChidG4uYWN0aW9uIHx8IGJ0bi5sYWJlbCB8fCBidG4ua2V5KSlcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPnt7IGJ0bi5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgYnRuLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAqbmdJZj1cIiFyZXNvbHZlQnV0dG9uSHJlZihidG4pXCJcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRpdGxlLWJhci1saXN0LWJ1dHRvblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKGJ0bilcIlxyXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJidG4uaWQgfHwgKCd0aXRsZS1iYXItbGlzdC1idG4tJyArIChidG4uYWN0aW9uIHx8IGJ0bi5sYWJlbCB8fCBidG4ua2V5KSlcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPnt7IGJ0bi5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgYnRuLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludm9pY2VxL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdGl0bGUtYmFyL3RpdGxlLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL3RpdGxlLWJhci90aXRsZS1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBVyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHcEQsT0FBTyxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBb0J0RSxNQUFNLE9BQU8saUJBQWlCO0lBd0U1QixZQUFvQixRQUFpQixFQUNqQixHQUFtQjtRQURuQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFFBQUcsR0FBSCxHQUFHLENBQWdCO1FBdkV2QyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBR3ZCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQU1uQyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBTXZCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFNdEIsY0FBUyxH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QUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLE1BQU07Z0JBSVAsa0JBQWtCO3NCQURqQixNQUFNO2dCQUtQLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxTQUFTO3NCQURSLEtBQUs7Z0JBT04sbUJBQW1CO3NCQURsQixLQUFLO2dCQUtOLGNBQWM7c0JBRGIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0UsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0xvY2F0aW9uLCBOZ0Zvck9mLCBOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHtNYXRCdXR0b259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcclxuaW1wb3J0IHtNYXRNZW51LCBNYXRNZW51SXRlbSwgTWF0TWVudVRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQge0RpcmVjdGlvbmFsaXR5fSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcclxuaW1wb3J0IHtCdXR0b25BY3Rpb25TZXR0aW5ncywgUGFnZUluZm99IGZyb20gXCIuLi8uLi9iYXNlLW1vZGVsXCI7XHJcbmltcG9ydCB7TWF0Q2hpcExpc3Rib3gsIE1hdENoaXBPcHRpb259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGlwc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdGl0bGUtYmFyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nSWYsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uLFxyXG4gICAgTWF0TWVudUl0ZW0sXHJcbiAgICBNYXRNZW51LFxyXG4gICAgTmdGb3JPZixcclxuICAgIE1hdE1lbnVUcmlnZ2VyLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgTWF0Q2hpcExpc3Rib3gsXHJcbiAgICBNYXRDaGlwT3B0aW9uLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RpdGxlLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGl0bGUtYmFyLmNvbXBvbmVudC5jc3MnLCAndGl0bGUtYmFyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRpdGxlQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpXHJcbiAgcGFnZVRpdGxlOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dFeHRyYWN0QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdG90YWxFbGVtZW50cz86IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICB0aXRsZU1vZGU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBhZ2VJbmZvOiBQYWdlSW5mbztcclxuXHJcbiAgQElucHV0KClcclxuICBzdWJUaXRsZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc3RhdHVzRGVzYz86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBuZXdBY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gIEBJbnB1dCgpIC8vIEB0cy1pZ25vcmVcclxuICBleHRyYUJ1dHRvbjogc3RyaW5nO1xyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBzaG93RGV0YWlsczogYW55ID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0ltcG9ydCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dCdXR0b24gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgbmV3QWN0aW9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgZXh0cmFCdXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgZXh0cmFjdFJlcG9ydCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KClcclxuICBleHRyYURhdGEgPSAnJztcclxuXHJcbiAgbGlzdFRpdGxlID0gJyc7XHJcbiAgbmV3QnV0dG9uID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGl0bGVDb3Jwb3JhdGVBZG1pbjogc3RyaW5nID0gJyc7XHJcblxyXG4gIGlzUm9vdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgaGlkZUJhY2tCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBidXR0b25zOiBCdXR0b25BY3Rpb25TZXR0aW5nc1tdID0gW107XHJcbiAgQElucHV0KCkgYnV0dG9uc0Rpc3BsYXlNb2RlOiAnZHJvcGRvd24nIHwgJ2xpc3QnID0gJ2Ryb3Bkb3duJztcclxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QnV0dG9uQWN0aW9uU2V0dGluZ3M+KCk7XHJcbiAgQElucHV0KCkgZHJhZnRTdXBwb3J0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1BlbmRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBvblZpZXdNb2RlQ2hhbmdlPzogKGlzUGVuZGluZzogYm9vbGVhbikgPT4gdm9pZDtcclxuICBAT3V0cHV0KCkgdmlld01vZGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBwcml2YXRlIF9pc1BlbmRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhdGlvbjpMb2NhdGlvbixcclxuICAgICAgICAgICAgICBwcml2YXRlIGRpcjogRGlyZWN0aW9uYWxpdHkpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5saXN0VGl0bGUgPSB0aGlzLnBhZ2VUaXRsZTtcclxuICAgIHRoaXMubmV3QnV0dG9uID0gdGhpcy5leHRyYUJ1dHRvbjtcclxuICAgIC8vIHRoaXMuaXNSb290ID0gdGhpcy5hdXRoU2VydmljZS5pc1Jvb3RPcmcoKTtcclxuICAgIHRoaXMuaXNSb290ID0gZmFsc2U7XHJcbiAgICB0aGlzLl9pc1BlbmRpbmcgPSB0aGlzLmlzUGVuZGluZztcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzW1wicGFnZVRpdGxlXCJdICYmICFjaGFuZ2VzW1wicGFnZVRpdGxlXCJdLmlzRmlyc3RDaGFuZ2UoKSApIHtcclxuICAgICAgdGhpcy5saXN0VGl0bGUgPSB0aGlzLnBhZ2VUaXRsZTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzW1wiaXNQZW5kaW5nXCJdKSB7XHJcbiAgICAgIHRoaXMuX2lzUGVuZGluZyA9IHRoaXMuaXNQZW5kaW5nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGN1cnJlbnRJc1BlbmRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNQZW5kaW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGJhY2tJY29uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXIudmFsdWUgPT09ICdydGwnID8gJ2Fycm93X2JhY2snIDogJ2Fycm93X2ZvcndhcmQnO1xyXG4gIH1cclxuXHJcbiAgcHVibGlzaEV2ZW50KCkge1xyXG4gICAgdGhpcy5uZXdBY3Rpb25DbGlja2VkLmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZG9FeHRyYWN0UmVwb3J0KHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZXh0cmFjdFJlcG9ydC5lbWl0KHZhbHVlKTtcclxuICB9XHJcbiAgcHVibGlzaEV4dHJhQnV0dG9uRXZlbnQoKSB7XHJcbiAgICB0aGlzLmV4dHJhQnV0dG9uQ2xpY2tlZC5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgZ29CYWNrKCkge1xyXG4gICAgdGhpcy5sb2NhdGlvbi5iYWNrKClcclxuICB9XHJcblxyXG4gIHJlc29sdmVCdXR0b25IcmVmKGJ0bjogQnV0dG9uQWN0aW9uU2V0dGluZ3MpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmIChidG4uc2hvd0NvbW1lbnREaWFsb2cpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBjb25zdCBsaCA9IGJ0bi5saW5rSHJlZjtcclxuICAgIGlmIChsaCA9PSBudWxsIHx8IGxoID09PSAnJykge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgbGggPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgcmVzb2x2ZWQgPSBsaCh1bmRlZmluZWQgYXMgdW5rbm93bik7XHJcbiAgICAgIGNvbnN0IHMgPSByZXNvbHZlZCAhPSBudWxsID8gU3RyaW5nKHJlc29sdmVkKS50cmltKCkgOiAnJztcclxuICAgICAgcmV0dXJuIHMubGVuZ3RoID4gMCA/IHMgOiBudWxsO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcyA9IFN0cmluZyhsaCkudHJpbSgpO1xyXG4gICAgcmV0dXJuIHMubGVuZ3RoID4gMCA/IHMgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgb25CdXR0b25DbGljayhidG46IEJ1dHRvbkFjdGlvblNldHRpbmdzLCBldmVudD86IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IGhyZWYgPSB0aGlzLnJlc29sdmVCdXR0b25IcmVmKGJ0bik7XHJcbiAgICBpZiAoaHJlZiAmJiBldmVudCkge1xyXG4gICAgICBpZiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5IHx8IGV2ZW50LmJ1dHRvbiA9PT0gMSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5idXR0b25DbGlja2VkLmVtaXQoYnRuKTtcclxuICB9XHJcblxyXG4gIG9uVmlld01vZGVDaGFuZ2VkKGlzUGVuZGluZzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5faXNQZW5kaW5nID0gaXNQZW5kaW5nO1xyXG4gICAgICAgIGlmICh0aGlzLm9uVmlld01vZGVDaGFuZ2UpIHtcclxuICAgICAgdGhpcy5vblZpZXdNb2RlQ2hhbmdlKGlzUGVuZGluZyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZpZXdNb2RlQ2hhbmdlZC5lbWl0KGlzUGVuZGluZyk7XHJcbiAgfVxyXG5cclxuICBvbkNoaXBTZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IGFueSwgbGlzdGJveD86IE1hdENoaXBMaXN0Ym94KTogdm9pZCB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnZhbHVlO1xyXG4gICAgaWYgKHZhbHVlICE9PSAnQ09NUExFVEVEJyAmJiB2YWx1ZSAhPT0gJ1BFTkRJTkcnKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gbGlzdGJveCAmJiAobGlzdGJveC52YWx1ZSA9IHRoaXMuX2lzUGVuZGluZyA/ICdQRU5ESU5HJyA6ICdDT01QTEVURUQnKSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9pc1BlbmRpbmcgIT09ICh2YWx1ZSA9PT0gJ1BFTkRJTkcnKSkgdGhpcy5vblZpZXdNb2RlQ2hhbmdlZCh2YWx1ZSA9PT0gJ1BFTkRJTkcnKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvdyBtYWluVGl0bGVCYXIgZ2FwLTIwIGRlZmF1bHQtYWxpZ25cIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbHVtbiBmbGV4LWF1dG8gdGV4dFRpdGxlXCIgPlxyXG4gICAgPGgyICpuZ0lmPVwiIXBhZ2VJbmZvLmhpZGVUaXRsZVwiIHN0eWxlPVwibWFyZ2luOiAwO1wiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInRleHRUaXRsZV9fdGl0bGVNb2RlXCI+e3sgdGl0bGVNb2RlIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICB7eyBsaXN0VGl0bGUgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPHNwYW4gKm5nSWY9XCJ0aXRsZUNvcnBvcmF0ZUFkbWluICYmIGlzUm9vdFwiPih7eyB0aXRsZUNvcnBvcmF0ZUFkbWluIH19KTwvc3Bhbj5cclxuICAgICAge3sgZXh0cmFEYXRhIH19XHJcbiAgICA8L2gyPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJzdWJUaXRsZVwiIGNsYXNzPVwidGV4dFRpdGxlX19zdWJUaXRsZVwiPnt7IHN1YlRpdGxlIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgPGRpdiAqbmdJZj1cInBhZ2VJbmZvLmRyYWZ0U3VwcG9ydGVkXCIgY2xhc3M9XCJjaGlwcy1jb250YWluZXJcIj5cclxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggI2JveCBbYXR0ci5hcmlhLWxhYmVsXT1cIidCQVNFX1RBQkxFLmRvY3VtZW50U3RhdHVzJyB8IHRyYW5zbGF0ZVwiIFttdWx0aXBsZV09XCJmYWxzZVwiIFt2YWx1ZV09XCJjdXJyZW50SXNQZW5kaW5nID8gJ1BFTkRJTkcnIDogJ0NPTVBMRVRFRCdcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgKGNoYW5nZSk9XCJvbkNoaXBTZWxlY3Rpb25DaGFuZ2UoJGV2ZW50LCBib3gpXCI+XHJcbiAgICAgICAgPG1hdC1jaGlwLW9wdGlvbiBbc2VsZWN0ZWRdPVwiIWN1cnJlbnRJc1BlbmRpbmdcIiBbY29sb3JdPVwiJ2FjY2VudCdcIiB2YWx1ZT1cIkNPTVBMRVRFRFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFjdXJyZW50SXNQZW5kaW5nXCIgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7IHdpZHRoOiAxNHB4OyBoZWlnaHQ6IDE0cHg7IG1hcmdpbi1yaWdodDogNHB4O1wiPmNoZWNrPC9tYXQtaWNvbj5cclxuICAgICAgICAgIHt7J2ZpbmlzaGVkJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9tYXQtY2hpcC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1jaGlwLW9wdGlvbiBbc2VsZWN0ZWRdPVwiY3VycmVudElzUGVuZGluZ1wiIFtjb2xvcl09XCInYWNjZW50J1wiIHZhbHVlPVwiUEVORElOR1wiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImN1cnJlbnRJc1BlbmRpbmdcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDsgd2lkdGg6IDE0cHg7IGhlaWdodDogMTRweDsgbWFyZ2luLXJpZ2h0OiA0cHg7XCI+Y2hlY2s8L21hdC1pY29uPlxyXG4gICAgICAgICAge3sndG9kbycgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgIDwvbWF0LWNoaXAtb3B0aW9uPlxyXG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbHVtbiBlbmQtaXRlbXMgZ2FwLTIwXCI+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJ3aWR0aDogMTAwcHhcIiAqbmdJZj1cIiFoaWRlQmFja0J1dHRvblwiIChjbGljayk9XCJnb0JhY2soKVwiIGlkPVwidGl0bGUtYmFyLWJhY2stYnRuXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInNlY29uZFwiPnt7IGJhY2tJY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogYm9sZFwiPnt7ICdiYWNrJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgZmxleC1hdXRvIGdhcC0yMCBidXR0b25zLXdyYXBwZXJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJ1dHRvbnNEaXNwbGF5TW9kZSA9PT0gJ2Ryb3Bkb3duJ1wiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgKm5nSWY9XCJidXR0b25zICYmIGJ1dHRvbnMubGVuZ3RoID4gMFwiXHJcbiAgICAgICAgICBtYXQtZmxhdC1idXR0b25cclxuICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJhY3Rpb25NZW51XCJcclxuICAgICAgICAgIGNsYXNzPVwidGl0bGUtYmFyLWFjdGlvbi1idXR0b25cIlxyXG4gICAgICAgICAgW2F0dHIuaWRdPVwiJ3RpdGxlLWJhci1hY3Rpb24tYnV0dG9uJ1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImJ1dHRvbi1pY29uXCI+e3sgYnV0dG9uc1swXS5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tbGFiZWxcIj57eyBidXR0b25zWzBdLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJidXR0b24tYXJyb3dcIj5rZXlib2FyZF9hcnJvd19kb3duPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxtYXQtbWVudSAjYWN0aW9uTWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cInRpdGxlLWJhci1hY3Rpb24tbWVudVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnRuIG9mIGJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAqbmdJZj1cInJlc29sdmVCdXR0b25IcmVmKGJ0bikgYXMgaHJlZlwiXHJcbiAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICAgIFtocmVmXT1cImhyZWZcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKGJ0biwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiYnRuLmlkIHx8ICgndGl0bGUtYmFyLW1lbnUtYnRuLScgKyAoYnRuLmFjdGlvbiB8fCBidG4ubGFiZWwgfHwgYnRuLmtleSkpXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uPnt7IGJ0bi5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8c3Bhbj57eyBidG4ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiIXJlc29sdmVCdXR0b25IcmVmKGJ0bilcIlxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGljayhidG4pXCJcclxuICAgICAgICAgICAgICBbYXR0ci5pZF09XCJidG4uaWQgfHwgKCd0aXRsZS1iYXItbWVudS1idG4tJyArIChidG4uYWN0aW9uIHx8IGJ0bi5sYWJlbCB8fCBidG4ua2V5KSlcIj5cclxuICAgICAgICAgICAgICA8bWF0LWljb24+e3sgYnRuLmljb24gfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDxzcGFuPnt7IGJ0bi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJidXR0b25zRGlzcGxheU1vZGUgPT09ICdsaXN0J1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJ0biBvZiBidXR0b25zXCI+XHJcbiAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAqbmdJZj1cInJlc29sdmVCdXR0b25IcmVmKGJ0bikgYXMgaHJlZlwiXHJcbiAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRpdGxlLWJhci1saXN0LWJ1dHRvblwiXHJcbiAgICAgICAgICAgIFtocmVmXT1cImhyZWZcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGljayhidG4sICRldmVudClcIlxyXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJidG4uaWQgfHwgKCd0aXRsZS1iYXItbGlzdC1idG4tJyArIChidG4uYWN0aW9uIHx8IGJ0bi5sYWJlbCB8fCBidG4ua2V5KSlcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPnt7IGJ0bi5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgYnRuLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAqbmdJZj1cIiFyZXNvbHZlQnV0dG9uSHJlZihidG4pXCJcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRpdGxlLWJhci1saXN0LWJ1dHRvblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKGJ0bilcIlxyXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJidG4uaWQgfHwgKCd0aXRsZS1iYXItbGlzdC1idG4tJyArIChidG4uYWN0aW9uIHx8IGJ0bi5sYWJlbCB8fCBidG4ua2V5KSlcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPnt7IGJ0bi5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgYnRuLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -40,9 +40,12 @@ export function buildFormFields(fields, item) {
|
|
|
40
40
|
? []
|
|
41
41
|
: '';
|
|
42
42
|
const extractedValue = item ? extractFieldName(item, field.property) : undefined;
|
|
43
|
-
|
|
43
|
+
let validators = field.required
|
|
44
44
|
? [...(field.validators || []), Validators.required]
|
|
45
|
-
: field.validators || [];
|
|
45
|
+
: [...(field.validators || [])];
|
|
46
|
+
if (field.type === 'number' && !field.allowNegative) {
|
|
47
|
+
validators = [...validators, Validators.min(0)];
|
|
48
|
+
}
|
|
46
49
|
fieldsControls[field.property] = extractedValue !== undefined && extractedValue !== null
|
|
47
50
|
? [extractedValue, validators]
|
|
48
51
|
: [emptyValue, validators];
|
|
@@ -98,4 +101,4 @@ export function getWfActionId(stateType) {
|
|
|
98
101
|
}
|
|
99
102
|
return actionId;
|
|
100
103
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludm9pY2VxL3VpLWxpYi9zcmMvbGliL3V0aWxzL2Jhc2UtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLGVBQWUsRUFBWSxhQUFhLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxNQUFNLE9BQU8sU0FBUztJQUF0QjtRQUVFLGFBQVEsR0FBYSxlQUFlLENBQUM7SUE0QnZDLENBQUM7SUExQkMsUUFBUSxDQUFDLE1BQVc7UUFDbEIsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLGdCQUFnQixFQUFFLENBQUM7WUFDckMsT0FBTywwQkFBMEIsQ0FBQTtRQUNuQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQTtRQUNuRSxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUN4SSxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQVcsRUFBRSxPQUFPO1FBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1B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LFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGaWVsZEluZm8sIEVNUFRZX1BBR0VfSU5GTywgUGFnZUluZm8sIEZpbHRlclJlcXVlc3QsIFNBVkVfQU5EX0NPTVBMRVRFfSBmcm9tIFwiLi4vYmFzZS1tb2RlbFwiO1xyXG5pbXBvcnQge0FQUFJPVkUsIE5FVywgU0FWRX0gZnJvbSBcIi4uL2Jhc2UtbW9kZWwvZG8tYWN0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtWYWxpZGF0b3JzfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlVXRpbHMge1xyXG5cclxuICBwYWdlSW5mbzogUGFnZUluZm8gPSBFTVBUWV9QQUdFX0lORk87XHJcblxyXG4gIGxhYmVsS2V5KGNvbHVtbjogYW55KSB7XHJcbiAgICBpZiAoY29sdW1uLnR5cGUgPT09ICd3b3JrZmxvd1N0YXR1cycpIHtcclxuICAgICAgcmV0dXJuICdJTlZFTlRPUlkud29ya2Zsb3dTdGF0dXMnXHJcbiAgICB9XHJcbiAgICBpZiAoIWNvbHVtbi5wcm9wZXJ0eS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb25maWd1cmVkS2V5ID0gY29sdW1uLmxhYmVsID8gY29sdW1uLmxhYmVsIDogY29sdW1uLnByb3BlcnR5XHJcbiAgICByZXR1cm4gY29uZmlndXJlZEtleS5zdGFydHNXaXRoKHRoaXMucGFnZUluZm8ubGFiZWxzU2VjdGlvbikgPyBgJHtjb25maWd1cmVkS2V5fWAgOiBgJHt0aGlzLnBhZ2VJbmZvLmxhYmVsc1NlY3Rpb259LiR7Y29uZmlndXJlZEtleX1gO1xyXG4gIH1cclxuXHJcbiAgbGFiZWxLZXlCeVZhbHVlKGNvbHVtbjogYW55LCBlbGVtZW50KSB7XHJcbiAgICBpZiAoIWNvbHVtbi5wcm9wZXJ0eS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhpcy5wYWdlSW5mby5sYWJlbHNTZWN0aW9ufS4ke2VsZW1lbnRbY29sdW1uLnByb3BlcnR5XX1gXHJcbiAgfVxyXG5cclxuICBmb3JtYXRUaW1lVG9EYXRlKHY6IGFueSl7XHJcbiAgICBjb25zdCBmcm9tVGltZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICBpZiAodikge1xyXG4gICAgICBsZXQgc3BsaXQgPSB2LnNwbGl0KFwiOlwiKTtcclxuICAgICAgZnJvbVRpbWUuc2V0SG91cnMoc3BsaXRbMF0sIHNwbGl0WzFdKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgRGF0ZShmcm9tVGltZS5nZXRUaW1lKCkpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRm9ybUZpZWxkcyhmaWVsZHM6IEZpZWxkSW5mb1tdLCBpdGVtOmFueSl7XHJcbiAgbGV0IGZpZWxkc0NvbnRyb2xzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGZvciAobGV0IGZpZWxkIG9mIGZpZWxkcykge1xyXG4gICAgaWYgKGZpZWxkLnR5cGUgIT09ICdzcGFjZXInKSB7XHJcbiAgICAgIGNvbnN0IGVtcHR5VmFsdWUgPVxyXG4gICAgICAgIGZpZWxkLnR5cGUgPT09ICdsb29rdXAnIHx8IGZpZWxkLnR5cGUgPT09ICdtdWx0aS1zZWxlY3QnXHJcbiAgICAgICAgICA/IG51bGxcclxuICAgICAgICAgIDogZmllbGQudHlwZSA9PT0gJ211bHRpLXN0YXRlLWNoZWNrYm94J1xyXG4gICAgICAgICAgICA/IFtdXHJcbiAgICAgICAgICAgIDogJyc7XHJcbiAgICAgIGNvbnN0IGV4dHJhY3RlZFZhbHVlID0gaXRlbSA/IGV4dHJhY3RGaWVsZE5hbWUoaXRlbSwgZmllbGQucHJvcGVydHkpIDogdW5kZWZpbmVkO1xyXG4gICAgICBjb25zdCB2YWxpZGF0b3JzID0gZmllbGQucmVxdWlyZWRcclxuICAgICAgICA/IFsuLi4oZmllbGQudmFsaWRhdG9ycyB8fCBbXSksIFZhbGlkYXRvcnMucmVxdWlyZWRdXHJcbiAgICAgICAgOiBmaWVsZC52YWxpZGF0b3JzIHx8IFtdO1xyXG5cclxuICAgICAgZmllbGRzQ29udHJvbHNbZmllbGQucHJvcGVydHldID0gZXh0cmFjdGVkVmFsdWUgIT09IHVuZGVmaW5lZCAmJiBleHRyYWN0ZWRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gW2V4dHJhY3RlZFZhbHVlLCB2YWxpZGF0b3JzXVxyXG4gICAgICAgIDogW2VtcHR5VmFsdWUsIHZhbGlkYXRvcnNdO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gZmllbGRzQ29udHJvbHM7XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkSXRlbXNMaXN0KHNlYXJjaFN0cjogc3RyaW5nLCBhcGlQYXRoPzogc3RyaW5nLCBjYXNjYWRlZEJ5UHJvcGVydHk/OnN0cmluZyl7XHJcbiAgY29uc3QgZmlsdGVyUmVxdWVzdCA6IEZpbHRlclJlcXVlc3QgPSBuZXcgRmlsdGVyUmVxdWVzdCgpO1xyXG4gIC8vIHJldHVybiB7XHJcbiAgZmlsdGVyUmVxdWVzdC5hcGlVcmkgPSBjYXNjYWRlZEJ5UHJvcGVydHkgPyBgJHthcGlQYXRofS8ke2Nhc2NhZGVkQnlQcm9wZXJ0eX1gIDphcGlQYXRoO1xyXG4gIGZpbHRlclJlcXVlc3Quc2VhcmNoU3RyPSBzZWFyY2hTdHJcclxuICBmaWx0ZXJSZXF1ZXN0LnBhZ2VJbmRleCA9IDA7XHJcbiAgZmlsdGVyUmVxdWVzdC5wYWdlU2l6ZT0gMTA7XHJcbiAgZmlsdGVyUmVxdWVzdC5zb3J0S2V5PSAnaWQnO1xyXG4gIGZpbHRlclJlcXVlc3Quc29ydERpcmVjdGlvbiA9IFwiREVTQ1wiIGFzIGNvbnN0O1xyXG4gIC8vIH1cclxuICByZXR1cm4gZmlsdGVyUmVxdWVzdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RGaWVsZE5hbWUoZWxlbWVudDogYW55LCBwcm9wZXJ0eTogc3RyaW5nKSB7XHJcbiAgaWYgKHByb3BlcnR5LmluY2x1ZGVzKCcuJykpIHtcclxuICAgIHJldHVybiBwcm9wZXJ0eS5zcGxpdCgnLicpLnJlZHVjZSgoYWNjLCBwYXJ0KSA9PiBhY2MgJiYgYWNjW3BhcnRdLCBlbGVtZW50KTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIGVsZW1lbnRbcHJvcGVydHldO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFBvc2l0aXZlV2ZBY3Rpb25LZXkoc3RhdGVUeXBlOiBhbnkpIHtcclxuICBpZiAgKHN0YXRlVHlwZSA9PT0gXCJDT01QTEVURURcIikge1xyXG4gICAgcmV0dXJuIFwic2F2ZVwiO1xyXG4gIH0gZWxzZSBpZiAgKHN0YXRlVHlwZSA9PT0gXCJQRU5ESU5HXCIgfHwgc3RhdGVUeXBlID09PSBcIk5FV1wiKSB7XHJcbiAgICByZXR1cm4gXCJhcHByb3ZlXCI7XHJcbiAgfVxyXG4gIHJldHVybiBcInNhdmVcIjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldE5lZ2F0aXZlV2ZBY3Rpb25LZXkoc3RhdGVUeXBlOiBhbnkpIHtcclxuICBpZiAgKHN0YXRlVHlwZSA9PT0gXCJDT01QTEVURURcIiApIHtcclxuICAgIHJldHVybiBcImNhbmNlbFwiO1xyXG4gIH0gZWxzZSBpZiAgKHN0YXRlVHlwZSA9PT0gXCJQRU5ESU5HXCJ8fCBzdGF0ZVR5cGUgPT09IFwiTkVXXCIpIHtcclxuICAgIHJldHVybiBcInJlamVjdFwiO1xyXG4gIH1cclxuICByZXR1cm4gXCJjYW5jZWxcIjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFdmQWN0aW9uSWQoc3RhdGVUeXBlKSB7XHJcbiAgbGV0IGFjdGlvbklkID0gTkVXO1xyXG4gIGlmICAoc3RhdGVUeXBlID09PSBcIkNPTVBMRVRFRFwiKSB7XHJcbiAgICBhY3Rpb25JZCA9ICBTQVZFO1xyXG4gIH0gZWxzZSBpZiAgKHN0YXRlVHlwZSA9PT0gXCJQRU5ESU5HXCIgfHwgc3RhdGVUeXBlID09PSBcIk5FV1wiKSB7XHJcbiAgICBhY3Rpb25JZCA9ICBBUFBST1ZFO1xyXG4gIH1cclxuICByZXR1cm4gYWN0aW9uSWQ7XHJcbn1cclxuXHJcbiJdfQ==
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludm9pY2VxL3VpLWxpYi9zcmMvbGliL3V0aWxzL2Jhc2UtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLGVBQWUsRUFBWSxhQUFhLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxNQUFNLE9BQU8sU0FBUztJQUF0QjtRQUVFLGFBQVEsR0FBYSxlQUFlLENBQUM7SUE0QnZDLENBQUM7SUExQkMsUUFBUSxDQUFDLE1BQVc7UUFDbEIsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLGdCQUFnQixFQUFFLENBQUM7WUFDckMsT0FBTywwQkFBMEIsQ0FBQTtRQUNuQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQTtRQUNuRSxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUN4SSxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQVcsRUFBRSxPQUFPO1FBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1B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QUFHLENBQUM7SUFDbkIsSUFBSyxTQUFTLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDL0IsUUFBUSxHQUFJLElBQUksQ0FBQztJQUNuQixDQUFDO1NBQU0sSUFBSyxTQUFTLEtBQUssU0FBUyxJQUFJLFNBQVMsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUMzRCxRQUFRLEdBQUksT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGaWVsZEluZm8sIEVNUFRZX1BBR0VfSU5GTywgUGFnZUluZm8sIEZpbHRlclJlcXVlc3QsIFNBVkVfQU5EX0NPTVBMRVRFfSBmcm9tIFwiLi4vYmFzZS1tb2RlbFwiO1xyXG5pbXBvcnQge0FQUFJPVkUsIE5FVywgU0FWRX0gZnJvbSBcIi4uL2Jhc2UtbW9kZWwvZG8tYWN0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtWYWxpZGF0b3JzfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlVXRpbHMge1xyXG5cclxuICBwYWdlSW5mbzogUGFnZUluZm8gPSBFTVBUWV9QQUdFX0lORk87XHJcblxyXG4gIGxhYmVsS2V5KGNvbHVtbjogYW55KSB7XHJcbiAgICBpZiAoY29sdW1uLnR5cGUgPT09ICd3b3JrZmxvd1N0YXR1cycpIHtcclxuICAgICAgcmV0dXJuICdJTlZFTlRPUlkud29ya2Zsb3dTdGF0dXMnXHJcbiAgICB9XHJcbiAgICBpZiAoIWNvbHVtbi5wcm9wZXJ0eS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb25maWd1cmVkS2V5ID0gY29sdW1uLmxhYmVsID8gY29sdW1uLmxhYmVsIDogY29sdW1uLnByb3BlcnR5XHJcbiAgICByZXR1cm4gY29uZmlndXJlZEtleS5zdGFydHNXaXRoKHRoaXMucGFnZUluZm8ubGFiZWxzU2VjdGlvbikgPyBgJHtjb25maWd1cmVkS2V5fWAgOiBgJHt0aGlzLnBhZ2VJbmZvLmxhYmVsc1NlY3Rpb259LiR7Y29uZmlndXJlZEtleX1gO1xyXG4gIH1cclxuXHJcbiAgbGFiZWxLZXlCeVZhbHVlKGNvbHVtbjogYW55LCBlbGVtZW50KSB7XHJcbiAgICBpZiAoIWNvbHVtbi5wcm9wZXJ0eS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhpcy5wYWdlSW5mby5sYWJlbHNTZWN0aW9ufS4ke2VsZW1lbnRbY29sdW1uLnByb3BlcnR5XX1gXHJcbiAgfVxyXG5cclxuICBmb3JtYXRUaW1lVG9EYXRlKHY6IGFueSl7XHJcbiAgICBjb25zdCBmcm9tVGltZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICBpZiAodikge1xyXG4gICAgICBsZXQgc3BsaXQgPSB2LnNwbGl0KFwiOlwiKTtcclxuICAgICAgZnJvbVRpbWUuc2V0SG91cnMoc3BsaXRbMF0sIHNwbGl0WzFdKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgRGF0ZShmcm9tVGltZS5nZXRUaW1lKCkpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRm9ybUZpZWxkcyhmaWVsZHM6IEZpZWxkSW5mb1tdLCBpdGVtOmFueSl7XHJcbiAgbGV0IGZpZWxkc0NvbnRyb2xzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGZvciAobGV0IGZpZWxkIG9mIGZpZWxkcykge1xyXG4gICAgaWYgKGZpZWxkLnR5cGUgIT09ICdzcGFjZXInKSB7XHJcbiAgICAgIGNvbnN0IGVtcHR5VmFsdWUgPVxyXG4gICAgICAgIGZpZWxkLnR5cGUgPT09ICdsb29rdXAnIHx8IGZpZWxkLnR5cGUgPT09ICdtdWx0aS1zZWxlY3QnXHJcbiAgICAgICAgICA/IG51bGxcclxuICAgICAgICAgIDogZmllbGQudHlwZSA9PT0gJ211bHRpLXN0YXRlLWNoZWNrYm94J1xyXG4gICAgICAgICAgICA/IFtdXHJcbiAgICAgICAgICAgIDogJyc7XHJcbiAgICAgIGNvbnN0IGV4dHJhY3RlZFZhbHVlID0gaXRlbSA/IGV4dHJhY3RGaWVsZE5hbWUoaXRlbSwgZmllbGQucHJvcGVydHkpIDogdW5kZWZpbmVkO1xyXG4gICAgICBsZXQgdmFsaWRhdG9ycyA9IGZpZWxkLnJlcXVpcmVkXHJcbiAgICAgICAgPyBbLi4uKGZpZWxkLnZhbGlkYXRvcnMgfHwgW10pLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxyXG4gICAgICAgIDogWy4uLihmaWVsZC52YWxpZGF0b3JzIHx8IFtdKV07XHJcbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnbnVtYmVyJyAmJiAhZmllbGQuYWxsb3dOZWdhdGl2ZSkge1xyXG4gICAgICAgIHZhbGlkYXRvcnMgPSBbLi4udmFsaWRhdG9ycywgVmFsaWRhdG9ycy5taW4oMCldO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmaWVsZHNDb250cm9sc1tmaWVsZC5wcm9wZXJ0eV0gPSBleHRyYWN0ZWRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIGV4dHJhY3RlZFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBbZXh0cmFjdGVkVmFsdWUsIHZhbGlkYXRvcnNdXHJcbiAgICAgICAgOiBbZW1wdHlWYWx1ZSwgdmFsaWRhdG9yc107XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBmaWVsZHNDb250cm9scztcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRJdGVtc0xpc3Qoc2VhcmNoU3RyOiBzdHJpbmcsIGFwaVBhdGg/OiBzdHJpbmcsIGNhc2NhZGVkQnlQcm9wZXJ0eT86c3RyaW5nKXtcclxuICBjb25zdCBmaWx0ZXJSZXF1ZXN0IDogRmlsdGVyUmVxdWVzdCA9IG5ldyBGaWx0ZXJSZXF1ZXN0KCk7XHJcbiAgLy8gcmV0dXJuIHtcclxuICBmaWx0ZXJSZXF1ZXN0LmFwaVVyaSA9IGNhc2NhZGVkQnlQcm9wZXJ0eSA/IGAke2FwaVBhdGh9LyR7Y2FzY2FkZWRCeVByb3BlcnR5fWAgOmFwaVBhdGg7XHJcbiAgZmlsdGVyUmVxdWVzdC5zZWFyY2hTdHI9IHNlYXJjaFN0clxyXG4gIGZpbHRlclJlcXVlc3QucGFnZUluZGV4ID0gMDtcclxuICBmaWx0ZXJSZXF1ZXN0LnBhZ2VTaXplPSAxMDtcclxuICBmaWx0ZXJSZXF1ZXN0LnNvcnRLZXk9ICdpZCc7XHJcbiAgZmlsdGVyUmVxdWVzdC5zb3J0RGlyZWN0aW9uID0gXCJERVNDXCIgYXMgY29uc3Q7XHJcbiAgLy8gfVxyXG4gIHJldHVybiBmaWx0ZXJSZXF1ZXN0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdEZpZWxkTmFtZShlbGVtZW50OiBhbnksIHByb3BlcnR5OiBzdHJpbmcpIHtcclxuICBpZiAocHJvcGVydHkuaW5jbHVkZXMoJy4nKSkge1xyXG4gICAgcmV0dXJuIHByb3BlcnR5LnNwbGl0KCcuJykucmVkdWNlKChhY2MsIHBhcnQpID0+IGFjYyAmJiBhY2NbcGFydF0sIGVsZW1lbnQpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gZWxlbWVudFtwcm9wZXJ0eV07XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9zaXRpdmVXZkFjdGlvbktleShzdGF0ZVR5cGU6IGFueSkge1xyXG4gIGlmICAoc3RhdGVUeXBlID09PSBcIkNPTVBMRVRFRFwiKSB7XHJcbiAgICByZXR1cm4gXCJzYXZlXCI7XHJcbiAgfSBlbHNlIGlmICAoc3RhdGVUeXBlID09PSBcIlBFTkRJTkdcIiB8fCBzdGF0ZVR5cGUgPT09IFwiTkVXXCIpIHtcclxuICAgIHJldHVybiBcImFwcHJvdmVcIjtcclxuICB9XHJcbiAgcmV0dXJuIFwic2F2ZVwiO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmVnYXRpdmVXZkFjdGlvbktleShzdGF0ZVR5cGU6IGFueSkge1xyXG4gIGlmICAoc3RhdGVUeXBlID09PSBcIkNPTVBMRVRFRFwiICkge1xyXG4gICAgcmV0dXJuIFwiY2FuY2VsXCI7XHJcbiAgfSBlbHNlIGlmICAoc3RhdGVUeXBlID09PSBcIlBFTkRJTkdcInx8IHN0YXRlVHlwZSA9PT0gXCJORVdcIikge1xyXG4gICAgcmV0dXJuIFwicmVqZWN0XCI7XHJcbiAgfVxyXG4gIHJldHVybiBcImNhbmNlbFwiO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2ZBY3Rpb25JZChzdGF0ZVR5cGUpIHtcclxuICBsZXQgYWN0aW9uSWQgPSBORVc7XHJcbiAgaWYgIChzdGF0ZVR5cGUgPT09IFwiQ09NUExFVEVEXCIpIHtcclxuICAgIGFjdGlvbklkID0gIFNBVkU7XHJcbiAgfSBlbHNlIGlmICAoc3RhdGVUeXBlID09PSBcIlBFTkRJTkdcIiB8fCBzdGF0ZVR5cGUgPT09IFwiTkVXXCIpIHtcclxuICAgIGFjdGlvbklkID0gIEFQUFJPVkU7XHJcbiAgfVxyXG4gIHJldHVybiBhY3Rpb25JZDtcclxufVxyXG5cclxuIl19
|