@netgrif/components-core 6.2.0-rc.8 → 6.2.1
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/commons/schema.d.ts +2 -0
- package/esm2020/assets/i18n/de.json +12 -0
- package/esm2020/assets/i18n/en.json +12 -0
- package/esm2020/assets/i18n/sk.json +13 -1
- package/esm2020/commons/schema.mjs +1 -1
- package/esm2020/commons/view-class-info.mjs +9 -1
- package/esm2020/lib/admin/public-api.mjs +2 -2
- package/esm2020/lib/admin/role-assignment-ldap-group/abstract-ldap-group-role-assignment.component.mjs +88 -0
- package/esm2020/lib/authentication/services/methods/basic-authentication/basic-authentication.service.mjs +10 -2
- package/esm2020/lib/data-fields/button-field/abstract-button-field.component.mjs +2 -12
- package/esm2020/lib/data-fields/button-field/models/button-field.mjs +2 -18
- package/esm2020/lib/data-fields/enumeration-field/models/dynamic-enumeration-field.mjs +4 -5
- package/esm2020/lib/data-fields/enumeration-field/models/enumeration-field.mjs +2 -22
- package/esm2020/lib/data-fields/file-field/abstract-file-field.component.mjs +30 -13
- package/esm2020/lib/data-fields/file-list-field/abstract-file-list-field.component.mjs +35 -15
- package/esm2020/lib/data-fields/i18n-field/abstract-i18n-field.component.mjs +1 -4
- package/esm2020/lib/data-fields/models/abstract-data-field.mjs +9 -1
- package/esm2020/lib/data-fields/multichoice-field/models/multichoice-field.mjs +2 -17
- package/esm2020/lib/data-fields/multichoice-field/multichoice-autocomplete-field/abstract-multichoice-autocomplete-field-component.component.mjs +79 -0
- package/esm2020/lib/data-fields/public-api.mjs +4 -1
- package/esm2020/lib/data-fields/text-field/models/text-area-field.mjs +4 -5
- package/esm2020/lib/data-fields/text-field/models/text-field.mjs +2 -14
- package/esm2020/lib/data-fields/user-list-field/abstract-user-list-field.component.mjs +75 -0
- package/esm2020/lib/data-fields/user-list-field/models/user-list-field.mjs +11 -0
- package/esm2020/lib/data-fields/user-list-field/models/user-list-value.mjs +36 -0
- package/esm2020/lib/dialog/components/alert-dialog/alert-dialog.component.mjs +4 -4
- package/esm2020/lib/dialog/components/confirm-dialog/confirm-dialog.component.mjs +4 -4
- package/esm2020/lib/dialog/components/prompt-dialog/prompt-dialog.component.mjs +4 -4
- package/esm2020/lib/dialog/models/abstract-dialog.component.mjs +29 -0
- package/esm2020/lib/header/abstract-header-service.mjs +25 -9
- package/esm2020/lib/header/abstract-header.component.mjs +7 -5
- package/esm2020/lib/header/case-header/case-header.service.mjs +2 -2
- package/esm2020/lib/header/services/overflow.service.mjs +2 -2
- package/esm2020/lib/header/task-header/task-header.service.mjs +7 -4
- package/esm2020/lib/header/workflow-header/workflow-header.service.mjs +11 -8
- package/esm2020/lib/navigation/breadcrumbs/abstract-breadcrumbs.component.mjs +69 -0
- package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +7 -6
- package/esm2020/lib/navigation/public-api.mjs +2 -1
- package/esm2020/lib/navigation/service/uri.service.mjs +5 -1
- package/esm2020/lib/panel/abstract/panel-with-header-binding.mjs +17 -5
- package/esm2020/lib/panel/abstract/panel-with-immediate-data.mjs +52 -22
- package/esm2020/lib/panel/abstract-panel.component.mjs +23 -5
- package/esm2020/lib/panel/case-panel/abstract-case-panel.component.mjs +13 -11
- package/esm2020/lib/panel/configuration/config-params.mjs +5 -0
- package/esm2020/lib/panel/public-api.mjs +5 -1
- package/esm2020/lib/panel/task-panel/abstract-task-panel.component.mjs +48 -13
- package/esm2020/lib/panel/task-panel/models/task-panel-context.mjs +2 -0
- package/esm2020/lib/panel/task-panel-list/abstract-task-list.component.mjs +3 -3
- package/esm2020/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.component.mjs +94 -0
- package/esm2020/lib/panel/task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component.mjs +3 -3
- package/esm2020/lib/panel/task-panel-single/abstract-single-task.component.mjs +81 -0
- package/esm2020/lib/panel/workflow-panel/abstract-workflow-panel.component.mjs +40 -6
- package/esm2020/lib/public/factories/public-factory-resolver.mjs +8 -3
- package/esm2020/lib/resources/engine-endpoint/petri-net-resource.service.mjs +12 -4
- package/esm2020/lib/resources/engine-endpoint/public/public-task-resource.service.mjs +1 -40
- package/esm2020/lib/resources/engine-endpoint/task-resource.service.mjs +4 -1
- package/esm2020/lib/resources/interface/fields.mjs +1 -1
- package/esm2020/lib/routing/redirect-service/redirect.service.mjs +2 -1
- package/esm2020/lib/side-menu/content-components/new-case/model/new-case-injection-data.mjs +1 -1
- package/esm2020/lib/side-menu/content-components/save-filter/abstract-save-filter.component.mjs +8 -7
- package/esm2020/lib/side-menu/content-components/user-assign/abstract-user-assign.component.mjs +1 -1
- package/esm2020/lib/side-menu/content-components/user-assign/model/user-list-injected-data.mjs +1 -1
- package/esm2020/lib/snack-bar/components/error-snack-bar/error-snack-bar.component.mjs +3 -3
- package/esm2020/lib/snack-bar/components/generic-snack-bar/generic-snack-bar.component.mjs +3 -3
- package/esm2020/lib/snack-bar/components/success-snack-bar/success-snack-bar.component.mjs +3 -3
- package/esm2020/lib/snack-bar/components/warning-snack-bar/warning-snack-bar.component.mjs +3 -3
- package/esm2020/lib/snack-bar/models/abstract-snack-bar.component.mjs +26 -0
- package/esm2020/lib/snack-bar/public-api.mjs +2 -2
- package/esm2020/lib/tabs/classes/opened-tab.mjs +19 -1
- package/esm2020/lib/tabs/classes/tab-label-stream.mjs +15 -0
- package/esm2020/lib/tabs/classes/tab-view.mjs +11 -3
- package/esm2020/lib/tabs/interfaces.mjs +1 -1
- package/esm2020/lib/tabs/public-api.mjs +3 -1
- package/esm2020/lib/task/services/assign-task.service.mjs +7 -6
- package/esm2020/lib/task/services/cancel-task.service.mjs +7 -6
- package/esm2020/lib/task/services/delegate-task.service.mjs +9 -8
- package/esm2020/lib/task/services/finish-policy.service.mjs +2 -2
- package/esm2020/lib/task/services/finish-task.service.mjs +7 -6
- package/esm2020/lib/task/services/task-data.service.mjs +51 -13
- package/esm2020/lib/task-content/field-component-resolver/abstract-field-component-resolver.component.mjs +3 -2
- package/esm2020/lib/task-content/model/field-type-resource.mjs +2 -1
- package/esm2020/lib/task-content/model/resource-interface.mjs +1 -1
- package/esm2020/lib/task-content/model/task-event-notification.mjs +5 -3
- package/esm2020/lib/task-content/services/field-converter.service.mjs +28 -90
- package/esm2020/lib/task-content/services/task-content.service.mjs +5 -2
- package/esm2020/lib/view/abstract/view-with-headers.mjs +13 -4
- package/esm2020/lib/view/case-view/abstract-case-view.mjs +9 -12
- package/esm2020/lib/view/case-view/components/case-list/abstract-case-list.component.mjs +3 -3
- package/esm2020/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.mjs +3 -3
- package/esm2020/lib/view/case-view/components/default-case-list/abstract-default-case-list.component.mjs +81 -0
- package/esm2020/lib/view/case-view/tabbed-case-view.mjs +7 -14
- package/esm2020/lib/view/public-api.mjs +2 -1
- package/esm2020/lib/view/task-view/abstract-single-task-view.component.mjs +55 -0
- package/esm2020/lib/view/task-view/abstract-task-view.mjs +6 -5
- package/esm2020/lib/view/task-view/tabbed-task-view.mjs +6 -5
- package/esm2020/lib/view/tree-case-view/tree-component/case-tree.service.mjs +6 -4
- package/esm2020/lib/view/workflow-view/abstract-workflow-view.component.mjs +6 -5
- package/fesm2015/netgrif-components-core.mjs +1127 -559
- package/fesm2015/netgrif-components-core.mjs.map +1 -1
- package/fesm2020/netgrif-components-core.mjs +1105 -560
- package/fesm2020/netgrif-components-core.mjs.map +1 -1
- package/lib/admin/public-api.d.ts +1 -1
- package/lib/admin/role-assignment-ldap-group/{abstract-ldap-group-role-assignment.d.ts → abstract-ldap-group-role-assignment.component.d.ts} +3 -3
- package/lib/authentication/services/methods/basic-authentication/basic-authentication.service.d.ts +2 -0
- package/lib/data-fields/button-field/abstract-button-field.component.d.ts +0 -5
- package/lib/data-fields/button-field/models/button-field.d.ts +1 -12
- package/lib/data-fields/enumeration-field/models/dynamic-enumeration-field.d.ts +2 -3
- package/lib/data-fields/enumeration-field/models/enumeration-field.d.ts +1 -11
- package/lib/data-fields/i18n-field/abstract-i18n-field.component.d.ts +0 -1
- package/lib/data-fields/models/abstract-data-field.d.ts +5 -0
- package/lib/data-fields/multichoice-field/models/multichoice-field.d.ts +1 -8
- package/lib/data-fields/multichoice-field/multichoice-autocomplete-field/abstract-multichoice-autocomplete-field-component.component.d.ts +24 -0
- package/lib/data-fields/public-api.d.ts +3 -0
- package/lib/data-fields/text-field/models/text-area-field.d.ts +2 -3
- package/lib/data-fields/text-field/models/text-field.d.ts +1 -9
- package/lib/data-fields/user-list-field/abstract-user-list-field.component.d.ts +38 -0
- package/lib/data-fields/user-list-field/models/user-list-field.d.ts +10 -0
- package/lib/data-fields/user-list-field/models/user-list-value.d.ts +16 -0
- package/lib/dialog/components/alert-dialog/alert-dialog.component.d.ts +3 -3
- package/lib/dialog/components/confirm-dialog/confirm-dialog.component.d.ts +3 -3
- package/lib/dialog/components/prompt-dialog/prompt-dialog.component.d.ts +3 -3
- package/lib/dialog/models/{abstract-dialog.d.ts → abstract-dialog.component.d.ts} +3 -3
- package/lib/header/abstract-header-service.d.ts +6 -3
- package/lib/header/abstract-header.component.d.ts +2 -2
- package/lib/header/services/overflow.service.d.ts +1 -1
- package/lib/header/task-header/task-header.service.d.ts +3 -2
- package/lib/header/workflow-header/workflow-header.service.d.ts +3 -2
- package/lib/navigation/breadcrumbs/abstract-breadcrumbs.component.d.ts +18 -0
- package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +2 -2
- package/lib/navigation/public-api.d.ts +1 -0
- package/lib/navigation/service/uri.service.d.ts +2 -0
- package/lib/panel/abstract/panel-with-header-binding.d.ts +5 -2
- package/lib/panel/abstract/panel-with-immediate-data.d.ts +4 -2
- package/lib/panel/abstract-panel.component.d.ts +8 -2
- package/lib/panel/case-panel/abstract-case-panel.component.d.ts +3 -3
- package/lib/panel/configuration/config-params.d.ts +3 -0
- package/lib/panel/public-api.d.ts +3 -0
- package/lib/panel/task-panel/abstract-task-panel.component.d.ts +13 -4
- package/lib/panel/task-panel/models/task-panel-context.d.ts +19 -0
- package/lib/panel/task-panel-list/abstract-task-list.component.d.ts +2 -2
- package/lib/panel/task-panel-list/default-task-panel-list/{abstract-default-task-list.d.ts → abstract-default-task-list.component.d.ts} +3 -3
- package/lib/panel/task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component.d.ts +2 -2
- package/lib/panel/task-panel-single/abstract-single-task.component.d.ts +42 -0
- package/lib/panel/workflow-panel/abstract-workflow-panel.component.d.ts +13 -2
- package/lib/public/factories/public-factory-resolver.d.ts +2 -1
- package/lib/resources/engine-endpoint/petri-net-resource.service.d.ts +1 -1
- package/lib/resources/engine-endpoint/public/public-task-resource.service.d.ts +0 -12
- package/lib/resources/interface/fields.d.ts +0 -5
- package/lib/side-menu/content-components/new-case/model/new-case-injection-data.d.ts +5 -0
- package/lib/side-menu/content-components/save-filter/abstract-save-filter.component.d.ts +2 -1
- package/lib/side-menu/content-components/user-assign/model/user-list-injected-data.d.ts +2 -1
- package/lib/snack-bar/components/error-snack-bar/error-snack-bar.component.d.ts +2 -2
- package/lib/snack-bar/components/generic-snack-bar/generic-snack-bar.component.d.ts +2 -2
- package/lib/snack-bar/components/success-snack-bar/success-snack-bar.component.d.ts +2 -2
- package/lib/snack-bar/components/warning-snack-bar/warning-snack-bar.component.d.ts +2 -2
- package/lib/snack-bar/models/{abstract-snack-bar.d.ts → abstract-snack-bar.component.d.ts} +3 -3
- package/lib/snack-bar/public-api.d.ts +1 -1
- package/lib/tabs/classes/opened-tab.d.ts +8 -1
- package/lib/tabs/classes/tab-label-stream.d.ts +7 -0
- package/lib/tabs/interfaces.d.ts +12 -1
- package/lib/tabs/public-api.d.ts +2 -0
- package/lib/task/services/assign-task.service.d.ts +4 -2
- package/lib/task/services/cancel-task.service.d.ts +4 -2
- package/lib/task/services/delegate-task.service.d.ts +5 -3
- package/lib/task/services/finish-task.service.d.ts +4 -2
- package/lib/task/services/task-data.service.d.ts +12 -3
- package/lib/task-content/model/field-type-resource.d.ts +1 -0
- package/lib/task-content/model/resource-interface.d.ts +0 -3
- package/lib/task-content/model/task-event-notification.d.ts +7 -1
- package/lib/task-content/services/field-converter.service.d.ts +3 -16
- package/lib/task-content/services/task-content.service.d.ts +1 -0
- package/lib/view/abstract/view-with-headers.d.ts +5 -1
- package/lib/view/case-view/abstract-case-view.d.ts +5 -3
- package/lib/view/case-view/components/case-list/abstract-case-list.component.d.ts +2 -2
- package/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.d.ts +2 -2
- package/lib/view/case-view/components/default-case-list/{abstract-default-case-list.d.ts → abstract-default-case-list.component.d.ts} +3 -3
- package/lib/view/case-view/tabbed-case-view.d.ts +4 -4
- package/lib/view/public-api.d.ts +1 -0
- package/lib/view/task-view/abstract-single-task-view.component.d.ts +25 -0
- package/lib/view/task-view/abstract-task-view.d.ts +2 -1
- package/lib/view/task-view/tabbed-task-view.d.ts +2 -1
- package/lib/view/workflow-view/abstract-workflow-view.component.d.ts +2 -1
- package/package.json +1 -2
- package/schematics/_commons/view-class-info.js +8 -0
- package/schematics/_commons/view-class-info.js.map +1 -1
- package/src/assets/i18n/de.json +12 -0
- package/src/assets/i18n/en.json +12 -0
- package/src/assets/i18n/sk.json +13 -1
- package/src/schema/nae-schema.json +6 -0
- package/esm2020/lib/admin/role-assignment-ldap-group/abstract-ldap-group-role-assignment.mjs +0 -88
- package/esm2020/lib/dialog/models/abstract-dialog.mjs +0 -29
- package/esm2020/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.mjs +0 -94
- package/esm2020/lib/snack-bar/models/abstract-snack-bar.mjs +0 -26
- package/esm2020/lib/view/case-view/components/default-case-list/abstract-default-case-list.mjs +0 -81
|
@@ -274,6 +274,9 @@ export class TaskContentService {
|
|
|
274
274
|
timer().subscribe(() => this.validateTaskData());
|
|
275
275
|
}
|
|
276
276
|
}
|
|
277
|
+
getReferencedFieldTask(field) {
|
|
278
|
+
return Object.keys(this.taskFieldsIndex).find(taskId => Object.keys(this.taskFieldsIndex[taskId].fields).includes(field));
|
|
279
|
+
}
|
|
277
280
|
isFieldInTaskRef(changedField) {
|
|
278
281
|
return !!this.taskFieldsIndex &&
|
|
279
282
|
Object.keys(this.taskFieldsIndex)
|
|
@@ -281,7 +284,7 @@ export class TaskContentService {
|
|
|
281
284
|
}
|
|
282
285
|
getReferencedTransitionId(changedField) {
|
|
283
286
|
if (!!this.taskFieldsIndex) {
|
|
284
|
-
const taskFieldsIndexId =
|
|
287
|
+
const taskFieldsIndexId = this.getReferencedFieldTask(changedField);
|
|
285
288
|
return this.taskFieldsIndex[taskFieldsIndexId].transitionId;
|
|
286
289
|
}
|
|
287
290
|
return undefined;
|
|
@@ -300,4 +303,4 @@ TaskContentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", v
|
|
|
300
303
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskContentService, decorators: [{
|
|
301
304
|
type: Injectable
|
|
302
305
|
}], ctorParameters: function () { return [{ type: i1.FieldConverterService }, { type: i2.SnackBarService }, { type: i3.TranslateService }, { type: i4.LoggerService }]; } });
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jb250ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3Rhc2stY29udGVudC9zZXJ2aWNlcy90YXNrLWNvbnRlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBQyxlQUFlLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFTaEYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sc0VBQXNFLENBQUM7Ozs7OztBQU03Rzs7Ozs7OztHQU9HO0FBRUgsTUFBTSxPQUFnQixrQkFBa0I7SUFlcEMsWUFBZ0Msc0JBQTZDLEVBQzdDLGdCQUFpQyxFQUNqQyxVQUE0QixFQUM1QixPQUFzQjtRQUh0QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBQzdDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQVI5QyxxQkFBZ0IsR0FFcEIsRUFBRSxDQUFDO1FBQ0MsOEJBQXlCLEdBQXdDLEVBQUUsQ0FBQztRQU14RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBYSxDQUFtQixDQUFDLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2QixJQUFJLENB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QWtCO29IQUFsQixrQkFBa0I7NEZBQWxCLGtCQUFrQjtrQkFEdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF0YUdyb3VwfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2RhdGEtZ3JvdXBzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0LCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Rhc2t9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvdGFzayc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge1NuYWNrQmFyU2VydmljZX0gZnJvbSAnLi4vLi4vc25hY2stYmFyL3NlcnZpY2VzL3NuYWNrLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0VudW1lcmF0aW9uRmllbGQsIEVudW1lcmF0aW9uRmllbGRWYWx1ZX0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvZW51bWVyYXRpb24tZmllbGQvbW9kZWxzL2VudW1lcmF0aW9uLWZpZWxkJztcbmltcG9ydCB7TXVsdGljaG9pY2VGaWVsZH0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvbXVsdGljaG9pY2UtZmllbGQvbW9kZWxzL211bHRpY2hvaWNlLWZpZWxkJztcbmltcG9ydCB7Q2hhbmdlLCBDaGFuZ2VkRmllbGRzLCBGcm9udGVuZEFjdGlvbnN9IGZyb20gJy4uLy4uL2RhdGEtZmllbGRzL21vZGVscy9jaGFuZ2VkLWZpZWxkcyc7XG5pbXBvcnQge0ZpZWxkQ29udmVydGVyU2VydmljZX0gZnJvbSAnLi9maWVsZC1jb252ZXJ0ZXIuc2VydmljZSc7XG5pbXBvcnQge0ZpZWxkVHlwZVJlc291cmNlfSBmcm9tICcuLi9tb2RlbC9maWVsZC10eXBlLXJlc291cmNlJztcbmltcG9ydCB7RHluYW1pY0VudW1lcmF0aW9uRmllbGR9IGZyb20gJy4uLy4uL2RhdGEtZmllbGRzL2VudW1lcmF0aW9uLWZpZWxkL21vZGVscy9keW5hbWljLWVudW1lcmF0aW9uLWZpZWxkJztcbmltcG9ydCB7VmFsaWRhdGlvbn0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvbW9kZWxzL3ZhbGlkYXRpb24nO1xuaW1wb3J0IHtUYXNrRXZlbnRPdXRjb21lfSBmcm9tICcuLi8uLi9ldmVudC9tb2RlbC9ldmVudC1vdXRjb21lcy90YXNrLW91dGNvbWVzL3Rhc2stZXZlbnQtb3V0Y29tZSc7XG5pbXBvcnQge0RhdGFGaWVsZH0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvbW9kZWxzL2Fic3RyYWN0LWRhdGEtZmllbGQnO1xuaW1wb3J0IHtUYXNrRmllbGRzfSBmcm9tICcuLi9tb2RlbC90YXNrLWZpZWxkcyc7XG5cbi8qKlxuICogQWN0cyBhcyBhIGNvbW11bmljYXRpb24gaW50ZXJmYWNlIGJldHdlZW4gdGhlIENvbXBvbmVudCB0aGF0IHJlbmRlcnMgVGFzayBjb250ZW50IGFuZCBpdCdzIHBhcmVudCBDb21wb25lbnQuXG4gKiBBbHNvIHByb3ZpZGVzIHNvbWUgZ2VuZXJhbCBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgbmVlZGVkIHdoZW4gd29ya2luZyB3aXRoIHRhc2sgY29udGVudC5cbiAqXG4gKiBOb3RhYmxlIGV4YW1wbGUgb2YgYSBwYXJlbnQgQ29tcG9uZW50IGlzIHRoZSB7QGxpbmsgQWJzdHJhY3RUYXNrUGFuZWxDb21wb25lbnR9LlxuICpcbiAqIE5vdGFibGUgZXhhbXBsZSBvZiBhIHRhc2sgY29udGVudCByZW5kZXJlciBpcyB0aGUge0BsaW5rIEFic3RyYWN0VGFza0NvbnRlbnRDb21wb25lbnR9LlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGFza0NvbnRlbnRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEZST05URU5EX0FDVElPTlNfS0VZID0gJ19mcm9udGVuZF9hY3Rpb25zJztcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBWQUxJREFURV9GUk9OVEVORF9BQ1RJT04gPSAndmFsaWRhdGUnO1xuXG4gICAgJHNob3VsZENyZWF0ZTogUmVwbGF5U3ViamVjdDxBcnJheTxEYXRhR3JvdXA+PjtcbiAgICAkc2hvdWxkQ3JlYXRlQ291bnRlcjogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG4gICAgcHJvdGVjdGVkIF90YXNrOiBUYXNrO1xuICAgIHByb3RlY3RlZCBfdGFza0RhdGFSZWxvYWRSZXF1ZXN0JDogU3ViamVjdDxGcm9udGVuZEFjdGlvbnM+O1xuICAgIHByb3RlY3RlZCBfaXNFeHBhbmRpbmckOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gICAgcHJpdmF0ZSBfdGFza0ZpZWxkc0luZGV4OiB7XG4gICAgICAgIFt0YXNrSWQ6IHN0cmluZ106IFRhc2tGaWVsZHNcbiAgICB9ID0ge307XG4gICAgcHJpdmF0ZSBfcmVmZXJlbmNlZFRhc2tBbmRDYXNlSWRzOiB7IFtjYXNlSWQ6IHN0cmluZ106IEFycmF5PHN0cmluZz4gfSA9IHt9O1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfZmllbGRDb252ZXJ0ZXJTZXJ2aWNlOiBGaWVsZENvbnZlcnRlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfc25hY2tCYXJTZXJ2aWNlOiBTbmFja0JhclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZ2dlcjogTG9nZ2VyU2VydmljZSkge1xuICAgICAgICB0aGlzLiRzaG91bGRDcmVhdGUgPSBuZXcgUmVwbGF5U3ViamVjdDxBcnJheTxEYXRhR3JvdXA+PigxKTtcbiAgICAgICAgdGhpcy4kc2hvdWxkQ3JlYXRlQ291bnRlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICAgICAgdGhpcy5faXNFeHBhbmRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgICAgIHRoaXMuX3Rhc2sgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuX3Rhc2tEYXRhUmVsb2FkUmVxdWVzdCQgPSBuZXcgU3ViamVjdDxGcm9udGVuZEFjdGlvbnM+KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy4kc2hvdWxkQ3JlYXRlLmNsb3NlZCkge1xuICAgICAgICAgICAgdGhpcy4kc2hvdWxkQ3JlYXRlLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fdGFza0RhdGFSZWxvYWRSZXF1ZXN0JC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9pc0V4cGFuZGluZyQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0aGUgVGFzayBvYmplY3QgaWYgc2V0IGFuZCBgdW5kZWZpbmVkYCBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IHRhc2soKTogVGFzayB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIFNldHRpbmcgYSBUYXNrIGFsc28gZW1pdHMgaXQgaW50byB0aGUgc3RyZWFtIGFjY2Vzc2libGUgYnkgdGhlIFt0YXNrJF17QGxpbmsgVGFza0NvbnRlbnRTZXJ2aWNlI3Rhc2skfSBnZXR0ZXIgbWV0aG9kLlxuICAgICAqIEBwYXJhbSB0YXNrIHRoZSBUYXNrIHRoYXQgb3ducyB0aGUgY29udGVudCBtYW5hZ2VkIGJ5IHRoaXMgc2VydmljZVxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXQgdGFzayh0YXNrOiBUYXNrKTtcblxuICAgIC8qKlxuICAgICAqIFN0cmVhbSByZXR1cm5zIGEge0BsaW5rIFRhc2t9IG9iamVjdCBldmVyeSB0aW1lIHRoaXMgb2JqZWN0IGlzIHNldC5cbiAgICAgKlxuICAgICAqIFVzZSBbdGFza117QGxpbmsgVGFza0NvbnRlbnRTZXJ2aWNlI3Rhc2t9IHNldHRlciBtZXRob2QgdG8gc2V0IHRoZSBUYXNrLlxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgdGFzayQoKTogT2JzZXJ2YWJsZTxUYXNrPjtcblxuICAgIC8qKlxuICAgICAqIFN0cmVhbSB0aGF0IGVtaXRzIGV2ZXJ5IHRpbWUgYSBkYXRhIHJlbG9hZCBpcyByZXF1ZXN0ZWQuXG4gICAgICovXG4gICAgcHVibGljIGdldCB0YXNrRGF0YVJlbG9hZFJlcXVlc3QkKCk6IE9ic2VydmFibGU8RnJvbnRlbmRBY3Rpb25zPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YXNrRGF0YVJlbG9hZFJlcXVlc3QkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuXG4gICAgZ2V0IHRhc2tGaWVsZHNJbmRleCgpOiB7IFtwOiBzdHJpbmddOiBUYXNrRmllbGRzIH0ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFza0ZpZWxkc0luZGV4O1xuICAgIH1cblxuICAgIHNldCB0YXNrRmllbGRzSW5kZXgodmFsdWU6IHsgW3A6IHN0cmluZ106IFRhc2tGaWVsZHMgfSkge1xuICAgICAgICB0aGlzLl90YXNrRmllbGRzSW5kZXggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgcmVmZXJlbmNlZFRhc2tBbmRDYXNlSWRzKCk6IHsgW3A6IHN0cmluZ106IEFycmF5PHN0cmluZz4gfSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWZlcmVuY2VkVGFza0FuZENhc2VJZHM7XG4gICAgfVxuXG4gICAgc2V0IHJlZmVyZW5jZWRUYXNrQW5kQ2FzZUlkcyh2YWx1ZTogeyBbcDogc3RyaW5nXTogQXJyYXk8c3RyaW5nPiB9KSB7XG4gICAgICAgIHRoaXMuX3JlZmVyZW5jZWRUYXNrQW5kQ2FzZUlkcyA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHBhbmVsIHRoYXQgdGhlIHRhc2sgY29udGVudCBpcyBjb250YWluZWQgaW4gaXMgY3VycmVudGx5IGV4cGFuZGluZy5cbiAgICAgKlxuICAgICAqIElmIHRoZSB0YXNrIGNvbnRlbnQgaXMgbm90IGNvbnRhaW5lZCBpbiBhIHBhbmVsLCBgaXNFeHBhbmRpbmdgIHdpbGwgYmUgYWx3YXlzIGBmYWxzZWAuXG4gICAgICovXG4gICAgcHVibGljIGdldCBpc0V4cGFuZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRXhwYW5kaW5nJC52YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2VzIHRoZSBzdGF0ZSBvZiB0aGUgdGFzayBjb250ZW50IHRvIGBleHBhbmRpbmdgLlxuICAgICAqL1xuICAgIHB1YmxpYyBleHBhbnNpb25TdGFydGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pc0V4cGFuZGluZyQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2VzIHRoZSBzdGF0ZSBvZiB0aGUgdGFzayBjb250ZW50IHRvIGBub3QgZXhwYW5kaW5nYC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXhwYW5zaW9uRmluaXNoZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzRXhwYW5kaW5nJC5uZXh0KGZhbHNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgdGhlIHZhbGlkaXR5IG9mIGFsbCBkYXRhIGZpZWxkcyBpbiB0aGUgbWFuYWdlZCB7QGxpbmsgVGFza30uXG4gICAgICpcbiAgICAgKiBJZiBzb21lIG9mIHRoZSBmaWVsZHMgYXJlIGludmFsaWQgdG91Y2hlcyB0aGVtIHNvIHRoZWlyIHZhbGlkYXRpb24gZXJyb3JzIHdpbGwgYXBwZWFyIChpZiBzZXQpLlxuICAgICAqIEEgc25hY2tiYXIgd2lsbCBhbHNvIGJlIGRpc3BsYXllZCB0byB0aGUgdXNlciwgaW5mb3JtaW5nIHRoZW0gb2YgdGhlIGZhY3QgdGhhdCB0aGUgZmllbGRzIGFyZSBpbnZhbGlkLlxuICAgICAqIEByZXR1cm5zIHdoZXRoZXIgdGhlIHRhc2sgaXMgdmFsaWQgb3Igbm90XG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlVGFza0RhdGEoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5fdGFzayB8fCAhdGhpcy5fdGFzay5kYXRhR3JvdXBzKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdmFsaWQgPSAhdGhpcy5fdGFzay5kYXRhR3JvdXBzLnNvbWUoZ3JvdXAgPT4gZ3JvdXAuZmllbGRzLnNvbWUoZmllbGQgPT4gIWZpZWxkLnZhbGlkICYmICFmaWVsZC5kaXNhYmxlZCkpO1xuICAgICAgICBjb25zdCB2YWxpZERpc2FibGVkID0gIXRoaXMuX3Rhc2suZGF0YUdyb3Vwcy5zb21lKGdyb3VwID0+IGdyb3VwLmZpZWxkcy5zb21lKGZpZWxkID0+ICFmaWVsZC52YWxpZFJlcXVpcmVkICYmIGZpZWxkLmRpc2FibGVkKSk7XG4gICAgICAgIGlmICghdmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NuYWNrQmFyU2VydmljZS5vcGVuRXJyb3JTbmFja0Jhcih0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgndGFza3Muc25hY2tiYXIuaW52YWxpZERhdGEnKSk7XG4gICAgICAgICAgICB0aGlzLl90YXNrLmRhdGFHcm91cHMuZm9yRWFjaChncm91cCA9PiBncm91cC5maWVsZHMuZm9yRWFjaChmaWVsZCA9PiBmaWVsZC50b3VjaCA9IHRydWUpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZhbGlkRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NuYWNrQmFyU2VydmljZS5vcGVuRXJyb3JTbmFja0Jhcih0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgndGFza3Muc25hY2tiYXIubWlzc2luZ1JlcXVpcmVkJykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWxpZCAmJiB2YWxpZERpc2FibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpbmRzIGludmFsaWQgZGF0YSBvZiB0YXNrXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBhcnJheSBvZiBpbnZhbGlkIGRhdGFmaWVsZHNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SW52YWxpZFRhc2tEYXRhKCk6IEFycmF5PERhdGFGaWVsZDxhbnk+PiB7XG4gICAgICAgIGNvbnN0IGludmFsaWRGaWVsZHMgPSBbXTtcbiAgICAgICAgdGhpcy5fdGFzay5kYXRhR3JvdXBzLmZvckVhY2goZ3JvdXAgPT4gaW52YWxpZEZpZWxkcy5wdXNoKC4uLmdyb3VwLmZpZWxkcy5maWx0ZXIoZmllbGQgPT5cbiAgICAgICAgICAgICghZmllbGQudmFsaWQgJiYgIWZpZWxkLmRpc2FibGVkKSB8fCAoIWZpZWxkLnZhbGlkUmVxdWlyZWQgJiYgIWZpZWxkLmRpc2FibGVkKSkpKTtcbiAgICAgICAgcmV0dXJuIGludmFsaWRGaWVsZHM7XG4gICAgfVxuXG4gICAgcHVibGljIHZhbGlkYXRlRHluYW1pY0VudW1GaWVsZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLl90YXNrIHx8ICF0aGlzLl90YXNrLmRhdGFHcm91cHMpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBleGlzdHMgPSB0aGlzLl90YXNrLmRhdGFHcm91cHMuc29tZShncm91cCA9PiBncm91cC5maWVsZHMuc29tZShmaWVsZCA9PiBmaWVsZCBpbnN0YW5jZW9mIER5bmFtaWNFbnVtZXJhdGlvbkZpZWxkKSk7XG4gICAgICAgIGlmICghZXhpc3RzKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdmFsaWQgPSB0cnVlO1xuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIHRoaXMuX3Rhc2suZGF0YUdyb3Vwcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBncm91cC5maWVsZHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQgaW5zdGFuY2VvZiBEeW5hbWljRW51bWVyYXRpb25GaWVsZCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQuY2hvaWNlcyAhPT0gdW5kZWZpbmVkICYmIGZpZWxkLmNob2ljZXMubGVuZ3RoICE9PSAwICYmIGZpZWxkLnZhbHVlICE9PSAnJyAmJiBmaWVsZC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpZWxkLmNob2ljZXMuc29tZShjaG9pY2UgPT4gY2hvaWNlLmtleSA9PT0gZmllbGQudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQudmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQuYmVoYXZpb3IucmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2YWxpZCkge1xuICAgICAgICAgICAgdGhpcy5fc25hY2tCYXJTZXJ2aWNlLm9wZW5FcnJvclNuYWNrQmFyKHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCd0YXNrcy5zbmFja2Jhci5taXNzaW5nUmVxdWlyZWQnKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbGlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIGJsb2NraW5nIHN0YXRlIG9mIGFsbCBmaWVsZHMgaW4gdGhlIG1hbmFnZWQgVGFzay5cbiAgICAgKiBAcGFyYW0gYmxvY2tpbmdTdGF0ZSB3aGV0aGVyIHRoZSBmaWVsZCBzaG91bGQgYmUgYmxvY2tlZCBvciBub3RcbiAgICAgKi9cbiAgICBwdWJsaWMgYmxvY2tGaWVsZHMoYmxvY2tpbmdTdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fdGFzayAmJiB0aGlzLl90YXNrLmRhdGFHcm91cHMpIHtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2suZGF0YUdyb3Vwcy5mb3JFYWNoKGdyb3VwID0+IHtcbiAgICAgICAgICAgICAgICBncm91cC5maWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLmJsb2NrID0gYmxvY2tpbmdTdGF0ZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIHRoZSBhc3NpZ25lZSwgc3RhcnQgZGF0ZSBhbmQgZmluaXNoIGRhdGUgZnJvbSB0aGUgbWFuYWdlZCBUYXNrLlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVTdGF0ZURhdGEoZXZlbnRPdXRjb21lOiBUYXNrRXZlbnRPdXRjb21lKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl90YXNrKSB7XG4gICAgICAgICAgICB0aGlzLl90YXNrLnVzZXIgPSBldmVudE91dGNvbWUudGFzay51c2VyO1xuICAgICAgICAgICAgdGhpcy5fdGFzay5zdGFydERhdGUgPSBldmVudE91dGNvbWUudGFzay5zdGFydERhdGU7XG4gICAgICAgICAgICB0aGlzLl90YXNrLmZpbmlzaERhdGUgPSBldmVudE91dGNvbWUudGFzay5maW5pc2hEYXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgcHJvcGVydGllcyBvZiBmaWVsZHMgaW4gdGhlIG1hbmFnZWQgdGFzayBiYXNlZCBvbiBhIGRlbHRhIG9mIGNoYW5nZXMgZnJvbSBwcmV2aW91cyBzdGF0ZS5cbiAgICAgKiBAcGFyYW0gY2hGaWVsZHMgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGRlbHRhIG9mIHRoZSBjaGFuZ2VzIGZyb20gdGhlIHByZXZpb3VzIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZUZyb21DaGFuZ2VkRmllbGRzKGNoRmllbGRzOiBDaGFuZ2VkRmllbGRzKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fdGFzayB8fCAhdGhpcy5fdGFzay5kYXRhR3JvdXBzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gdG9kbyBhY3Rpb25zIG93bmVyIHpieXRvxI1uw70/XG4gICAgICAgIGNvbnN0IGZyb250ZW5kQWN0aW9ucyA9IGNoRmllbGRzLnRhc2tJZCA9PT0gdGhpcy50YXNrLnN0cmluZ0lkICYmIGNoRmllbGRzW1Rhc2tDb250ZW50U2VydmljZS5GUk9OVEVORF9BQ1RJT05TX0tFWV07XG5cbiAgICAgICAgT2JqZWN0LmtleXMoY2hGaWVsZHMpLmZvckVhY2goY2hhbmdlZEZpZWxkID0+IHtcbiAgICAgICAgICAgIGlmICghIXRoaXMudGFza0ZpZWxkc0luZGV4W2NoRmllbGRzLnRhc2tJZF0gJiYgISF0aGlzLnRhc2tGaWVsZHNJbmRleFtjaEZpZWxkcy50YXNrSWRdLmZpZWxkc1xuICAgICAgICAgICAgICAgICYmICEhdGhpcy50YXNrRmllbGRzSW5kZXhbY2hGaWVsZHMudGFza0lkXS5maWVsZHNbY2hhbmdlZEZpZWxkXSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRmllbGQoY2hGaWVsZHMsIHRoaXMudGFza0ZpZWxkc0luZGV4W2NoRmllbGRzLnRhc2tJZF0uZmllbGRzW2NoYW5nZWRGaWVsZF0sIGZyb250ZW5kQWN0aW9ucyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNGaWVsZEluVGFza1JlZihjaGFuZ2VkRmllbGQpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFza0lkID0gdGhpcy5nZXRSZWZlcmVuY2VkVGFza0lkKGNoYW5nZWRGaWVsZCk7XG4gICAgICAgICAgICAgICAgaWYgKCEhdGFza0lkICYmICEhdGhpcy50YXNrRmllbGRzSW5kZXhbdGFza0lkXSAmJiAhIXRoaXMudGFza0ZpZWxkc0luZGV4W3Rhc2tJZF0uZmllbGRzXG4gICAgICAgICAgICAgICAgICAgICYmICEhdGhpcy50YXNrRmllbGRzSW5kZXhbdGFza0lkXS5maWVsZHNbY2hhbmdlZEZpZWxkXSlcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVSZWZlcmVuY2VkRmllbGQoY2hGaWVsZHMsIHRoaXMudGFza0ZpZWxkc0luZGV4W3Rhc2tJZF0uZmllbGRzW2NoYW5nZWRGaWVsZF0sIGZyb250ZW5kQWN0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuJHNob3VsZENyZWF0ZS5uZXh0KHRoaXMuX3Rhc2suZGF0YUdyb3Vwcyk7XG4gICAgICAgIHRoaXMucGVyZm9ybUZyb250ZW5kQWN0aW9uKGZyb250ZW5kQWN0aW9ucyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVGaWVsZChjaEZpZWxkczogQ2hhbmdlZEZpZWxkcywgZmllbGQ6IERhdGFGaWVsZDxhbnk+LCBmcm9udGVuZEFjdGlvbnM6IENoYW5nZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fZmllbGRDb252ZXJ0ZXJTZXJ2aWNlLnJlc29sdmVUeXBlKGZpZWxkKSA9PT0gRmllbGRUeXBlUmVzb3VyY2UuVEFTS19SRUYpIHtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2tEYXRhUmVsb2FkUmVxdWVzdCQubmV4dChmcm9udGVuZEFjdGlvbnMgPyBmcm9udGVuZEFjdGlvbnMgOiB1bmRlZmluZWQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXBkYXRlZEZpZWxkID0gY2hGaWVsZHNbZmllbGQuc3RyaW5nSWRdO1xuICAgICAgICBPYmplY3Qua2V5cyh1cGRhdGVkRmllbGQpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgICAgICAgY2FzZSAndHlwZSc6XG4gICAgICAgICAgICAgICAgICAgIC8vIHR5cGUgaXMganVzdCBhbiBpbmZvcm1hdGlvbiwgbm90IGFuIHVwZGF0ZS4gQSBmaWVsZCBjYW5ub3QgY2hhbmdlIGl0cyB0eXBlXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gY29udGludWUgLSB0aGUgZmllbGQgZG9lcyBub3QgbmVlZCB1cGRhdGluZywgc2luY2Ugbm90aGluZyBjaGFuZ2VkXG4gICAgICAgICAgICAgICAgY2FzZSAndmFsdWUnOlxuICAgICAgICAgICAgICAgICAgICBmaWVsZC52YWx1ZVdpdGhvdXRDaGFuZ2UodGhpcy5fZmllbGRDb252ZXJ0ZXJTZXJ2aWNlLmZvcm1hdFZhbHVlRnJvbUJhY2tlbmQoZmllbGQsIHVwZGF0ZWRGaWVsZFtrZXldKSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JlaGF2aW9yJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVwZGF0ZWRGaWVsZC5iZWhhdmlvclt0aGlzLl90YXNrLnRyYW5zaXRpb25JZF0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE8gTkdTRC00ODkgZml4IGJlaGF2aW9yIHJlc29sdXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLmJlaGF2aW9yID0gdXBkYXRlZEZpZWxkLmJlaGF2aW9yW3RoaXMuX3Rhc2sudHJhbnNpdGlvbklkXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zaXRpb25JZCA9IHRoaXMuZ2V0UmVmZXJlbmNlZFRyYW5zaXRpb25JZChmaWVsZC5zdHJpbmdJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoISF0cmFuc2l0aW9uSWQgJiYgdHJhbnNpdGlvbklkICE9PSAnJyAmJiB1cGRhdGVkRmllbGQuYmVoYXZpb3JbdHJhbnNpdGlvbklkXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5iZWhhdmlvciA9IHVwZGF0ZWRGaWVsZC5iZWhhdmlvclt0cmFuc2l0aW9uSWRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnY2hvaWNlcyc6XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0Nob2ljZXM6IEFycmF5PEVudW1lcmF0aW9uRmllbGRWYWx1ZT4gPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVwZGF0ZWRGaWVsZC5jaG9pY2VzIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRGaWVsZC5jaG9pY2VzLmZvckVhY2goaXQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0Nob2ljZXMucHVzaCh7a2V5OiBpdCwgdmFsdWU6IGl0fSBhcyBFbnVtZXJhdGlvbkZpZWxkVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh1cGRhdGVkRmllbGQuY2hvaWNlcykuZm9yRWFjaChjaG9pY2VLZXkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0Nob2ljZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogY2hvaWNlS2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdXBkYXRlZEZpZWxkLmNob2ljZXNbY2hvaWNlS2V5XVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gYXMgRW51bWVyYXRpb25GaWVsZFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIChmaWVsZCBhcyBFbnVtZXJhdGlvbkZpZWxkIHwgTXVsdGljaG9pY2VGaWVsZCkuY2hvaWNlcyA9IG5ld0Nob2ljZXM7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ29wdGlvbnMnOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdPcHRpb25zID0gW107XG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHVwZGF0ZWRGaWVsZC5vcHRpb25zKS5mb3JFYWNoKG9wdGlvbktleSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdPcHRpb25zLnB1c2goe2tleTogb3B0aW9uS2V5LCB2YWx1ZTogdXBkYXRlZEZpZWxkLm9wdGlvbnNbb3B0aW9uS2V5XX0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgKGZpZWxkIGFzIEVudW1lcmF0aW9uRmllbGQgfCBNdWx0aWNob2ljZUZpZWxkKS5jaG9pY2VzID0gbmV3T3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAndmFsaWRhdGlvbnMnOlxuICAgICAgICAgICAgICAgICAgICBmaWVsZC5yZXBsYWNlVmFsaWRhdGlvbnModXBkYXRlZEZpZWxkLnZhbGlkYXRpb25zLm1hcChpdCA9PiAoaXQgYXMgVmFsaWRhdGlvbikpKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgZmllbGRba2V5XSA9IHVwZGF0ZWRGaWVsZFtrZXldO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC51cGRhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVSZWZlcmVuY2VkRmllbGQoY2hGaWVsZHM6IENoYW5nZWRGaWVsZHMsIGZpZWxkOiBEYXRhRmllbGQ8YW55PiwgZnJvbnRlbmRBY3Rpb25zOiBDaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpZWxkQ29udmVydGVyU2VydmljZS5yZXNvbHZlVHlwZShmaWVsZCkgPT09IEZpZWxkVHlwZVJlc291cmNlLlRBU0tfUkVGKSB7XG4gICAgICAgICAgICB0aGlzLl90YXNrRGF0YVJlbG9hZFJlcXVlc3QkLm5leHQoZnJvbnRlbmRBY3Rpb25zID8gZnJvbnRlbmRBY3Rpb25zIDogdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1cGRhdGVkRmllbGQgPSBjaEZpZWxkc1tmaWVsZC5zdHJpbmdJZF07XG4gICAgICAgIE9iamVjdC5rZXlzKHVwZGF0ZWRGaWVsZCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdiZWhhdmlvcic6XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zaXRpb25JZCA9IHRoaXMuZ2V0UmVmZXJlbmNlZFRyYW5zaXRpb25JZChmaWVsZC5zdHJpbmdJZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghIXRyYW5zaXRpb25JZCAmJiB0cmFuc2l0aW9uSWQgIT09ICcnICYmIHVwZGF0ZWRGaWVsZC5iZWhhdmlvclt0cmFuc2l0aW9uSWRdKVxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQuYmVoYXZpb3IgPSB1cGRhdGVkRmllbGQuYmVoYXZpb3JbdHJhbnNpdGlvbklkXTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgZmllbGRba2V5XSA9IHVwZGF0ZWRGaWVsZFtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGQudXBkYXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIHRoZSBzcGVjaWZpYyBmcm9udGVuZCBhY3Rpb24uXG4gICAgICpcbiAgICAgKiBBIHByb3RvdHlwZSBpbXBsZW1lbnRhdGlvbiBvZiBmcm9udGVuZCBhY3Rpb25zLlxuICAgICAqXG4gICAgICogVGhlIHNwZWNpZmljcyBhcmUgc3ViamVjdCB0byBjaGFuZ2UuIEl0IGlzIHZlcnkgbGlrZWx5IHRoYXQgdGhpcyBtZXRob2Qgd2lsbCBiZSBtb3ZlZCB0byBhIGRpZmZlcmVudCBzZXJ2aWNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZyb250ZW5kQWN0aW9uIHRoZSBhY3Rpb24gdGhhdCBzaG91bGQgYmUgcGVyZm9ybWVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBwZXJmb3JtRnJvbnRlbmRBY3Rpb24oZnJvbnRlbmRBY3Rpb246IEZyb250ZW5kQWN0aW9ucyk6IHZvaWQge1xuICAgICAgICBpZiAoZnJvbnRlbmRBY3Rpb24gJiYgZnJvbnRlbmRBY3Rpb24udHlwZSA9PT0gVGFza0NvbnRlbnRTZXJ2aWNlLlZBTElEQVRFX0ZST05URU5EX0FDVElPTikge1xuICAgICAgICAgICAgdGltZXIoKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy52YWxpZGF0ZVRhc2tEYXRhKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0ZpZWxkSW5UYXNrUmVmKGNoYW5nZWRGaWVsZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGFza0ZpZWxkc0luZGV4ICYmXG4gICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLnRhc2tGaWVsZHNJbmRleClcbiAgICAgICAgICAgIC5zb21lKHRhc2tJZCA9PiB0YXNrSWQgIT09IHRoaXMudGFzay5zdHJpbmdJZCAmJiB0aGlzLnRhc2tGaWVsZHNJbmRleFt0YXNrSWRdLmZpZWxkc1tjaGFuZ2VkRmllbGRdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlZmVyZW5jZWRUcmFuc2l0aW9uSWQoY2hhbmdlZEZpZWxkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoISF0aGlzLnRhc2tGaWVsZHNJbmRleCkge1xuICAgICAgICAgICBjb25zdCB0YXNrRmllbGRzSW5kZXhJZCA9IE9iamVjdC5rZXlzKHRoaXMudGFza0ZpZWxkc0luZGV4KS5maW5kKHRhc2tJZCA9PlxuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMudGFza0ZpZWxkc0luZGV4W3Rhc2tJZF0uZmllbGRzKS5pbmNsdWRlcyhjaGFuZ2VkRmllbGQpKTtcbiAgICAgICAgICAgcmV0dXJuIHRoaXMudGFza0ZpZWxkc0luZGV4W3Rhc2tGaWVsZHNJbmRleElkXS50cmFuc2l0aW9uSWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlZmVyZW5jZWRUYXNrSWQoY2hhbmdlZEZpZWxkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoISF0aGlzLnRhc2tGaWVsZHNJbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuICBPYmplY3Qua2V5cyh0aGlzLnRhc2tGaWVsZHNJbmRleCkuZmluZCh0YXNrSWQgPT5cbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLnRhc2tGaWVsZHNJbmRleFt0YXNrSWRdLmZpZWxkcykuaW5jbHVkZXMoY2hhbmdlZEZpZWxkKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59XG4iXX0=
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jb250ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3Rhc2stY29udGVudC9zZXJ2aWNlcy90YXNrLWNvbnRlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBQyxlQUFlLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFTaEYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sc0VBQXNFLENBQUM7Ozs7OztBQU03Rzs7Ozs7OztHQU9HO0FBRUgsTUFBTSxPQUFnQixrQkFBa0I7SUFlcEMsWUFBZ0Msc0JBQTZDLEVBQzdDLGdCQUFpQyxFQUNqQyxVQUE0QixFQUM1QixPQUFzQjtRQUh0QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBQzdDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQVI5QyxxQkFBZ0IsR0FFcEIsRUFBRSxDQUFDO1FBQ0MsOEJBQXlCLEdBQXdDLEVBQUUsQ0FBQztRQU14RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBYSxDQUFtQixDQUFDLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2QixJQUFJLENB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QUNyQixDQUFDOztBQTVVdUIsdUNBQW9CLEdBQUcsbUJBQW9CLENBQUE7QUFDM0MsMkNBQXdCLEdBQUcsVUFBVyxDQUFBO2dIQUg1QyxrQkFBa0I7b0hBQWxCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUR2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRhR3JvdXB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvZGF0YS1ncm91cHMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7VGFza30gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS90YXNrJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7U25hY2tCYXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zbmFjay1iYXIvc2VydmljZXMvc25hY2stYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RW51bWVyYXRpb25GaWVsZCwgRW51bWVyYXRpb25GaWVsZFZhbHVlfSBmcm9tICcuLi8uLi9kYXRhLWZpZWxkcy9lbnVtZXJhdGlvbi1maWVsZC9tb2RlbHMvZW51bWVyYXRpb24tZmllbGQnO1xuaW1wb3J0IHtNdWx0aWNob2ljZUZpZWxkfSBmcm9tICcuLi8uLi9kYXRhLWZpZWxkcy9tdWx0aWNob2ljZS1maWVsZC9tb2RlbHMvbXVsdGljaG9pY2UtZmllbGQnO1xuaW1wb3J0IHtDaGFuZ2UsIENoYW5nZWRGaWVsZHMsIEZyb250ZW5kQWN0aW9uc30gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvbW9kZWxzL2NoYW5nZWQtZmllbGRzJztcbmltcG9ydCB7RmllbGRDb252ZXJ0ZXJTZXJ2aWNlfSBmcm9tICcuL2ZpZWxkLWNvbnZlcnRlci5zZXJ2aWNlJztcbmltcG9ydCB7RmllbGRUeXBlUmVzb3VyY2V9IGZyb20gJy4uL21vZGVsL2ZpZWxkLXR5cGUtcmVzb3VyY2UnO1xuaW1wb3J0IHtEeW5hbWljRW51bWVyYXRpb25GaWVsZH0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvZW51bWVyYXRpb24tZmllbGQvbW9kZWxzL2R5bmFtaWMtZW51bWVyYXRpb24tZmllbGQnO1xuaW1wb3J0IHtWYWxpZGF0aW9ufSBmcm9tICcuLi8uLi9kYXRhLWZpZWxkcy9tb2RlbHMvdmFsaWRhdGlvbic7XG5pbXBvcnQge1Rhc2tFdmVudE91dGNvbWV9IGZyb20gJy4uLy4uL2V2ZW50L21vZGVsL2V2ZW50LW91dGNvbWVzL3Rhc2stb3V0Y29tZXMvdGFzay1ldmVudC1vdXRjb21lJztcbmltcG9ydCB7RGF0YUZpZWxkfSBmcm9tICcuLi8uLi9kYXRhLWZpZWxkcy9tb2RlbHMvYWJzdHJhY3QtZGF0YS1maWVsZCc7XG5pbXBvcnQge1Rhc2tGaWVsZHN9IGZyb20gJy4uL21vZGVsL3Rhc2stZmllbGRzJztcblxuLyoqXG4gKiBBY3RzIGFzIGEgY29tbXVuaWNhdGlvbiBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgQ29tcG9uZW50IHRoYXQgcmVuZGVycyBUYXNrIGNvbnRlbnQgYW5kIGl0J3MgcGFyZW50IENvbXBvbmVudC5cbiAqIEFsc28gcHJvdmlkZXMgc29tZSBnZW5lcmFsIGZ1bmN0aW9uYWxpdHkgdGhhdCBpcyBuZWVkZWQgd2hlbiB3b3JraW5nIHdpdGggdGFzayBjb250ZW50LlxuICpcbiAqIE5vdGFibGUgZXhhbXBsZSBvZiBhIHBhcmVudCBDb21wb25lbnQgaXMgdGhlIHtAbGluayBBYnN0cmFjdFRhc2tQYW5lbENvbXBvbmVudH0uXG4gKlxuICogTm90YWJsZSBleGFtcGxlIG9mIGEgdGFzayBjb250ZW50IHJlbmRlcmVyIGlzIHRoZSB7QGxpbmsgQWJzdHJhY3RUYXNrQ29udGVudENvbXBvbmVudH0uXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUYXNrQ29udGVudFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRlJPTlRFTkRfQUNUSU9OU19LRVkgPSAnX2Zyb250ZW5kX2FjdGlvbnMnO1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFZBTElEQVRFX0ZST05URU5EX0FDVElPTiA9ICd2YWxpZGF0ZSc7XG5cbiAgICAkc2hvdWxkQ3JlYXRlOiBSZXBsYXlTdWJqZWN0PEFycmF5PERhdGFHcm91cD4+O1xuICAgICRzaG91bGRDcmVhdGVDb3VudGVyOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPjtcbiAgICBwcm90ZWN0ZWQgX3Rhc2s6IFRhc2s7XG4gICAgcHJvdGVjdGVkIF90YXNrRGF0YVJlbG9hZFJlcXVlc3QkOiBTdWJqZWN0PEZyb250ZW5kQWN0aW9ucz47XG4gICAgcHJvdGVjdGVkIF9pc0V4cGFuZGluZyQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgICBwcml2YXRlIF90YXNrRmllbGRzSW5kZXg6IHtcbiAgICAgICAgW3Rhc2tJZDogc3RyaW5nXTogVGFza0ZpZWxkc1xuICAgIH0gPSB7fTtcbiAgICBwcml2YXRlIF9yZWZlcmVuY2VkVGFza0FuZENhc2VJZHM6IHsgW2Nhc2VJZDogc3RyaW5nXTogQXJyYXk8c3RyaW5nPiB9ID0ge307XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF9maWVsZENvbnZlcnRlclNlcnZpY2U6IEZpZWxkQ29udmVydGVyU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja0JhclNlcnZpY2U6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuJHNob3VsZENyZWF0ZSA9IG5ldyBSZXBsYXlTdWJqZWN0PEFycmF5PERhdGFHcm91cD4+KDEpO1xuICAgICAgICB0aGlzLiRzaG91bGRDcmVhdGVDb3VudGVyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICAgICAgICB0aGlzLl9pc0V4cGFuZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICAgICAgdGhpcy5fdGFzayA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5fdGFza0RhdGFSZWxvYWRSZXF1ZXN0JCA9IG5ldyBTdWJqZWN0PEZyb250ZW5kQWN0aW9ucz4oKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLiRzaG91bGRDcmVhdGUuY2xvc2VkKSB7XG4gICAgICAgICAgICB0aGlzLiRzaG91bGRDcmVhdGUuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl90YXNrRGF0YVJlbG9hZFJlcXVlc3QkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX2lzRXhwYW5kaW5nJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIHRoZSBUYXNrIG9iamVjdCBpZiBzZXQgYW5kIGB1bmRlZmluZWRgIG90aGVyd2lzZVxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgdGFzaygpOiBUYXNrIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogU2V0dGluZyBhIFRhc2sgYWxzbyBlbWl0cyBpdCBpbnRvIHRoZSBzdHJlYW0gYWNjZXNzaWJsZSBieSB0aGUgW3Rhc2skXXtAbGluayBUYXNrQ29udGVudFNlcnZpY2UjdGFzayR9IGdldHRlciBtZXRob2QuXG4gICAgICogQHBhcmFtIHRhc2sgdGhlIFRhc2sgdGhhdCBvd25zIHRoZSBjb250ZW50IG1hbmFnZWQgYnkgdGhpcyBzZXJ2aWNlXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IHNldCB0YXNrKHRhc2s6IFRhc2spO1xuXG4gICAgLyoqXG4gICAgICogU3RyZWFtIHJldHVybnMgYSB7QGxpbmsgVGFza30gb2JqZWN0IGV2ZXJ5IHRpbWUgdGhpcyBvYmplY3QgaXMgc2V0LlxuICAgICAqXG4gICAgICogVXNlIFt0YXNrXXtAbGluayBUYXNrQ29udGVudFNlcnZpY2UjdGFza30gc2V0dGVyIG1ldGhvZCB0byBzZXQgdGhlIFRhc2suXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCB0YXNrJCgpOiBPYnNlcnZhYmxlPFRhc2s+O1xuXG4gICAgLyoqXG4gICAgICogU3RyZWFtIHRoYXQgZW1pdHMgZXZlcnkgdGltZSBhIGRhdGEgcmVsb2FkIGlzIHJlcXVlc3RlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHRhc2tEYXRhUmVsb2FkUmVxdWVzdCQoKTogT2JzZXJ2YWJsZTxGcm9udGVuZEFjdGlvbnM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Rhc2tEYXRhUmVsb2FkUmVxdWVzdCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG5cbiAgICBnZXQgdGFza0ZpZWxkc0luZGV4KCk6IHsgW3A6IHN0cmluZ106IFRhc2tGaWVsZHMgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YXNrRmllbGRzSW5kZXg7XG4gICAgfVxuXG4gICAgc2V0IHRhc2tGaWVsZHNJbmRleCh2YWx1ZTogeyBbcDogc3RyaW5nXTogVGFza0ZpZWxkcyB9KSB7XG4gICAgICAgIHRoaXMuX3Rhc2tGaWVsZHNJbmRleCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCByZWZlcmVuY2VkVGFza0FuZENhc2VJZHMoKTogeyBbcDogc3RyaW5nXTogQXJyYXk8c3RyaW5nPiB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlZmVyZW5jZWRUYXNrQW5kQ2FzZUlkcztcbiAgICB9XG5cbiAgICBzZXQgcmVmZXJlbmNlZFRhc2tBbmRDYXNlSWRzKHZhbHVlOiB7IFtwOiBzdHJpbmddOiBBcnJheTxzdHJpbmc+IH0pIHtcbiAgICAgICAgdGhpcy5fcmVmZXJlbmNlZFRhc2tBbmRDYXNlSWRzID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgcGFuZWwgdGhhdCB0aGUgdGFzayBjb250ZW50IGlzIGNvbnRhaW5lZCBpbiBpcyBjdXJyZW50bHkgZXhwYW5kaW5nLlxuICAgICAqXG4gICAgICogSWYgdGhlIHRhc2sgY29udGVudCBpcyBub3QgY29udGFpbmVkIGluIGEgcGFuZWwsIGBpc0V4cGFuZGluZ2Agd2lsbCBiZSBhbHdheXMgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGlzRXhwYW5kaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNFeHBhbmRpbmckLnZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHN0YXRlIG9mIHRoZSB0YXNrIGNvbnRlbnQgdG8gYGV4cGFuZGluZ2AuXG4gICAgICovXG4gICAgcHVibGljIGV4cGFuc2lvblN0YXJ0ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzRXhwYW5kaW5nJC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHN0YXRlIG9mIHRoZSB0YXNrIGNvbnRlbnQgdG8gYG5vdCBleHBhbmRpbmdgLlxuICAgICAqL1xuICAgIHB1YmxpYyBleHBhbnNpb25GaW5pc2hlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNFeHBhbmRpbmckLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyB0aGUgdmFsaWRpdHkgb2YgYWxsIGRhdGEgZmllbGRzIGluIHRoZSBtYW5hZ2VkIHtAbGluayBUYXNrfS5cbiAgICAgKlxuICAgICAqIElmIHNvbWUgb2YgdGhlIGZpZWxkcyBhcmUgaW52YWxpZCB0b3VjaGVzIHRoZW0gc28gdGhlaXIgdmFsaWRhdGlvbiBlcnJvcnMgd2lsbCBhcHBlYXIgKGlmIHNldCkuXG4gICAgICogQSBzbmFja2JhciB3aWxsIGFsc28gYmUgZGlzcGxheWVkIHRvIHRoZSB1c2VyLCBpbmZvcm1pbmcgdGhlbSBvZiB0aGUgZmFjdCB0aGF0IHRoZSBmaWVsZHMgYXJlIGludmFsaWQuXG4gICAgICogQHJldHVybnMgd2hldGhlciB0aGUgdGFzayBpcyB2YWxpZCBvciBub3RcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGVUYXNrRGF0YSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLl90YXNrIHx8ICF0aGlzLl90YXNrLmRhdGFHcm91cHMpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB2YWxpZCA9ICF0aGlzLl90YXNrLmRhdGFHcm91cHMuc29tZShncm91cCA9PiBncm91cC5maWVsZHMuc29tZShmaWVsZCA9PiAhZmllbGQudmFsaWQgJiYgIWZpZWxkLmRpc2FibGVkKSk7XG4gICAgICAgIGNvbnN0IHZhbGlkRGlzYWJsZWQgPSAhdGhpcy5fdGFzay5kYXRhR3JvdXBzLnNvbWUoZ3JvdXAgPT4gZ3JvdXAuZmllbGRzLnNvbWUoZmllbGQgPT4gIWZpZWxkLnZhbGlkUmVxdWlyZWQgJiYgZmllbGQuZGlzYWJsZWQpKTtcbiAgICAgICAgaWYgKCF2YWxpZCkge1xuICAgICAgICAgICAgdGhpcy5fc25hY2tCYXJTZXJ2aWNlLm9wZW5FcnJvclNuYWNrQmFyKHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCd0YXNrcy5zbmFja2Jhci5pbnZhbGlkRGF0YScpKTtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2suZGF0YUdyb3Vwcy5mb3JFYWNoKGdyb3VwID0+IGdyb3VwLmZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IGZpZWxkLnRvdWNoID0gdHJ1ZSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdmFsaWREaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fc25hY2tCYXJTZXJ2aWNlLm9wZW5FcnJvclNuYWNrQmFyKHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCd0YXNrcy5zbmFja2Jhci5taXNzaW5nUmVxdWlyZWQnKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbGlkICYmIHZhbGlkRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZHMgaW52YWxpZCBkYXRhIG9mIHRhc2tcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGFycmF5IG9mIGludmFsaWQgZGF0YWZpZWxkc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJbnZhbGlkVGFza0RhdGEoKTogQXJyYXk8RGF0YUZpZWxkPGFueT4+IHtcbiAgICAgICAgY29uc3QgaW52YWxpZEZpZWxkcyA9IFtdO1xuICAgICAgICB0aGlzLl90YXNrLmRhdGFHcm91cHMuZm9yRWFjaChncm91cCA9PiBpbnZhbGlkRmllbGRzLnB1c2goLi4uZ3JvdXAuZmllbGRzLmZpbHRlcihmaWVsZCA9PlxuICAgICAgICAgICAgKCFmaWVsZC52YWxpZCAmJiAhZmllbGQuZGlzYWJsZWQpIHx8ICghZmllbGQudmFsaWRSZXF1aXJlZCAmJiAhZmllbGQuZGlzYWJsZWQpKSkpO1xuICAgICAgICByZXR1cm4gaW52YWxpZEZpZWxkcztcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsaWRhdGVEeW5hbWljRW51bUZpZWxkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuX3Rhc2sgfHwgIXRoaXMuX3Rhc2suZGF0YUdyb3Vwcykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGV4aXN0cyA9IHRoaXMuX3Rhc2suZGF0YUdyb3Vwcy5zb21lKGdyb3VwID0+IGdyb3VwLmZpZWxkcy5zb21lKGZpZWxkID0+IGZpZWxkIGluc3RhbmNlb2YgRHluYW1pY0VudW1lcmF0aW9uRmllbGQpKTtcbiAgICAgICAgaWYgKCFleGlzdHMpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGxldCB2YWxpZCA9IHRydWU7XG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgdGhpcy5fdGFzay5kYXRhR3JvdXBzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGdyb3VwLmZpZWxkcykge1xuICAgICAgICAgICAgICAgIGlmIChmaWVsZCBpbnN0YW5jZW9mIER5bmFtaWNFbnVtZXJhdGlvbkZpZWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5jaG9pY2VzICE9PSB1bmRlZmluZWQgJiYgZmllbGQuY2hvaWNlcy5sZW5ndGggIT09IDAgJiYgZmllbGQudmFsdWUgIT09ICcnICYmIGZpZWxkLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmllbGQuY2hvaWNlcy5zb21lKGNob2ljZSA9PiBjaG9pY2Uua2V5ID09PSBmaWVsZC52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC52YWx1ZSA9ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5iZWhhdmlvci5yZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLl9zbmFja0JhclNlcnZpY2Uub3BlbkVycm9yU25hY2tCYXIodGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLm1pc3NpbmdSZXF1aXJlZCcpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsaWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlcyB0aGUgYmxvY2tpbmcgc3RhdGUgb2YgYWxsIGZpZWxkcyBpbiB0aGUgbWFuYWdlZCBUYXNrLlxuICAgICAqIEBwYXJhbSBibG9ja2luZ1N0YXRlIHdoZXRoZXIgdGhlIGZpZWxkIHNob3VsZCBiZSBibG9ja2VkIG9yIG5vdFxuICAgICAqL1xuICAgIHB1YmxpYyBibG9ja0ZpZWxkcyhibG9ja2luZ1N0YXRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl90YXNrICYmIHRoaXMuX3Rhc2suZGF0YUdyb3Vwcykge1xuICAgICAgICAgICAgdGhpcy5fdGFzay5kYXRhR3JvdXBzLmZvckVhY2goZ3JvdXAgPT4ge1xuICAgICAgICAgICAgICAgIGdyb3VwLmZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQuYmxvY2sgPSBibG9ja2luZ1N0YXRlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgdGhlIGFzc2lnbmVlLCBzdGFydCBkYXRlIGFuZCBmaW5pc2ggZGF0ZSBmcm9tIHRoZSBtYW5hZ2VkIFRhc2suXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZVN0YXRlRGF0YShldmVudE91dGNvbWU6IFRhc2tFdmVudE91dGNvbWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3Rhc2spIHtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2sudXNlciA9IGV2ZW50T3V0Y29tZS50YXNrLnVzZXI7XG4gICAgICAgICAgICB0aGlzLl90YXNrLnN0YXJ0RGF0ZSA9IGV2ZW50T3V0Y29tZS50YXNrLnN0YXJ0RGF0ZTtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2suZmluaXNoRGF0ZSA9IGV2ZW50T3V0Y29tZS50YXNrLmZpbmlzaERhdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBwcm9wZXJ0aWVzIG9mIGZpZWxkcyBpbiB0aGUgbWFuYWdlZCB0YXNrIGJhc2VkIG9uIGEgZGVsdGEgb2YgY2hhbmdlcyBmcm9tIHByZXZpb3VzIHN0YXRlLlxuICAgICAqIEBwYXJhbSBjaEZpZWxkcyBvYmplY3QgY29udGFpbmluZyB0aGUgZGVsdGEgb2YgdGhlIGNoYW5nZXMgZnJvbSB0aGUgcHJldmlvdXMgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlRnJvbUNoYW5nZWRGaWVsZHMoY2hGaWVsZHM6IENoYW5nZWRGaWVsZHMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl90YXNrIHx8ICF0aGlzLl90YXNrLmRhdGFHcm91cHMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyB0b2RvIGFjdGlvbnMgb3duZXIgemJ5dG/EjW7DvT9cbiAgICAgICAgY29uc3QgZnJvbnRlbmRBY3Rpb25zID0gY2hGaWVsZHMudGFza0lkID09PSB0aGlzLnRhc2suc3RyaW5nSWQgJiYgY2hGaWVsZHNbVGFza0NvbnRlbnRTZXJ2aWNlLkZST05URU5EX0FDVElPTlNfS0VZXTtcblxuICAgICAgICBPYmplY3Qua2V5cyhjaEZpZWxkcykuZm9yRWFjaChjaGFuZ2VkRmllbGQgPT4ge1xuICAgICAgICAgICAgaWYgKCEhdGhpcy50YXNrRmllbGRzSW5kZXhbY2hGaWVsZHMudGFza0lkXSAmJiAhIXRoaXMudGFza0ZpZWxkc0luZGV4W2NoRmllbGRzLnRhc2tJZF0uZmllbGRzXG4gICAgICAgICAgICAgICAgJiYgISF0aGlzLnRhc2tGaWVsZHNJbmRleFtjaEZpZWxkcy50YXNrSWRdLmZpZWxkc1tjaGFuZ2VkRmllbGRdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVGaWVsZChjaEZpZWxkcywgdGhpcy50YXNrRmllbGRzSW5kZXhbY2hGaWVsZHMudGFza0lkXS5maWVsZHNbY2hhbmdlZEZpZWxkXSwgZnJvbnRlbmRBY3Rpb25zKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0ZpZWxkSW5UYXNrUmVmKGNoYW5nZWRGaWVsZCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXNrSWQgPSB0aGlzLmdldFJlZmVyZW5jZWRUYXNrSWQoY2hhbmdlZEZpZWxkKTtcbiAgICAgICAgICAgICAgICBpZiAoISF0YXNrSWQgJiYgISF0aGlzLnRhc2tGaWVsZHNJbmRleFt0YXNrSWRdICYmICEhdGhpcy50YXNrRmllbGRzSW5kZXhbdGFza0lkXS5maWVsZHNcbiAgICAgICAgICAgICAgICAgICAgJiYgISF0aGlzLnRhc2tGaWVsZHNJbmRleFt0YXNrSWRdLmZpZWxkc1tjaGFuZ2VkRmllbGRdKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJlZmVyZW5jZWRGaWVsZChjaEZpZWxkcywgdGhpcy50YXNrRmllbGRzSW5kZXhbdGFza0lkXS5maWVsZHNbY2hhbmdlZEZpZWxkXSwgZnJvbnRlbmRBY3Rpb25zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy4kc2hvdWxkQ3JlYXRlLm5leHQodGhpcy5fdGFzay5kYXRhR3JvdXBzKTtcbiAgICAgICAgdGhpcy5wZXJmb3JtRnJvbnRlbmRBY3Rpb24oZnJvbnRlbmRBY3Rpb25zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUZpZWxkKGNoRmllbGRzOiBDaGFuZ2VkRmllbGRzLCBmaWVsZDogRGF0YUZpZWxkPGFueT4sIGZyb250ZW5kQWN0aW9uczogQ2hhbmdlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9maWVsZENvbnZlcnRlclNlcnZpY2UucmVzb2x2ZVR5cGUoZmllbGQpID09PSBGaWVsZFR5cGVSZXNvdXJjZS5UQVNLX1JFRikge1xuICAgICAgICAgICAgdGhpcy5fdGFza0RhdGFSZWxvYWRSZXF1ZXN0JC5uZXh0KGZyb250ZW5kQWN0aW9ucyA/IGZyb250ZW5kQWN0aW9ucyA6IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB1cGRhdGVkRmllbGQgPSBjaEZpZWxkc1tmaWVsZC5zdHJpbmdJZF07XG4gICAgICAgIE9iamVjdC5rZXlzKHVwZGF0ZWRGaWVsZCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICd0eXBlJzpcbiAgICAgICAgICAgICAgICAgICAgLy8gdHlwZSBpcyBqdXN0IGFuIGluZm9ybWF0aW9uLCBub3QgYW4gdXBkYXRlLiBBIGZpZWxkIGNhbm5vdCBjaGFuZ2UgaXRzIHR5cGVcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBjb250aW51ZSAtIHRoZSBmaWVsZCBkb2VzIG5vdCBuZWVkIHVwZGF0aW5nLCBzaW5jZSBub3RoaW5nIGNoYW5nZWRcbiAgICAgICAgICAgICAgICBjYXNlICd2YWx1ZSc6XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnZhbHVlV2l0aG91dENoYW5nZSh0aGlzLl9maWVsZENvbnZlcnRlclNlcnZpY2UuZm9ybWF0VmFsdWVGcm9tQmFja2VuZChmaWVsZCwgdXBkYXRlZEZpZWxkW2tleV0pKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYmVoYXZpb3InOlxuICAgICAgICAgICAgICAgICAgICBpZiAodXBkYXRlZEZpZWxkLmJlaGF2aW9yW3RoaXMuX3Rhc2sudHJhbnNpdGlvbklkXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETyBOR1NELTQ4OSBmaXggYmVoYXZpb3IgcmVzb2x1dGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQuYmVoYXZpb3IgPSB1cGRhdGVkRmllbGQuYmVoYXZpb3JbdGhpcy5fdGFzay50cmFuc2l0aW9uSWRdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbnNpdGlvbklkID0gdGhpcy5nZXRSZWZlcmVuY2VkVHJhbnNpdGlvbklkKGZpZWxkLnN0cmluZ0lkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIXRyYW5zaXRpb25JZCAmJiB0cmFuc2l0aW9uSWQgIT09ICcnICYmIHVwZGF0ZWRGaWVsZC5iZWhhdmlvclt0cmFuc2l0aW9uSWRdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLmJlaGF2aW9yID0gdXBkYXRlZEZpZWxkLmJlaGF2aW9yW3RyYW5zaXRpb25JZF07XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdjaG9pY2VzJzpcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3Q2hvaWNlczogQXJyYXk8RW51bWVyYXRpb25GaWVsZFZhbHVlPiA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAodXBkYXRlZEZpZWxkLmNob2ljZXMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkLmNob2ljZXMuZm9yRWFjaChpdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3Q2hvaWNlcy5wdXNoKHtrZXk6IGl0LCB2YWx1ZTogaXR9IGFzIEVudW1lcmF0aW9uRmllbGRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHVwZGF0ZWRGaWVsZC5jaG9pY2VzKS5mb3JFYWNoKGNob2ljZUtleSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3Q2hvaWNlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBjaG9pY2VLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB1cGRhdGVkRmllbGQuY2hvaWNlc1tjaG9pY2VLZXldXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBFbnVtZXJhdGlvbkZpZWxkVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgKGZpZWxkIGFzIEVudW1lcmF0aW9uRmllbGQgfCBNdWx0aWNob2ljZUZpZWxkKS5jaG9pY2VzID0gbmV3Q2hvaWNlcztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnb3B0aW9ucyc6XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld09wdGlvbnMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXModXBkYXRlZEZpZWxkLm9wdGlvbnMpLmZvckVhY2gob3B0aW9uS2V5ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld09wdGlvbnMucHVzaCh7a2V5OiBvcHRpb25LZXksIHZhbHVlOiB1cGRhdGVkRmllbGQub3B0aW9uc1tvcHRpb25LZXldfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAoZmllbGQgYXMgRW51bWVyYXRpb25GaWVsZCB8IE11bHRpY2hvaWNlRmllbGQpLmNob2ljZXMgPSBuZXdPcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd2YWxpZGF0aW9ucyc6XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnJlcGxhY2VWYWxpZGF0aW9ucyh1cGRhdGVkRmllbGQudmFsaWRhdGlvbnMubWFwKGl0ID0+IChpdCBhcyBWYWxpZGF0aW9uKSkpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBmaWVsZFtrZXldID0gdXBkYXRlZEZpZWxkW2tleV07XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkLnVwZGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVJlZmVyZW5jZWRGaWVsZChjaEZpZWxkczogQ2hhbmdlZEZpZWxkcywgZmllbGQ6IERhdGFGaWVsZDxhbnk+LCBmcm9udGVuZEFjdGlvbnM6IENoYW5nZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fZmllbGRDb252ZXJ0ZXJTZXJ2aWNlLnJlc29sdmVUeXBlKGZpZWxkKSA9PT0gRmllbGRUeXBlUmVzb3VyY2UuVEFTS19SRUYpIHtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2tEYXRhUmVsb2FkUmVxdWVzdCQubmV4dChmcm9udGVuZEFjdGlvbnMgPyBmcm9udGVuZEFjdGlvbnMgOiB1bmRlZmluZWQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRGaWVsZCA9IGNoRmllbGRzW2ZpZWxkLnN0cmluZ0lkXTtcbiAgICAgICAgT2JqZWN0LmtleXModXBkYXRlZEZpZWxkKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JlaGF2aW9yJzpcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbnNpdGlvbklkID0gdGhpcy5nZXRSZWZlcmVuY2VkVHJhbnNpdGlvbklkKGZpZWxkLnN0cmluZ0lkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEhdHJhbnNpdGlvbklkICYmIHRyYW5zaXRpb25JZCAhPT0gJycgJiYgdXBkYXRlZEZpZWxkLmJlaGF2aW9yW3RyYW5zaXRpb25JZF0pXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5iZWhhdmlvciA9IHVwZGF0ZWRGaWVsZC5iZWhhdmlvclt0cmFuc2l0aW9uSWRdO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBmaWVsZFtrZXldID0gdXBkYXRlZEZpZWxkW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC51cGRhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgdGhlIHNwZWNpZmljIGZyb250ZW5kIGFjdGlvbi5cbiAgICAgKlxuICAgICAqIEEgcHJvdG90eXBlIGltcGxlbWVudGF0aW9uIG9mIGZyb250ZW5kIGFjdGlvbnMuXG4gICAgICpcbiAgICAgKiBUaGUgc3BlY2lmaWNzIGFyZSBzdWJqZWN0IHRvIGNoYW5nZS4gSXQgaXMgdmVyeSBsaWtlbHkgdGhhdCB0aGlzIG1ldGhvZCB3aWxsIGJlIG1vdmVkIHRvIGEgZGlmZmVyZW50IHNlcnZpY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZnJvbnRlbmRBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQuXG4gICAgICovXG4gICAgcHVibGljIHBlcmZvcm1Gcm9udGVuZEFjdGlvbihmcm9udGVuZEFjdGlvbjogRnJvbnRlbmRBY3Rpb25zKTogdm9pZCB7XG4gICAgICAgIGlmIChmcm9udGVuZEFjdGlvbiAmJiBmcm9udGVuZEFjdGlvbi50eXBlID09PSBUYXNrQ29udGVudFNlcnZpY2UuVkFMSURBVEVfRlJPTlRFTkRfQUNUSU9OKSB7XG4gICAgICAgICAgICB0aW1lcigpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnZhbGlkYXRlVGFza0RhdGEoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVmZXJlbmNlZEZpZWxkVGFzayhmaWVsZCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnRhc2tGaWVsZHNJbmRleCkuZmluZCh0YXNrSWQgPT4gT2JqZWN0LmtleXModGhpcy50YXNrRmllbGRzSW5kZXhbdGFza0lkXS5maWVsZHMpLmluY2x1ZGVzKGZpZWxkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0ZpZWxkSW5UYXNrUmVmKGNoYW5nZWRGaWVsZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGFza0ZpZWxkc0luZGV4ICYmXG4gICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLnRhc2tGaWVsZHNJbmRleClcbiAgICAgICAgICAgIC5zb21lKHRhc2tJZCA9PiB0YXNrSWQgIT09IHRoaXMudGFzay5zdHJpbmdJZCAmJiB0aGlzLnRhc2tGaWVsZHNJbmRleFt0YXNrSWRdLmZpZWxkc1tjaGFuZ2VkRmllbGRdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlZmVyZW5jZWRUcmFuc2l0aW9uSWQoY2hhbmdlZEZpZWxkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoISF0aGlzLnRhc2tGaWVsZHNJbmRleCkge1xuICAgICAgICAgICBjb25zdCB0YXNrRmllbGRzSW5kZXhJZCA9IHRoaXMuZ2V0UmVmZXJlbmNlZEZpZWxkVGFzayhjaGFuZ2VkRmllbGQpO1xuICAgICAgICAgICByZXR1cm4gdGhpcy50YXNrRmllbGRzSW5kZXhbdGFza0ZpZWxkc0luZGV4SWRdLnRyYW5zaXRpb25JZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UmVmZXJlbmNlZFRhc2tJZChjaGFuZ2VkRmllbGQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICghIXRoaXMudGFza0ZpZWxkc0luZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gIE9iamVjdC5rZXlzKHRoaXMudGFza0ZpZWxkc0luZGV4KS5maW5kKHRhc2tJZCA9PlxuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMudGFza0ZpZWxkc0luZGV4W3Rhc2tJZF0uZmllbGRzKS5pbmNsdWRlcyhjaGFuZ2VkRmllbGQpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { ReplaySubject } from 'rxjs';
|
|
2
2
|
import { Component } from '@angular/core';
|
|
3
|
+
import { ConfigParams } from '../../panel/configuration/config-params';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "./sortable-view";
|
|
6
|
+
import * as i2 from "@angular/router";
|
|
5
7
|
export class AbstractViewWithHeadersComponent {
|
|
6
|
-
constructor(_sortableView) {
|
|
8
|
+
constructor(_sortableView, _activatedRoute) {
|
|
7
9
|
this._sortableView = _sortableView;
|
|
10
|
+
this._activatedRoute = _activatedRoute;
|
|
8
11
|
this._selectedHeaders$ = new ReplaySubject(1);
|
|
12
|
+
if (!!_activatedRoute) {
|
|
13
|
+
this._activatedRoute.queryParams.subscribe(paramMap => this.config = paramMap);
|
|
14
|
+
}
|
|
9
15
|
}
|
|
10
16
|
get selectedHeaders$() {
|
|
11
17
|
return this._selectedHeaders$.asObservable();
|
|
@@ -19,8 +25,11 @@ export class AbstractViewWithHeadersComponent {
|
|
|
19
25
|
ngOnDestroy() {
|
|
20
26
|
this._selectedHeaders$.complete();
|
|
21
27
|
}
|
|
28
|
+
showHeader() {
|
|
29
|
+
return !(this.config?.[ConfigParams.PANEL_HEADER] === 'false');
|
|
30
|
+
}
|
|
22
31
|
}
|
|
23
|
-
AbstractViewWithHeadersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractViewWithHeadersComponent, deps: [{ token: i1.AbstractSortableViewComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
AbstractViewWithHeadersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractViewWithHeadersComponent, deps: [{ token: i1.AbstractSortableViewComponent }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
24
33
|
AbstractViewWithHeadersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractViewWithHeadersComponent, selector: "ncc-abstract-view-with-headers", ngImport: i0, template: '', isInline: true });
|
|
25
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractViewWithHeadersComponent, decorators: [{
|
|
26
35
|
type: Component,
|
|
@@ -28,5 +37,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
28
37
|
selector: 'ncc-abstract-view-with-headers',
|
|
29
38
|
template: ''
|
|
30
39
|
}]
|
|
31
|
-
}], ctorParameters: function () { return [{ type: i1.AbstractSortableViewComponent }]; } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
}], ctorParameters: function () { return [{ type: i1.AbstractSortableViewComponent }, { type: i2.ActivatedRoute }]; } });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy13aXRoLWhlYWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3ZpZXcvYWJzdHJhY3Qvdmlldy13aXRoLWhlYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUkvQyxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7OztBQU12RSxNQUFNLE9BQWdCLGdDQUFnQztJQUtsRCxZQUE4QixhQUE2QyxFQUFZLGVBQWdDO1FBQXpGLGtCQUFhLEdBQWIsYUFBYSxDQUFnQztRQUFZLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNuSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxhQUFhLENBQXNCLENBQUMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxDQUFDLGVBQWUsRUFBRTtZQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1NBQ2xGO0lBQ0wsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxlQUF3QztRQUMvRCxlQUFlLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUMxSCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN4RjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVO1FBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQTtJQUNsRSxDQUFDOzs4SEE3QmlCLGdDQUFnQztrSEFBaEMsZ0NBQWdDLHNFQUZ4QyxFQUFFOzRGQUVNLGdDQUFnQztrQkFKckQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxRQUFRLEVBQUUsRUFBRTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0hlYWRlckNvbHVtbn0gZnJvbSAnLi4vLi4vaGVhZGVyL21vZGVscy9oZWFkZXItY29sdW1uJztcbmltcG9ydCB7QWJzdHJhY3RIZWFkZXJDb21wb25lbnR9IGZyb20gJy4uLy4uL2hlYWRlci9hYnN0cmFjdC1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7QWJzdHJhY3RTb3J0YWJsZVZpZXdDb21wb25lbnR9IGZyb20gJy4vc29ydGFibGUtdmlldyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb25maWdQYXJhbXMgfSBmcm9tICcuLi8uLi9wYW5lbC9jb25maWd1cmF0aW9uL2NvbmZpZy1wYXJhbXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jYy1hYnN0cmFjdC12aWV3LXdpdGgtaGVhZGVycycsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Vmlld1dpdGhIZWFkZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHB1YmxpYyBjb25maWc6IFBhcmFtcztcbiAgICBwcm90ZWN0ZWQgX3NlbGVjdGVkSGVhZGVycyQ6IFJlcGxheVN1YmplY3Q8QXJyYXk8SGVhZGVyQ29sdW1uPj47XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJpdmF0ZSBfc29ydGFibGVWaWV3PzogQWJzdHJhY3RTb3J0YWJsZVZpZXdDb21wb25lbnQsIHByb3RlY3RlZCBfYWN0aXZhdGVkUm91dGU/OiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEhlYWRlcnMkID0gbmV3IFJlcGxheVN1YmplY3Q8QXJyYXk8SGVhZGVyQ29sdW1uPj4oMSk7XG4gICAgICAgIGlmICghIV9hY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICAgICAgdGhpcy5fYWN0aXZhdGVkUm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtTWFwID0+IHRoaXMuY29uZmlnID0gcGFyYW1NYXApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzZWxlY3RlZEhlYWRlcnMkKCk6IE9ic2VydmFibGU8QXJyYXk8SGVhZGVyQ29sdW1uPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRIZWFkZXJzJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZUhlYWRlcihoZWFkZXJDb21wb25lbnQ6IEFic3RyYWN0SGVhZGVyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGhlYWRlckNvbXBvbmVudC5oZWFkZXJTZXJ2aWNlLnNlbGVjdGVkSGVhZGVycyQuc3Vic2NyaWJlKHNlbGVjdGVkSGVhZGVycyA9PiB0aGlzLl9zZWxlY3RlZEhlYWRlcnMkLm5leHQoc2VsZWN0ZWRIZWFkZXJzKSk7XG4gICAgICAgIGlmICghIXRoaXMuX3NvcnRhYmxlVmlldykge1xuICAgICAgICAgICAgdGhpcy5fc29ydGFibGVWaWV3LnJlZ2lzdGVySGVhZGVyQ2hhbmdlKGhlYWRlckNvbXBvbmVudC5oZWFkZXJTZXJ2aWNlLmhlYWRlckNoYW5nZSQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkSGVhZGVycyQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBzaG93SGVhZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISh0aGlzLmNvbmZpZz8uW0NvbmZpZ1BhcmFtcy5QQU5FTF9IRUFERVJdID09PSAnZmFsc2UnKVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -5,16 +5,18 @@ import { Component, Inject, Optional } from '@angular/core';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "./service/case-view-service";
|
|
7
7
|
import * as i2 from "../../header/services/overflow.service";
|
|
8
|
+
import * as i3 from "@angular/router";
|
|
8
9
|
export class AbstractCaseViewComponent extends AbstractViewWithHeadersComponent {
|
|
9
10
|
constructor(_caseViewService, _overflowService, _authority = [{ authority: 'ROLE_USER' }], _newCaseCreationConfig = {
|
|
10
11
|
enableCaseTitle: true,
|
|
11
12
|
isCaseTitleRequired: true
|
|
12
|
-
}) {
|
|
13
|
-
super(_caseViewService);
|
|
13
|
+
}, _activatedRoute) {
|
|
14
|
+
super(_caseViewService, _activatedRoute);
|
|
14
15
|
this._caseViewService = _caseViewService;
|
|
15
16
|
this._overflowService = _overflowService;
|
|
16
17
|
this._authority = _authority;
|
|
17
18
|
this._newCaseCreationConfig = _newCaseCreationConfig;
|
|
19
|
+
this._activatedRoute = _activatedRoute;
|
|
18
20
|
this.MINIMAL_OFFSET = 120;
|
|
19
21
|
this.headerType = HeaderType.CASE;
|
|
20
22
|
this._caseViewService.loading$.subscribe(loading => {
|
|
@@ -26,13 +28,8 @@ export class AbstractCaseViewComponent extends AbstractViewWithHeadersComponent
|
|
|
26
28
|
this.cases$ = this._caseViewService.cases$;
|
|
27
29
|
this.authorityToCreate = _authority.map(a => a.authority);
|
|
28
30
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return this._caseViewService.createDefaultNewCase();
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
return this._caseViewService.createNewCase(this._newCaseCreationConfig);
|
|
35
|
-
}
|
|
31
|
+
get newCaseCreationConfig() {
|
|
32
|
+
return this._newCaseCreationConfig;
|
|
36
33
|
}
|
|
37
34
|
hasAuthority() {
|
|
38
35
|
return (this._caseViewService.hasAuthority(this.authorityToCreate) && this.canCreate);
|
|
@@ -51,7 +48,7 @@ export class AbstractCaseViewComponent extends AbstractViewWithHeadersComponent
|
|
|
51
48
|
}
|
|
52
49
|
}
|
|
53
50
|
}
|
|
54
|
-
AbstractCaseViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractCaseViewComponent, deps: [{ token: i1.CaseViewService }, { token: i2.OverflowService }, { token: Array }, { token: NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
51
|
+
AbstractCaseViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractCaseViewComponent, deps: [{ token: i1.CaseViewService }, { token: i2.OverflowService }, { token: Array }, { token: NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, optional: true }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
52
|
AbstractCaseViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractCaseViewComponent, selector: "ncc-abstract-case-view", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
56
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractCaseViewComponent, decorators: [{
|
|
57
54
|
type: Component,
|
|
@@ -64,5 +61,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
64
61
|
}, {
|
|
65
62
|
type: Inject,
|
|
66
63
|
args: [NAE_NEW_CASE_CREATION_CONFIGURATION_DATA]
|
|
67
|
-
}] }]; } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
}] }, { type: i3.ActivatedRoute }]; } });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY2FzZS12aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi92aWV3L2Nhc2Utdmlldy9hYnN0cmFjdC1jYXNlLXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRTNELE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRy9FLE9BQU8sRUFDSCx3Q0FBd0MsRUFFM0MsTUFBTSwyRUFBMkUsQ0FBQztBQUNuRixPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7Ozs7O0FBT3JFLE1BQU0sT0FBZ0IseUJBQTBCLFNBQVEsZ0NBQWdDO0lBVXBGLFlBQWdDLGdCQUFpQyxFQUNqQyxnQkFBa0MsRUFDbEMsYUFBK0IsQ0FBQyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxFQUNLLHlCQUEyRDtRQUMvSCxlQUFlLEVBQUUsSUFBSTtRQUNyQixtQkFBbUIsRUFBRSxJQUFJO0tBQzVCLEVBQ1MsZUFBZ0M7UUFDNUQsS0FBSyxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBUmIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQStDO1FBQ0ssMkJBQXNCLEdBQXRCLHNCQUFzQixDQUc3RjtRQUNTLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQWZoRCxtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUNyQixlQUFVLEdBQWUsVUFBVSxDQUFDLElBQUksQ0FBQztRQWdCckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN0RixJQUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUNyQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUN2QyxDQUFDO0lBSU0sWUFBWTtRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRU0sUUFBUTtRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN2RyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNwSCxDQUFDO0lBRU0saUJBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDOUUsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkM7SUFDTCxDQUFDOzt1SEFyRGlCLHlCQUF5QixnRkFZQyxLQUFLLGFBQ1Asd0NBQXdDOzJHQWJoRSx5QkFBeUIscUZBRmpDLEVBQUU7NEZBRU0seUJBQXlCO2tCQUo5QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxFQUFFO2lCQUNmO3NIQWErQyxLQUFLOzBCQUMxQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHdDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FzZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9jYXNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7SGVhZGVyVHlwZX0gZnJvbSAnLi4vLi4vaGVhZGVyL21vZGVscy9oZWFkZXItdHlwZSc7XG5pbXBvcnQge0Nhc2VWaWV3U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL2Nhc2Utdmlldy1zZXJ2aWNlJztcbmltcG9ydCB7QWJzdHJhY3RWaWV3V2l0aEhlYWRlcnNDb21wb25lbnR9IGZyb20gJy4uL2Fic3RyYWN0L3ZpZXctd2l0aC1oZWFkZXJzJztcbmltcG9ydCB7QXV0aG9yaXR5fSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2F1dGhvcml0eSc7XG5pbXBvcnQge092ZXJmbG93U2VydmljZX0gZnJvbSAnLi4vLi4vaGVhZGVyL3NlcnZpY2VzL292ZXJmbG93LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgICBOQUVfTkVXX0NBU0VfQ1JFQVRJT05fQ09ORklHVVJBVElPTl9EQVRBLFxuICAgIE5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb25EYXRhXG59IGZyb20gJy4uLy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvbmV3LWNhc2UvbW9kZWwvbmV3LWNhc2UtaW5qZWN0aW9uLWRhdGEnO1xuaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LWNhc2UtdmlldycsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Q2FzZVZpZXdDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFZpZXdXaXRoSGVhZGVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveXtcblxuICAgIHB1YmxpYyByZWFkb25seSBNSU5JTUFMX09GRlNFVCA9IDEyMDtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaGVhZGVyVHlwZTogSGVhZGVyVHlwZSA9IEhlYWRlclR5cGUuQ0FTRTtcbiAgICBwdWJsaWMgY2FzZXMkOiBPYnNlcnZhYmxlPEFycmF5PENhc2U+PjtcbiAgICBwdWJsaWMgbG9hZGluZzogYm9vbGVhbjtcbiAgICBwdWJsaWMgY2FuQ3JlYXRlOiBib29sZWFuO1xuICAgIHB1YmxpYyBhdXRob3JpdHlUb0NyZWF0ZTogQXJyYXk8c3RyaW5nPjtcbiAgICBwcm90ZWN0ZWQgY2FuQ3JlYXRlU3ViOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jYXNlVmlld1NlcnZpY2U6IENhc2VWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9vdmVyZmxvd1NlcnZpY2U/OiBPdmVyZmxvd1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfYXV0aG9yaXR5OiBBcnJheTxBdXRob3JpdHk+ID0gW3thdXRob3JpdHk6ICdST0xFX1VTRVInfV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX05FV19DQVNFX0NSRUFUSU9OX0NPTkZJR1VSQVRJT05fREFUQSkgcHJvdGVjdGVkIF9uZXdDYXNlQ3JlYXRpb25Db25maWc6IE5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb25EYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlQ2FzZVRpdGxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNDYXNlVGl0bGVSZXF1aXJlZDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlPzogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgc3VwZXIoX2Nhc2VWaWV3U2VydmljZSwgX2FjdGl2YXRlZFJvdXRlKTtcbiAgICAgICAgdGhpcy5fY2FzZVZpZXdTZXJ2aWNlLmxvYWRpbmckLnN1YnNjcmliZShsb2FkaW5nID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGxvYWRpbmc7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhbkNyZWF0ZVN1YiA9IHRoaXMuX2Nhc2VWaWV3U2VydmljZS5nZXROZXdDYXNlQWxsb3dlZE5ldHMoKS5zdWJzY3JpYmUoYWxsb3dlZE5ldHMgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYW5DcmVhdGUgPSBhbGxvd2VkTmV0cy5sZW5ndGggPiAwO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXNlcyQgPSB0aGlzLl9jYXNlVmlld1NlcnZpY2UuY2FzZXMkO1xuICAgICAgICB0aGlzLmF1dGhvcml0eVRvQ3JlYXRlID0gX2F1dGhvcml0eS5tYXAoYSA9PiBhLmF1dGhvcml0eSk7XG4gICAgfVxuXG4gICAgZ2V0IG5ld0Nhc2VDcmVhdGlvbkNvbmZpZygpOiBOZXdDYXNlQ3JlYXRpb25Db25maWd1cmF0aW9uRGF0YSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uZXdDYXNlQ3JlYXRpb25Db25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGFic3RyYWN0IGhhbmRsZUNhc2VDbGljayhjbGlja2VkQ2FzZTogQ2FzZSk6IHZvaWQ7XG5cbiAgICBwdWJsaWMgaGFzQXV0aG9yaXR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuX2Nhc2VWaWV3U2VydmljZS5oYXNBdXRob3JpdHkodGhpcy5hdXRob3JpdHlUb0NyZWF0ZSkgJiYgdGhpcy5jYW5DcmVhdGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9vdmVyZmxvd1NlcnZpY2UgJiYgdGhpcy5fb3ZlcmZsb3dTZXJ2aWNlLm92ZXJmbG93TW9kZSAmJiB0aGlzLl9vdmVyZmxvd1NlcnZpY2UuY29sdW1uQ291bnQpID9cbiAgICAgICAgICAgIGAke3RoaXMuX292ZXJmbG93U2VydmljZS5jb2x1bW5Db3VudCAqIHRoaXMuX292ZXJmbG93U2VydmljZS5jb2x1bW5XaWR0aCArIHRoaXMuTUlOSU1BTF9PRkZTRVR9cHhgIDogJzEwMCUnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPdmVyZmxvd1N0YXR1cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX292ZXJmbG93U2VydmljZSA/IHRoaXMuX292ZXJmbG93U2VydmljZS5vdmVyZmxvd01vZGUgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgaWYgKHRoaXMuY2FuQ3JlYXRlU3ViKSB7XG4gICAgICAgICAgICB0aGlzLmNhbkNyZWF0ZVN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Component, Inject, Optional, ViewChild } from '@angular/core';
|
|
2
2
|
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
3
3
|
import { NAE_TAB_DATA } from '../../../../tabs/tab-data-injection-token/tab-data-injection-token';
|
|
4
|
-
import {
|
|
4
|
+
import { AbstractDefaultCaseListComponent } from '../default-case-list/abstract-default-case-list.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "../../service/case-view-service";
|
|
7
7
|
import * as i2 from "../../../../logger/services/logger.service";
|
|
8
8
|
import * as i3 from "@angular/router";
|
|
9
|
-
export class AbstractCaseListComponent extends
|
|
9
|
+
export class AbstractCaseListComponent extends AbstractDefaultCaseListComponent {
|
|
10
10
|
constructor(_caseViewService, _log, injectedTabData, route) {
|
|
11
11
|
super(_caseViewService, _log, injectedTabData, route);
|
|
12
12
|
this._caseViewService = _caseViewService;
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
45
45
|
type: ViewChild,
|
|
46
46
|
args: [CdkVirtualScrollViewport]
|
|
47
47
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY2FzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdmlldy9jYXNlLXZpZXcvY29tcG9uZW50cy9jYXNlLWxpc3QvYWJzdHJhY3QtY2FzZS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRWhFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUdoRyxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQzs7Ozs7QUFNM0csTUFBTSxPQUFnQix5QkFBMEIsU0FBUSxnQ0FBZ0M7SUFJcEYsWUFBZ0MsZ0JBQWlDLEVBQ2pDLElBQW1CLEVBQ0ssZUFBZ0MsRUFDeEQsS0FBc0I7UUFDbEQsS0FBSyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFKMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxTQUFJLEdBQUosSUFBSSxDQUFlO1FBRW5CLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBRWxELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxDQUFDO1FBQ1osT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVNLFlBQVk7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDcEcsQ0FBQzs7dUhBMUJpQix5QkFBeUIsOEVBTUQsWUFBWTsyR0FOcEMseUJBQXlCLHdHQUVoQyx3QkFBd0IsdUVBSnpCLEVBQUU7NEZBRU0seUJBQXlCO2tCQUo5QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzswQkFPMEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxZQUFZO3lFQUpWLFFBQVE7c0JBQW5ELFNBQVM7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2FzZVZpZXdTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2Nhc2Utdmlldy1zZXJ2aWNlJztcbmltcG9ydCB7Q2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0fSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7TkFFX1RBQl9EQVRBfSBmcm9tICcuLi8uLi8uLi8uLi90YWJzL3RhYi1kYXRhLWluamVjdGlvbi10b2tlbi90YWItZGF0YS1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtJbmplY3RlZFRhYkRhdGF9IGZyb20gJy4uLy4uLy4uLy4uL3RhYnMvaW50ZXJmYWNlcyc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtBYnN0cmFjdERlZmF1bHRDYXNlTGlzdENvbXBvbmVudH0gZnJvbSAnLi4vZGVmYXVsdC1jYXNlLWxpc3QvYWJzdHJhY3QtZGVmYXVsdC1jYXNlLWxpc3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtY2FzZS1saXN0JyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RDYXNlTGlzdENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RGVmYXVsdENhc2VMaXN0Q29tcG9uZW50IHtcblxuICAgIEBWaWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KSBwdWJsaWMgdmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2Nhc2VWaWV3U2VydmljZTogQ2FzZVZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfVEFCX0RBVEEpIGluamVjdGVkVGFiRGF0YTogSW5qZWN0ZWRUYWJEYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgcm91dGU/OiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICBzdXBlcihfY2FzZVZpZXdTZXJ2aWNlLCBfbG9nLCBpbmplY3RlZFRhYkRhdGEsIHJvdXRlKTtcbiAgICAgICAgdGhpcy5jYXNlcyQgPSB0aGlzLl9jYXNlVmlld1NlcnZpY2UuY2FzZXMkO1xuICAgICAgICB0aGlzLm9uUmVkaXJlY3QoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhY2tCeShpKTogYW55IHtcbiAgICAgICAgcmV0dXJuIGk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2FkZWREYXRhU2l6ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52aWV3cG9ydCAmJiB0aGlzLnZpZXdwb3J0LmdldERhdGFMZW5ndGgoKSA/IHRoaXMudmlld3BvcnQuZ2V0RGF0YUxlbmd0aCgpIDogMDtcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9hZE5leHRQYWdlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudmlld3BvcnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jYXNlVmlld1NlcnZpY2UubmV4dFBhZ2UodGhpcy52aWV3cG9ydC5nZXRSZW5kZXJlZFJhbmdlKCksIHRoaXMudmlld3BvcnQuZ2V0RGF0YUxlbmd0aCgpKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Component, Inject, Optional } from '@angular/core';
|
|
2
2
|
import { tap } from 'rxjs/operators';
|
|
3
3
|
import { NAE_TAB_DATA } from '../../../../tabs/tab-data-injection-token/tab-data-injection-token';
|
|
4
|
-
import {
|
|
4
|
+
import { AbstractDefaultCaseListComponent } from '../default-case-list/abstract-default-case-list.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "../../service/case-view-service";
|
|
7
7
|
import * as i2 from "../../../../logger/services/logger.service";
|
|
8
8
|
import * as i3 from "@angular/router";
|
|
9
|
-
export class AbstractCaseListPaginatorComponent extends
|
|
9
|
+
export class AbstractCaseListPaginatorComponent extends AbstractDefaultCaseListComponent {
|
|
10
10
|
constructor(_caseViewService, _log, injectedTabData, route) {
|
|
11
11
|
super(_caseViewService, _log, injectedTabData, route);
|
|
12
12
|
this._caseViewService = _caseViewService;
|
|
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
44
44
|
type: Inject,
|
|
45
45
|
args: [NAE_TAB_DATA]
|
|
46
46
|
}] }, { type: i3.ActivatedRoute }]; } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY2FzZS1saXN0LXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3ZpZXcvY2FzZS12aWV3L2NvbXBvbmVudHMvY2FzZS1saXN0LXBhZ2luYXRvci9hYnN0cmFjdC1jYXNlLWxpc3QtcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFMUQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSW5DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUVoRyxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQzs7Ozs7QUFNM0csTUFBTSxPQUFnQixrQ0FBbUMsU0FBUSxnQ0FBZ0M7SUFPN0YsWUFBc0IsZ0JBQWlDLEVBQ2pDLElBQW1CLEVBQ0ssZUFBZ0MsRUFDeEQsS0FBc0I7UUFDeEMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFKcEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxTQUFJLEdBQUosSUFBSSxDQUFlO1FBRW5CLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBUHJDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2Qsb0JBQWUsR0FBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFPNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ3JELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7WUFDN0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxhQUFhLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWMsRUFBRSxJQUFVO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDOztnSUEzQmlCLGtDQUFrQyw4RUFTcEIsWUFBWTtvSEFUMUIsa0NBQWtDLCtGQUYxQyxFQUFFOzRGQUVNLGtDQUFrQztrQkFKdkQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxRQUFRLEVBQUUsRUFBRTtpQkFDZjs7MEJBVWdCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge3RhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDYXNlfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2Nhc2UnO1xuaW1wb3J0IHtDYXNlVmlld1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvY2FzZS12aWV3LXNlcnZpY2UnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtOQUVfVEFCX0RBVEF9IGZyb20gJy4uLy4uLy4uLy4uL3RhYnMvdGFiLWRhdGEtaW5qZWN0aW9uLXRva2VuL3RhYi1kYXRhLWluamVjdGlvbi10b2tlbic7XG5pbXBvcnQge0luamVjdGVkVGFiRGF0YX0gZnJvbSAnLi4vLi4vLi4vLi4vdGFicy9pbnRlcmZhY2VzJztcbmltcG9ydCB7QWJzdHJhY3REZWZhdWx0Q2FzZUxpc3RDb21wb25lbnR9IGZyb20gJy4uL2RlZmF1bHQtY2FzZS1saXN0L2Fic3RyYWN0LWRlZmF1bHQtY2FzZS1saXN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LWNhc2UtbGlzdC1wYWdpbmF0b3InLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdENhc2VMaXN0UGFnaW5hdG9yQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3REZWZhdWx0Q2FzZUxpc3RDb21wb25lbnQge1xuXG4gICAgcHVibGljIGxlbmd0aDogbnVtYmVyO1xuICAgIHB1YmxpYyBwYWdlU2l6ZSA9IDIwO1xuICAgIHB1YmxpYyBwYWdlSW5kZXggPSAwO1xuICAgIHB1YmxpYyBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdID0gWzEwLCAyMCwgNTBdO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jYXNlVmlld1NlcnZpY2U6IENhc2VWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9UQUJfREFUQSkgaW5qZWN0ZWRUYWJEYXRhOiBJbmplY3RlZFRhYkRhdGEsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIHJvdXRlPzogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgc3VwZXIoX2Nhc2VWaWV3U2VydmljZSwgX2xvZywgaW5qZWN0ZWRUYWJEYXRhLCByb3V0ZSk7XG4gICAgICAgIHRoaXMuY2FzZXMkID0gdGhpcy5fY2FzZVZpZXdTZXJ2aWNlLmNhc2VzJC5waXBlKHRhcCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxlbmd0aCA9IHRoaXMuX2Nhc2VWaWV3U2VydmljZS5wYWdpbmF0aW9uLnRvdGFsRWxlbWVudHM7XG4gICAgICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMuX2Nhc2VWaWV3U2VydmljZS5wYWdpbmF0aW9uLm51bWJlcjtcbiAgICAgICAgfSkpO1xuICAgICAgICB0aGlzLm9uUmVkaXJlY3QoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25QYWdlQ2hhbmdlZChlKSB7XG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gZS5wYWdlSW5kZXg7XG4gICAgICAgIHRoaXMucGFnZVNpemUgPSBlLnBhZ2VTaXplO1xuICAgICAgICB0aGlzLl9jYXNlVmlld1NlcnZpY2UubmV4dFBhZ2VQYWdpbmF0aW9uKHRoaXMucGFnZVNpemUsIHRoaXMucGFnZUluZGV4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhY2tCeUlkKF9pbmRleDogbnVtYmVyLCBjYXplOiBDYXNlKSB7XG4gICAgICAgIHJldHVybiBjYXplLnN0cmluZ0lkO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Component, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { NAE_TAB_DATA } from '../../../../tabs/tab-data-injection-token/tab-data-injection-token';
|
|
4
|
+
import { filter, takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { TabbedVirtualScrollComponent } from '../../../../panel/abstract/tabbed-virtual-scroll.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../service/case-view-service";
|
|
8
|
+
import * as i2 from "../../../../logger/services/logger.service";
|
|
9
|
+
import * as i3 from "@angular/router";
|
|
10
|
+
export class AbstractDefaultCaseListComponent extends TabbedVirtualScrollComponent {
|
|
11
|
+
constructor(_caseViewService, _log, injectedTabData, route) {
|
|
12
|
+
super(injectedTabData);
|
|
13
|
+
this._caseViewService = _caseViewService;
|
|
14
|
+
this._log = _log;
|
|
15
|
+
this.route = route;
|
|
16
|
+
this.responsiveBody = true;
|
|
17
|
+
this.showCasePanelIcon = true;
|
|
18
|
+
this.showDeleteMenu = false;
|
|
19
|
+
this.textEllipsis = false;
|
|
20
|
+
this.redirectEnabled = true;
|
|
21
|
+
this.unsubscribe$ = new Subject();
|
|
22
|
+
this.loading$ = this._caseViewService.loading$;
|
|
23
|
+
this.caseClick = new EventEmitter();
|
|
24
|
+
}
|
|
25
|
+
ngOnDestroy() {
|
|
26
|
+
super.ngOnDestroy();
|
|
27
|
+
this.caseClick.complete();
|
|
28
|
+
this.unsubscribe$.complete();
|
|
29
|
+
}
|
|
30
|
+
onCaseClick(case_) {
|
|
31
|
+
this.caseClick.emit(case_);
|
|
32
|
+
}
|
|
33
|
+
onRedirect() {
|
|
34
|
+
if (!this.redirectEnabled) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.route.queryParams.pipe(filter(pm => !!pm['caseId'])).subscribe(paramMap => {
|
|
38
|
+
this.redirectCaseId = paramMap['caseId'];
|
|
39
|
+
this.cases$.pipe(takeUntil(this.unsubscribe$)).subscribe(cases => {
|
|
40
|
+
if (cases !== undefined && cases.length > 0) {
|
|
41
|
+
const _case = cases.find(c => c.stringId === this.redirectCaseId);
|
|
42
|
+
if (_case !== undefined) {
|
|
43
|
+
this.caseClick.emit(_case);
|
|
44
|
+
this.unsubscribe$.next();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
AbstractDefaultCaseListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDefaultCaseListComponent, deps: [{ token: i1.CaseViewService }, { token: i2.LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
AbstractDefaultCaseListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractDefaultCaseListComponent, selector: "ncc-abstract-default-case-list", inputs: { selectedHeaders$: "selectedHeaders$", responsiveBody: "responsiveBody", showCasePanelIcon: "showCasePanelIcon", showDeleteMenu: "showDeleteMenu", textEllipsis: "textEllipsis", width: "width", redirectEnabled: "redirectEnabled" }, outputs: { caseClick: "caseClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDefaultCaseListComponent, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
args: [{
|
|
56
|
+
selector: 'ncc-abstract-default-case-list',
|
|
57
|
+
template: ''
|
|
58
|
+
}]
|
|
59
|
+
}], ctorParameters: function () { return [{ type: i1.CaseViewService }, { type: i2.LoggerService }, { type: undefined, decorators: [{
|
|
60
|
+
type: Optional
|
|
61
|
+
}, {
|
|
62
|
+
type: Inject,
|
|
63
|
+
args: [NAE_TAB_DATA]
|
|
64
|
+
}] }, { type: i3.ActivatedRoute }]; }, propDecorators: { selectedHeaders$: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], responsiveBody: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], caseClick: [{
|
|
69
|
+
type: Output
|
|
70
|
+
}], showCasePanelIcon: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], showDeleteMenu: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], textEllipsis: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], width: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], redirectEnabled: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}] } });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGVmYXVsdC1jYXNlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi92aWV3L2Nhc2Utdmlldy9jb21wb25lbnRzL2RlZmF1bHQtY2FzZS1saXN0L2Fic3RyYWN0LWRlZmF1bHQtY2FzZS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLFFBQVEsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUt6QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFHaEcsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQzs7Ozs7QUFNeEcsTUFBTSxPQUFnQixnQ0FBaUMsU0FBUSw0QkFBNEI7SUFnQnZGLFlBQXNCLGdCQUFpQyxFQUNqQyxJQUFtQixFQUNLLGVBQWdDLEVBQ3hELEtBQXNCO1FBQ3hDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUpMLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUVuQixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQWhCbkMsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFFdEIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBWTVCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQVc7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN2QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzNFLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzdELElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDekMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUNsRSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7d0JBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO3FCQUM1QjtpQkFDSjtZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs4SEFyRGlCLGdDQUFnQyw4RUFrQmxCLFlBQVk7a0hBbEIxQixnQ0FBZ0Msa1hBRnhDLEVBQUU7NEZBRU0sZ0NBQWdDO2tCQUpyRCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQ0FBZ0M7b0JBQzFDLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzswQkFtQmdCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsWUFBWTt5RUFoQm5DLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0UsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT3B0aW9uYWwsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDYXNlfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2Nhc2UnO1xuaW1wb3J0IHtIZWFkZXJDb2x1bW59IGZyb20gJy4uLy4uLy4uLy4uL2hlYWRlci9tb2RlbHMvaGVhZGVyLWNvbHVtbic7XG5pbXBvcnQge0Nhc2VWaWV3U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9jYXNlLXZpZXctc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge05BRV9UQUJfREFUQX0gZnJvbSAnLi4vLi4vLi4vLi4vdGFicy90YWItZGF0YS1pbmplY3Rpb24tdG9rZW4vdGFiLWRhdGEtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7SW5qZWN0ZWRUYWJEYXRhfSBmcm9tICcuLi8uLi8uLi8uLi90YWJzL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VGFiYmVkVmlydHVhbFNjcm9sbENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vcGFuZWwvYWJzdHJhY3QvdGFiYmVkLXZpcnR1YWwtc2Nyb2xsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LWRlZmF1bHQtY2FzZS1saXN0JyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REZWZhdWx0Q2FzZUxpc3RDb21wb25lbnQgZXh0ZW5kcyBUYWJiZWRWaXJ0dWFsU2Nyb2xsQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIHNlbGVjdGVkSGVhZGVycyQ6IE9ic2VydmFibGU8QXJyYXk8SGVhZGVyQ29sdW1uPj47XG4gICAgQElucHV0KCkgcmVzcG9uc2l2ZUJvZHkgPSB0cnVlO1xuICAgIEBPdXRwdXQoKSBjYXNlQ2xpY2s6IEV2ZW50RW1pdHRlcjxDYXNlPjtcbiAgICBASW5wdXQoKSBzaG93Q2FzZVBhbmVsSWNvbiA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd0RlbGV0ZU1lbnUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB0ZXh0RWxsaXBzaXMgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB3aWR0aDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHJlZGlyZWN0RW5hYmxlZCA9IHRydWU7XG5cbiAgICBwdWJsaWMgY2FzZXMkOiBPYnNlcnZhYmxlPEFycmF5PENhc2U+PjtcbiAgICBwdWJsaWMgbG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHJvdGVjdGVkIHJlZGlyZWN0Q2FzZUlkOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIHVuc3Vic2NyaWJlJDogU3ViamVjdDx2b2lkPjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfY2FzZVZpZXdTZXJ2aWNlOiBDYXNlVmlld1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfVEFCX0RBVEEpIGluamVjdGVkVGFiRGF0YTogSW5qZWN0ZWRUYWJEYXRhLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCByb3V0ZT86IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgICAgIHN1cGVyKGluamVjdGVkVGFiRGF0YSk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nJCA9IHRoaXMuX2Nhc2VWaWV3U2VydmljZS5sb2FkaW5nJDtcbiAgICAgICAgdGhpcy5jYXNlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENhc2U+KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuY2FzZUNsaWNrLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2FzZUNsaWNrKGNhc2VfOiBDYXNlKSB7XG4gICAgICAgIHRoaXMuY2FzZUNsaWNrLmVtaXQoY2FzZV8pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJlZGlyZWN0KCkge1xuICAgICAgICBpZiAoIXRoaXMucmVkaXJlY3RFbmFibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnBpcGUoZmlsdGVyKHBtID0+ICEhcG1bJ2Nhc2VJZCddKSkuc3Vic2NyaWJlKHBhcmFtTWFwID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVkaXJlY3RDYXNlSWQgPSBwYXJhbU1hcFsnY2FzZUlkJ107XG4gICAgICAgICAgICB0aGlzLmNhc2VzJC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZShjYXNlcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNhc2VzICE9PSB1bmRlZmluZWQgJiYgY2FzZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBfY2FzZSA9IGNhc2VzLmZpbmQoYyA9PiBjLnN0cmluZ0lkID09PSB0aGlzLnJlZGlyZWN0Q2FzZUlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKF9jYXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FzZUNsaWNrLmVtaXQoX2Nhc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -10,18 +10,20 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
import * as i1 from "./service/case-view-service";
|
|
11
11
|
import * as i2 from "../../logger/services/logger.service";
|
|
12
12
|
import * as i3 from "../../header/services/overflow.service";
|
|
13
|
+
import * as i4 from "@angular/router";
|
|
13
14
|
export class AbstractTabbedCaseViewComponent extends AbstractCaseViewComponent {
|
|
14
15
|
constructor(caseViewService, _loggerService, _injectedTabData, _overflowService, _autoswitchToTaskTab = true, _openExistingTab = true, _newCaseCreationConfig = {
|
|
15
16
|
enableCaseTitle: true,
|
|
16
17
|
isCaseTitleRequired: true
|
|
17
|
-
}) {
|
|
18
|
-
super(caseViewService, _overflowService, undefined, _newCaseCreationConfig);
|
|
18
|
+
}, _activatedRoute) {
|
|
19
|
+
super(caseViewService, _overflowService, undefined, _newCaseCreationConfig, _activatedRoute);
|
|
19
20
|
this._loggerService = _loggerService;
|
|
20
21
|
this._injectedTabData = _injectedTabData;
|
|
21
22
|
this._overflowService = _overflowService;
|
|
22
23
|
this._autoswitchToTaskTab = _autoswitchToTaskTab;
|
|
23
24
|
this._openExistingTab = _openExistingTab;
|
|
24
25
|
this._newCaseCreationConfig = _newCaseCreationConfig;
|
|
26
|
+
this._activatedRoute = _activatedRoute;
|
|
25
27
|
this._correctlyInjected = !!this._injectedTabData.tabViewComponent && this._injectedTabData.tabViewOrder !== undefined;
|
|
26
28
|
if (!this._correctlyInjected) {
|
|
27
29
|
this._loggerService.warn('AbstractTabbedCaseViewComponent must inject a filled object of type InjectedTabbedCaseViewData to work properly!');
|
|
@@ -32,15 +34,6 @@ export class AbstractTabbedCaseViewComponent extends AbstractCaseViewComponent {
|
|
|
32
34
|
this.openTab(clickedCase);
|
|
33
35
|
}
|
|
34
36
|
}
|
|
35
|
-
createNewCase() {
|
|
36
|
-
const myCase = super.createNewCase();
|
|
37
|
-
myCase.subscribe(kaze => {
|
|
38
|
-
if (this._caseViewService.viewEnabled(kaze)) {
|
|
39
|
-
this.openTab(kaze);
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
return myCase;
|
|
43
|
-
}
|
|
44
37
|
openTab(openCase) {
|
|
45
38
|
this._injectedTabData.tabViewRef.openTab({
|
|
46
39
|
label: {
|
|
@@ -58,7 +51,7 @@ export class AbstractTabbedCaseViewComponent extends AbstractCaseViewComponent {
|
|
|
58
51
|
}, this._autoswitchToTaskTab, this._openExistingTab);
|
|
59
52
|
}
|
|
60
53
|
}
|
|
61
|
-
AbstractTabbedCaseViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractTabbedCaseViewComponent, deps: [{ token: i1.CaseViewService }, { token: i2.LoggerService }, { token: NAE_TAB_DATA }, { token: i3.OverflowService }, { token: NAE_AUTOSWITCH_TAB_TOKEN, optional: true }, { token: NAE_OPEN_EXISTING_TAB, optional: true }, { token: NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
+
AbstractTabbedCaseViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractTabbedCaseViewComponent, deps: [{ token: i1.CaseViewService }, { token: i2.LoggerService }, { token: NAE_TAB_DATA }, { token: i3.OverflowService }, { token: NAE_AUTOSWITCH_TAB_TOKEN, optional: true }, { token: NAE_OPEN_EXISTING_TAB, optional: true }, { token: NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, optional: true }, { token: i4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
55
|
AbstractTabbedCaseViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractTabbedCaseViewComponent, selector: "ncc-abstract-tabbed-case-view", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
63
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractTabbedCaseViewComponent, decorators: [{
|
|
64
57
|
type: Component,
|
|
@@ -84,5 +77,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
84
77
|
}, {
|
|
85
78
|
type: Inject,
|
|
86
79
|
args: [NAE_NEW_CASE_CREATION_CONFIGURATION_DATA]
|
|
87
|
-
}] }]; } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
}] }, { type: i4.ActivatedRoute }]; } });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiYmVkLWNhc2Utdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdmlldy9jYXNlLXZpZXcvdGFiYmVkLWNhc2Utdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQU8sTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBSzFGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFM0QsT0FBTyxFQUNILHdDQUF3QyxFQUUzQyxNQUFNLDJFQUEyRSxDQUFDO0FBRW5GLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFZdkUsTUFBTSxPQUFnQiwrQkFBZ0MsU0FBUSx5QkFBeUI7SUFJbkYsWUFBc0IsZUFBZ0MsRUFDdEIsY0FBNkIsRUFDUCxnQkFBNEMsRUFDbEUsZ0JBQWtDLEVBQ1ksdUJBQXVCLElBQUksRUFDOUIsbUJBQW1CLElBQUksRUFDSix5QkFBMkQ7UUFDL0gsZUFBZSxFQUFFLElBQUk7UUFDckIsbUJBQW1CLEVBQUUsSUFBSTtLQUM1QixFQUNTLGVBQWdDO1FBRTVELEtBQUssQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBWGpFLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQ1AscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUNsRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ1kseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFPO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBTztRQUNKLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FHN0Y7UUFDUyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFHNUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksS0FBSyxTQUFTLENBQUM7UUFDdkgsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxrSEFBa0gsQ0FBQyxDQUFDO1NBQ2hKO0lBQ0wsQ0FBQztJQUVNLGVBQWUsQ0FBQyxXQUFpQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVTLE9BQU8sQ0FBQyxRQUFjO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQ3JDLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3BCLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXO2FBQ3BEO1lBQ0QsV0FBVyxFQUFFLElBQUk7WUFDakIsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQjtZQUMzRCxjQUFjLEVBQUU7Z0JBQ1osVUFBVSxFQUFFLElBQUksWUFBWSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFFLEVBQUMsRUFBRSxFQUFFLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFDLEVBQUMsQ0FBQztnQkFDdkYsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO2FBQzVDO1lBQ0QsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZO1lBQ3pDLGNBQWMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVztTQUNwRCxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN6RCxDQUFDOzs2SEE1Q2lCLCtCQUErQiw4RUFNbkIsWUFBWSw0Q0FFQSx3QkFBd0IsNkJBQ3hCLHFCQUFxQiw2QkFDckIsd0NBQXdDO2lIQVZoRSwrQkFBK0IsNEZBRnZDLEVBQUU7NEZBRU0sK0JBQStCO2tCQUpwRCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzswQkFPMEIsTUFBTTsyQkFBQyxZQUFZOzswQkFFbkIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMzQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQ3hDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsd0NBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBYnN0cmFjdENhc2VWaWV3Q29tcG9uZW50fSBmcm9tICcuL2Fic3RyYWN0LWNhc2Utdmlldyc7XG5pbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCwgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05BRV9UQUJfREFUQX0gZnJvbSAnLi4vLi4vdGFicy90YWItZGF0YS1pbmplY3Rpb24tdG9rZW4vdGFiLWRhdGEtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7SW5qZWN0ZWRUYWJEYXRhfSBmcm9tICcuLi8uLi90YWJzL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtDYXNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2Nhc2UnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtDYXNlVmlld1NlcnZpY2V9IGZyb20gJy4vc2VydmljZS9jYXNlLXZpZXctc2VydmljZSc7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy9zaW1wbGUtZmlsdGVyJztcbmltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy9maWx0ZXItdHlwZSc7XG5pbXBvcnQge092ZXJmbG93U2VydmljZX0gZnJvbSAnLi4vLi4vaGVhZGVyL3NlcnZpY2VzL292ZXJmbG93LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgICBOQUVfTkVXX0NBU0VfQ1JFQVRJT05fQ09ORklHVVJBVElPTl9EQVRBLFxuICAgIE5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb25EYXRhXG59IGZyb20gJy4uLy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvbmV3LWNhc2UvbW9kZWwvbmV3LWNhc2UtaW5qZWN0aW9uLWRhdGEnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TkFFX0FVVE9TV0lUQ0hfVEFCX1RPS0VOfSBmcm9tICcuL21vZGVscy9hdXRvc3dpdGNoLXRva2VuJztcbmltcG9ydCB7TkFFX09QRU5fRVhJU1RJTkdfVEFCfSBmcm9tICcuL21vZGVscy9vcGVuLWV4aXN0aW5nLXRhYi10b2tlbic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5qZWN0ZWRUYWJiZWRDYXNlVmlld0RhdGEgZXh0ZW5kcyBJbmplY3RlZFRhYkRhdGEge1xuICAgIHRhYlZpZXdDb21wb25lbnQ6IFR5cGU8YW55PjtcbiAgICB0YWJWaWV3T3JkZXI6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtdGFiYmVkLWNhc2UtdmlldycsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VGFiYmVkQ2FzZVZpZXdDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdENhc2VWaWV3Q29tcG9uZW50IHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvcnJlY3RseUluamVjdGVkO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGNhc2VWaWV3U2VydmljZTogQ2FzZVZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBJbmplY3QoTkFFX1RBQl9EQVRBKSBwcm90ZWN0ZWQgX2luamVjdGVkVGFiRGF0YTogSW5qZWN0ZWRUYWJiZWRDYXNlVmlld0RhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfb3ZlcmZsb3dTZXJ2aWNlPzogT3ZlcmZsb3dTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9BVVRPU1dJVENIX1RBQl9UT0tFTikgcHJvdGVjdGVkIF9hdXRvc3dpdGNoVG9UYXNrVGFiID0gdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfT1BFTl9FWElTVElOR19UQUIpIHByb3RlY3RlZCBfb3BlbkV4aXN0aW5nVGFiID0gdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfTkVXX0NBU0VfQ1JFQVRJT05fQ09ORklHVVJBVElPTl9EQVRBKSBwcm90ZWN0ZWQgX25ld0Nhc2VDcmVhdGlvbkNvbmZpZzogTmV3Q2FzZUNyZWF0aW9uQ29uZmlndXJhdGlvbkRhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVDYXNlVGl0bGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0Nhc2VUaXRsZVJlcXVpcmVkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfYWN0aXZhdGVkUm91dGU/OiBBY3RpdmF0ZWRSb3V0ZSkge1xuXG4gICAgICAgIHN1cGVyKGNhc2VWaWV3U2VydmljZSwgX292ZXJmbG93U2VydmljZSwgdW5kZWZpbmVkLCBfbmV3Q2FzZUNyZWF0aW9uQ29uZmlnLCBfYWN0aXZhdGVkUm91dGUpO1xuICAgICAgICB0aGlzLl9jb3JyZWN0bHlJbmplY3RlZCA9ICEhdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhYlZpZXdDb21wb25lbnQgJiYgdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhYlZpZXdPcmRlciAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoIXRoaXMuX2NvcnJlY3RseUluamVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2dnZXJTZXJ2aWNlLndhcm4oJ0Fic3RyYWN0VGFiYmVkQ2FzZVZpZXdDb21wb25lbnQgbXVzdCBpbmplY3QgYSBmaWxsZWQgb2JqZWN0IG9mIHR5cGUgSW5qZWN0ZWRUYWJiZWRDYXNlVmlld0RhdGEgdG8gd29yayBwcm9wZXJseSEnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVDYXNlQ2xpY2soY2xpY2tlZENhc2U6IENhc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2NvcnJlY3RseUluamVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5UYWIoY2xpY2tlZENhc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9wZW5UYWIob3BlbkNhc2U6IENhc2UpIHtcbiAgICAgICAgdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhYlZpZXdSZWYub3BlblRhYih7XG4gICAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgICAgIHRleHQ6IG9wZW5DYXNlLnRpdGxlLFxuICAgICAgICAgICAgICAgIGljb246IG9wZW5DYXNlLmljb24gPyBvcGVuQ2FzZS5pY29uIDogJ2NoZWNrX2JveCdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjYW5CZUNsb3NlZDogdHJ1ZSxcbiAgICAgICAgICAgIHRhYkNvbnRlbnRDb21wb25lbnQ6IHRoaXMuX2luamVjdGVkVGFiRGF0YS50YWJWaWV3Q29tcG9uZW50LFxuICAgICAgICAgICAgaW5qZWN0ZWRPYmplY3Q6IHtcbiAgICAgICAgICAgICAgICBiYXNlRmlsdGVyOiBuZXcgU2ltcGxlRmlsdGVyKCcnLCBGaWx0ZXJUeXBlLlRBU0ssIHtjYXNlOiB7aWQ6IGAke29wZW5DYXNlLnN0cmluZ0lkfWB9fSksXG4gICAgICAgICAgICAgICAgYWxsb3dlZE5ldHM6IFtvcGVuQ2FzZS5wcm9jZXNzSWRlbnRpZmllcl1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmRlcjogdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhYlZpZXdPcmRlcixcbiAgICAgICAgICAgIHBhcmVudFVuaXF1ZUlkOiB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFiVW5pcXVlSWRcbiAgICAgICAgfSwgdGhpcy5fYXV0b3N3aXRjaFRvVGFza1RhYiwgdGhpcy5fb3BlbkV4aXN0aW5nVGFiKTtcbiAgICB9XG59XG4iXX0=
|