@hmcts/ccd-case-ui-toolkit 5.0.6-angular11-upgrade → 5.0.7-angular11-upgrade
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +17664 -4536
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +2 -2
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
- package/esm2015/lib/shared/components/activity/activity-banner/activity-banner.component.js +42 -0
- package/esm2015/lib/shared/components/activity/activity-banner/index.js +2 -0
- package/esm2015/lib/shared/components/activity/activity-icon/activity-icon.component.js +35 -0
- package/esm2015/lib/shared/components/activity/activity-icon/index.js +2 -0
- package/esm2015/lib/shared/components/activity/activity.component.js +150 -0
- package/esm2015/lib/shared/components/activity/activity.module.js +53 -0
- package/esm2015/lib/shared/components/activity/index.js +5 -0
- package/esm2015/lib/shared/components/case-editor/services/case-worker.service.js +32 -0
- package/esm2015/lib/shared/components/case-editor/services/judicial-worker.service.js +32 -0
- package/esm2015/lib/shared/components/case-header/case-header.component.js +65 -0
- package/esm2015/lib/shared/components/case-header/case-header.module.js +35 -0
- package/esm2015/lib/shared/components/case-header/index.js +3 -0
- package/esm2015/lib/shared/components/case-list/case-list.component.js +370 -0
- package/esm2015/lib/shared/components/case-list/case-list.module.js +45 -0
- package/esm2015/lib/shared/components/case-list/index.js +3 -0
- package/esm2015/lib/shared/components/case-list-filters/case-list-filters.component.js +57 -0
- package/esm2015/lib/shared/components/case-list-filters/case-list-filters.module.js +59 -0
- package/esm2015/lib/shared/components/case-list-filters/index.js +3 -0
- package/esm2015/lib/shared/components/create-case-filters/create-case-filters-selection.model.js +8 -0
- package/esm2015/lib/shared/components/create-case-filters/create-case-filters.component.js +257 -0
- package/esm2015/lib/shared/components/create-case-filters/create-case-filters.module.js +42 -0
- package/esm2015/lib/shared/components/create-case-filters/index.js +4 -0
- package/esm2015/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.js +57 -0
- package/esm2015/lib/shared/components/dialogs/delete-or-cancel-dialog/index.js +2 -0
- package/esm2015/lib/shared/components/dialogs/dialogs.module.js +49 -0
- package/esm2015/lib/shared/components/dialogs/document-dialog/index.js +2 -0
- package/esm2015/lib/shared/components/dialogs/index.js +6 -0
- package/esm2015/lib/shared/components/dialogs/remove-dialog/index.js +2 -0
- package/esm2015/lib/shared/components/dialogs/save-or-discard-dialog/index.js +2 -0
- package/esm2015/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.js +61 -0
- package/esm2015/lib/shared/components/error/callback-errors.component.js +145 -0
- package/esm2015/lib/shared/components/error/domain/error-context.js +3 -0
- package/esm2015/lib/shared/components/error/domain/index.js +2 -0
- package/esm2015/lib/shared/components/error/errors.module.js +31 -0
- package/esm2015/lib/shared/components/error/index.js +4 -0
- package/esm2015/lib/shared/components/error-message/error-message.component.js +51 -0
- package/esm2015/lib/shared/components/error-message/error-message.module.js +39 -0
- package/esm2015/lib/shared/components/error-message/index.js +3 -0
- package/esm2015/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.js +55 -0
- package/esm2015/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.js +52 -0
- package/esm2015/lib/shared/components/event-start/components/task-assigned/task-assigned.component.js +104 -0
- package/esm2015/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.js +60 -0
- package/esm2015/lib/shared/components/event-start/components/task-conflict/task-conflict.component.js +54 -0
- package/esm2015/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.js +52 -0
- package/esm2015/lib/shared/components/event-start/event-guard/event-start.guard.js +103 -0
- package/esm2015/lib/shared/components/event-start/event-start.component.js +52 -0
- package/esm2015/lib/shared/components/event-start/event-start.module.js +69 -0
- package/esm2015/lib/shared/components/event-start/index.js +10 -0
- package/esm2015/lib/shared/components/event-start/models/event-start-state-machine-context.model.js +2 -0
- package/esm2015/lib/shared/components/event-start/models/event-start-states-enum.model.js +16 -0
- package/esm2015/lib/shared/components/event-start/models/index.js +3 -0
- package/esm2015/lib/shared/components/event-start/resolvers/event-tasks-resolver.service.js +29 -0
- package/esm2015/lib/shared/components/event-start/services/event-start-state-machine.service.js +168 -0
- package/esm2015/lib/shared/components/event-start/services/index.js +2 -0
- package/esm2015/lib/shared/components/index.js +20 -0
- package/esm2015/lib/shared/components/loading-spinner/index.js +2 -0
- package/esm2015/lib/shared/components/loading-spinner/loading-spinner.component.js +33 -0
- package/esm2015/lib/shared/components/pagination/index.js +3 -0
- package/esm2015/lib/shared/components/pagination/pagination.component.js +255 -0
- package/esm2015/lib/shared/components/pagination/pagination.module.js +33 -0
- package/esm2015/lib/shared/components/palette/address/index.js +3 -0
- package/esm2015/lib/shared/components/palette/case-link/index.js +3 -0
- package/esm2015/lib/shared/components/palette/index.js +32 -0
- package/esm2015/lib/shared/components/workbasket-filters/index.js +3 -0
- package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +448 -0
- package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.module.js +60 -0
- package/esm2015/lib/shared/domain/work-allocation/case-worker.model.js +2 -0
- package/esm2015/lib/shared/domain/work-allocation/judicial-worker.model.js +2 -0
- package/esm2015/lib/shared/index.js +2 -1
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js +15548 -4262
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
- package/lib/shared/components/activity/activity-banner/activity-banner.component.d.ts +12 -0
- package/lib/shared/components/activity/activity-banner/activity-banner.component.d.ts.map +1 -0
- package/lib/shared/components/activity/activity-banner/index.d.ts +2 -0
- package/lib/shared/components/activity/activity-banner/index.d.ts.map +1 -0
- package/lib/shared/components/activity/activity-icon/activity-icon.component.d.ts +11 -0
- package/lib/shared/components/activity/activity-icon/activity-icon.component.d.ts.map +1 -0
- package/lib/shared/components/activity/activity-icon/index.d.ts +2 -0
- package/lib/shared/components/activity/activity-icon/index.d.ts.map +1 -0
- package/lib/shared/components/activity/activity.component.d.ts +32 -0
- package/lib/shared/components/activity/activity.component.d.ts.map +1 -0
- package/lib/shared/components/activity/activity.module.d.ts +12 -0
- package/lib/shared/components/activity/activity.module.d.ts.map +1 -0
- package/lib/shared/components/activity/index.d.ts +5 -0
- package/lib/shared/components/activity/index.d.ts.map +1 -0
- package/lib/shared/components/case-editor/services/case-worker.service.d.ts +16 -0
- package/lib/shared/components/case-editor/services/case-worker.service.d.ts.map +1 -0
- package/lib/shared/components/case-editor/services/judicial-worker.service.d.ts +16 -0
- package/lib/shared/components/case-editor/services/judicial-worker.service.d.ts.map +1 -0
- package/lib/shared/components/case-header/case-header.component.d.ts +15 -0
- package/lib/shared/components/case-header/case-header.component.d.ts.map +1 -0
- package/lib/shared/components/case-header/case-header.module.d.ts +11 -0
- package/lib/shared/components/case-header/case-header.module.d.ts.map +1 -0
- package/lib/shared/components/case-header/index.d.ts +3 -0
- package/lib/shared/components/case-header/index.d.ts.map +1 -0
- package/lib/shared/components/case-list/case-list.component.d.ts +47 -0
- package/lib/shared/components/case-list/case-list.component.d.ts.map +1 -0
- package/lib/shared/components/case-list/case-list.module.d.ts +13 -0
- package/lib/shared/components/case-list/case-list.module.d.ts.map +1 -0
- package/lib/shared/components/case-list/index.d.ts +3 -0
- package/lib/shared/components/case-list/index.d.ts.map +1 -0
- package/lib/shared/components/case-list-filters/case-list-filters.component.d.ts +19 -0
- package/lib/shared/components/case-list-filters/case-list-filters.component.d.ts.map +1 -0
- package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts +13 -0
- package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts.map +1 -0
- package/lib/shared/components/case-list-filters/index.d.ts +3 -0
- package/lib/shared/components/case-list-filters/index.d.ts.map +1 -0
- package/lib/shared/components/create-case-filters/create-case-filters-selection.model.d.ts +7 -0
- package/lib/shared/components/create-case-filters/create-case-filters-selection.model.d.ts.map +1 -0
- package/lib/shared/components/create-case-filters/create-case-filters.component.d.ts +57 -0
- package/lib/shared/components/create-case-filters/create-case-filters.component.d.ts.map +1 -0
- package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts +12 -0
- package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts.map +1 -0
- package/lib/shared/components/create-case-filters/index.d.ts +4 -0
- package/lib/shared/components/create-case-filters/index.d.ts.map +1 -0
- package/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.d.ts +12 -0
- package/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.d.ts.map +1 -0
- package/lib/shared/components/dialogs/delete-or-cancel-dialog/index.d.ts +2 -0
- package/lib/shared/components/dialogs/delete-or-cancel-dialog/index.d.ts.map +1 -0
- package/lib/shared/components/dialogs/dialogs.module.d.ts +13 -0
- package/lib/shared/components/dialogs/dialogs.module.d.ts.map +1 -0
- package/lib/shared/components/dialogs/document-dialog/index.d.ts +2 -0
- package/lib/shared/components/dialogs/document-dialog/index.d.ts.map +1 -0
- package/lib/shared/components/dialogs/index.d.ts +6 -0
- package/lib/shared/components/dialogs/index.d.ts.map +1 -0
- package/lib/shared/components/dialogs/remove-dialog/index.d.ts +2 -0
- package/lib/shared/components/dialogs/remove-dialog/index.d.ts.map +1 -0
- package/lib/shared/components/dialogs/save-or-discard-dialog/index.d.ts +2 -0
- package/lib/shared/components/dialogs/save-or-discard-dialog/index.d.ts.map +1 -0
- package/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.d.ts +13 -0
- package/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.d.ts.map +1 -0
- package/lib/shared/components/error/callback-errors.component.d.ts +25 -0
- package/lib/shared/components/error/callback-errors.component.d.ts.map +1 -0
- package/lib/shared/components/error/domain/error-context.d.ts +5 -0
- package/lib/shared/components/error/domain/error-context.d.ts.map +1 -0
- package/lib/shared/components/error/domain/index.d.ts +2 -0
- package/lib/shared/components/error/domain/index.d.ts.map +1 -0
- package/lib/shared/components/error/errors.module.d.ts +10 -0
- package/lib/shared/components/error/errors.module.d.ts.map +1 -0
- package/lib/shared/components/error/index.d.ts +4 -0
- package/lib/shared/components/error/index.d.ts.map +1 -0
- package/lib/shared/components/error-message/error-message.component.d.ts +8 -0
- package/lib/shared/components/error-message/error-message.component.d.ts.map +1 -0
- package/lib/shared/components/error-message/error-message.module.d.ts +12 -0
- package/lib/shared/components/error-message/error-message.module.d.ts.map +1 -0
- package/lib/shared/components/error-message/index.d.ts +3 -0
- package/lib/shared/components/error-message/index.d.ts.map +1 -0
- package/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.d.ts +10 -0
- package/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.d.ts.map +1 -0
- package/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.d.ts +10 -0
- package/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.d.ts.map +1 -0
- package/lib/shared/components/event-start/components/task-assigned/task-assigned.component.d.ts +23 -0
- package/lib/shared/components/event-start/components/task-assigned/task-assigned.component.d.ts.map +1 -0
- package/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.d.ts +7 -0
- package/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.d.ts.map +1 -0
- package/lib/shared/components/event-start/components/task-conflict/task-conflict.component.d.ts +9 -0
- package/lib/shared/components/event-start/components/task-conflict/task-conflict.component.d.ts.map +1 -0
- package/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.d.ts +10 -0
- package/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.d.ts.map +1 -0
- package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts +20 -0
- package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts.map +1 -0
- package/lib/shared/components/event-start/event-start.component.d.ts +20 -0
- package/lib/shared/components/event-start/event-start.component.d.ts.map +1 -0
- package/lib/shared/components/event-start/event-start.module.d.ts +17 -0
- package/lib/shared/components/event-start/event-start.module.d.ts.map +1 -0
- package/lib/shared/components/event-start/index.d.ts +10 -0
- package/lib/shared/components/event-start/index.d.ts.map +1 -0
- package/lib/shared/components/event-start/models/event-start-state-machine-context.model.d.ts +13 -0
- package/lib/shared/components/event-start/models/event-start-state-machine-context.model.d.ts.map +1 -0
- package/lib/shared/components/event-start/models/event-start-states-enum.model.d.ts +15 -0
- package/lib/shared/components/event-start/models/event-start-states-enum.model.d.ts.map +1 -0
- package/lib/shared/components/event-start/models/index.d.ts +3 -0
- package/lib/shared/components/event-start/models/index.d.ts.map +1 -0
- package/lib/shared/components/event-start/resolvers/event-tasks-resolver.service.d.ts +15 -0
- package/lib/shared/components/event-start/resolvers/event-tasks-resolver.service.d.ts.map +1 -0
- package/lib/shared/components/event-start/services/event-start-state-machine.service.d.ts +40 -0
- package/lib/shared/components/event-start/services/event-start-state-machine.service.d.ts.map +1 -0
- package/lib/shared/components/event-start/services/index.d.ts +2 -0
- package/lib/shared/components/event-start/services/index.d.ts.map +1 -0
- package/lib/shared/components/index.d.ts +16 -0
- package/lib/shared/components/index.d.ts.map +1 -0
- package/lib/shared/components/loading-spinner/index.d.ts +2 -0
- package/lib/shared/components/loading-spinner/index.d.ts.map +1 -0
- package/lib/shared/components/loading-spinner/loading-spinner.component.d.ts +7 -0
- package/lib/shared/components/loading-spinner/loading-spinner.component.d.ts.map +1 -0
- package/lib/shared/components/pagination/index.d.ts +3 -0
- package/lib/shared/components/pagination/index.d.ts.map +1 -0
- package/lib/shared/components/pagination/pagination.component.d.ts +26 -0
- package/lib/shared/components/pagination/pagination.component.d.ts.map +1 -0
- package/lib/shared/components/pagination/pagination.module.d.ts +10 -0
- package/lib/shared/components/pagination/pagination.module.d.ts.map +1 -0
- package/lib/shared/components/palette/address/index.d.ts +3 -0
- package/lib/shared/components/palette/address/index.d.ts.map +1 -0
- package/lib/shared/components/palette/case-link/index.d.ts +3 -0
- package/lib/shared/components/palette/case-link/index.d.ts.map +1 -0
- package/lib/shared/components/palette/index.d.ts +32 -0
- package/lib/shared/components/palette/index.d.ts.map +1 -0
- package/lib/shared/components/workbasket-filters/index.d.ts +3 -0
- package/lib/shared/components/workbasket-filters/index.d.ts.map +1 -0
- package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts +85 -0
- package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts.map +1 -0
- package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts +12 -0
- package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts.map +1 -0
- package/lib/shared/domain/work-allocation/case-worker.model.d.ts +14 -0
- package/lib/shared/domain/work-allocation/case-worker.model.d.ts.map +1 -0
- package/lib/shared/domain/work-allocation/judicial-worker.model.d.ts +8 -0
- package/lib/shared/domain/work-allocation/judicial-worker.model.d.ts.map +1 -0
- package/lib/shared/index.d.ts +1 -0
- package/lib/shared/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export * from './palette.module';
|
|
2
|
+
export * from './palette.service';
|
|
3
|
+
export * from './unsupported-field.component';
|
|
4
|
+
export * from './address';
|
|
5
|
+
export * from './base-field';
|
|
6
|
+
export * from './case-link';
|
|
7
|
+
export * from './collection';
|
|
8
|
+
export * from './complex';
|
|
9
|
+
export * from './date';
|
|
10
|
+
export * from './datetime-picker';
|
|
11
|
+
export * from './document';
|
|
12
|
+
export * from './dynamic-list';
|
|
13
|
+
export * from './dynamic-radio-list';
|
|
14
|
+
export * from './email';
|
|
15
|
+
export * from './fixed-list';
|
|
16
|
+
export * from './fixed-radio-list';
|
|
17
|
+
export * from './history';
|
|
18
|
+
export * from './label';
|
|
19
|
+
export * from './markdown';
|
|
20
|
+
export * from './money-gbp';
|
|
21
|
+
export * from './multi-select-list';
|
|
22
|
+
export * from './number';
|
|
23
|
+
export * from './order-summary';
|
|
24
|
+
export * from './organisation';
|
|
25
|
+
export * from './payment';
|
|
26
|
+
export * from './phone-uk';
|
|
27
|
+
export * from './text';
|
|
28
|
+
export * from './text-area';
|
|
29
|
+
export * from './utils';
|
|
30
|
+
export * from './yes-no';
|
|
31
|
+
export * from './waystopay';
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYWxldHRlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhbGV0dGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Vuc3VwcG9ydGVkLWZpZWxkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYWRkcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXNlLWxpbmsnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcGxleCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRldGltZS1waWNrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtcmFkaW8tbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2VtYWlsJztcbmV4cG9ydCAqIGZyb20gJy4vZml4ZWQtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpeGVkLXJhZGlvLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9oaXN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbGFiZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrZG93bic7XG5leHBvcnQgKiBmcm9tICcuL21vbmV5LWdicCc7XG5leHBvcnQgKiBmcm9tICcuL211bHRpLXNlbGVjdC1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyJztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXItc3VtbWFyeSc7XG5leHBvcnQgKiBmcm9tICcuL29yZ2FuaXNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3BheW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9waG9uZS11ayc7XG5leHBvcnQgKiBmcm9tICcuL3RleHQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LWFyZWEnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3llcy1ubyc7XG5leHBvcnQgKiBmcm9tICcuL3dheXN0b3BheSc7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './workbasket-filters.module';
|
|
2
|
+
export * from './workbasket-filters.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvd29ya2Jhc2tldC1maWx0ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd29ya2Jhc2tldC1maWx0ZXJzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmtiYXNrZXQtZmlsdGVycy5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { ActivatedRoute } from '@angular/router';
|
|
4
|
+
import { take } from 'rxjs/operators';
|
|
5
|
+
import { AlertService } from '../../services/alert/alert.service';
|
|
6
|
+
import { FieldsUtils } from '../../services/fields/fields.utils';
|
|
7
|
+
import { JurisdictionService } from '../../services/jurisdiction/jurisdiction.service';
|
|
8
|
+
import { OrderService } from '../../services/order/order.service';
|
|
9
|
+
import { WindowService } from '../../services/window/window.service';
|
|
10
|
+
import { WorkbasketInputFilterService } from '../../services/workbasket/workbasket-input-filter.service';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/router";
|
|
13
|
+
import * as i2 from "../../services/workbasket/workbasket-input-filter.service";
|
|
14
|
+
import * as i3 from "../../services/order/order.service";
|
|
15
|
+
import * as i4 from "../../services/jurisdiction/jurisdiction.service";
|
|
16
|
+
import * as i5 from "../../services/alert/alert.service";
|
|
17
|
+
import * as i6 from "../../services/window/window.service";
|
|
18
|
+
import * as i7 from "@angular/forms";
|
|
19
|
+
import * as i8 from "@angular/common";
|
|
20
|
+
import * as i9 from "../../directives/conditional-show/conditional-show-form.directive";
|
|
21
|
+
import * as i10 from "../palette/base-field/field-write.component";
|
|
22
|
+
function WorkbasketFiltersComponent_option_7_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵelementStart(0, "option", 11);
|
|
24
|
+
i0.ɵɵtext(1, "Select a value");
|
|
25
|
+
i0.ɵɵelementEnd();
|
|
26
|
+
} if (rf & 2) {
|
|
27
|
+
i0.ɵɵproperty("ngValue", null);
|
|
28
|
+
} }
|
|
29
|
+
function WorkbasketFiltersComponent_option_8_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
+
i0.ɵɵelementStart(0, "option", 11);
|
|
31
|
+
i0.ɵɵtext(1);
|
|
32
|
+
i0.ɵɵelementEnd();
|
|
33
|
+
} if (rf & 2) {
|
|
34
|
+
const j_r6 = ctx.$implicit;
|
|
35
|
+
i0.ɵɵproperty("ngValue", j_r6);
|
|
36
|
+
i0.ɵɵadvance(1);
|
|
37
|
+
i0.ɵɵtextInterpolate(j_r6.name);
|
|
38
|
+
} }
|
|
39
|
+
function WorkbasketFiltersComponent_option_13_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
+
i0.ɵɵelementStart(0, "option", 11);
|
|
41
|
+
i0.ɵɵtext(1, "Select a value");
|
|
42
|
+
i0.ɵɵelementEnd();
|
|
43
|
+
} if (rf & 2) {
|
|
44
|
+
i0.ɵɵproperty("ngValue", null);
|
|
45
|
+
} }
|
|
46
|
+
function WorkbasketFiltersComponent_option_14_Template(rf, ctx) { if (rf & 1) {
|
|
47
|
+
i0.ɵɵelementStart(0, "option", 11);
|
|
48
|
+
i0.ɵɵtext(1);
|
|
49
|
+
i0.ɵɵelementEnd();
|
|
50
|
+
} if (rf & 2) {
|
|
51
|
+
const ct_r7 = ctx.$implicit;
|
|
52
|
+
i0.ɵɵproperty("ngValue", ct_r7);
|
|
53
|
+
i0.ɵɵadvance(1);
|
|
54
|
+
i0.ɵɵtextInterpolate(ct_r7.name);
|
|
55
|
+
} }
|
|
56
|
+
function WorkbasketFiltersComponent_option_21_Template(rf, ctx) { if (rf & 1) {
|
|
57
|
+
i0.ɵɵelementStart(0, "option", 11);
|
|
58
|
+
i0.ɵɵtext(1);
|
|
59
|
+
i0.ɵɵelementEnd();
|
|
60
|
+
} if (rf & 2) {
|
|
61
|
+
const cs_r8 = ctx.$implicit;
|
|
62
|
+
i0.ɵɵproperty("ngValue", cs_r8);
|
|
63
|
+
i0.ɵɵadvance(1);
|
|
64
|
+
i0.ɵɵtextInterpolate(cs_r8.name);
|
|
65
|
+
} }
|
|
66
|
+
function WorkbasketFiltersComponent_ng_container_22_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
67
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
68
|
+
i0.ɵɵelementStart(0, "div", 2);
|
|
69
|
+
i0.ɵɵelementStart(1, "ccd-field-write", 18);
|
|
70
|
+
i0.ɵɵlistener("keyup.enter", function WorkbasketFiltersComponent_ng_container_22_div_2_Template_ccd_field_write_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return ctx_r11.apply(null); });
|
|
71
|
+
i0.ɵɵelementEnd();
|
|
72
|
+
i0.ɵɵelementEnd();
|
|
73
|
+
} if (rf & 2) {
|
|
74
|
+
const workbasketInput_r10 = ctx.$implicit;
|
|
75
|
+
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
76
|
+
i0.ɵɵadvance(1);
|
|
77
|
+
i0.ɵɵproperty("caseField", workbasketInput_r10.field)("formGroup", ctx_r9.formGroup)("isExpanded", true)("isInSearchBlock", true);
|
|
78
|
+
} }
|
|
79
|
+
function WorkbasketFiltersComponent_ng_container_22_Template(rf, ctx) { if (rf & 1) {
|
|
80
|
+
i0.ɵɵelementContainerStart(0, 15);
|
|
81
|
+
i0.ɵɵelementStart(1, "div", 16);
|
|
82
|
+
i0.ɵɵtemplate(2, WorkbasketFiltersComponent_ng_container_22_div_2_Template, 2, 4, "div", 17);
|
|
83
|
+
i0.ɵɵelementEnd();
|
|
84
|
+
i0.ɵɵelementContainerEnd();
|
|
85
|
+
} if (rf & 2) {
|
|
86
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
87
|
+
i0.ɵɵproperty("formGroup", ctx_r5.formGroup)("contextFields", ctx_r5.caseFields);
|
|
88
|
+
i0.ɵɵadvance(2);
|
|
89
|
+
i0.ɵɵproperty("ngForOf", ctx_r5.workbasketInputs);
|
|
90
|
+
} }
|
|
91
|
+
const FORM_GROUP_VAL_LOC_STORAGE = 'workbasket-filter-form-group-value';
|
|
92
|
+
const SAVED_QUERY_PARAM_LOC_STORAGE = 'savedQueryParams';
|
|
93
|
+
const REGION_LIST_AND_FRC_FILTER = 'regionList';
|
|
94
|
+
export class WorkbasketFiltersComponent {
|
|
95
|
+
constructor(route, workbasketInputFilterService, orderService, jurisdictionService, alertService, windowService) {
|
|
96
|
+
this.route = route;
|
|
97
|
+
this.workbasketInputFilterService = workbasketInputFilterService;
|
|
98
|
+
this.orderService = orderService;
|
|
99
|
+
this.jurisdictionService = jurisdictionService;
|
|
100
|
+
this.alertService = alertService;
|
|
101
|
+
this.windowService = windowService;
|
|
102
|
+
this.onApply = new EventEmitter();
|
|
103
|
+
this.onReset = new EventEmitter();
|
|
104
|
+
this.formGroup = new FormGroup({});
|
|
105
|
+
this.initialised = false;
|
|
106
|
+
}
|
|
107
|
+
ngOnInit() {
|
|
108
|
+
this.selected = {};
|
|
109
|
+
this.route.queryParams.subscribe(params => {
|
|
110
|
+
if (!this.initialised || !params || !Object.keys(params).length) {
|
|
111
|
+
this.initFilters(false);
|
|
112
|
+
this.initialised = true;
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
apply(init) {
|
|
117
|
+
// Save filters as query parameters for current route
|
|
118
|
+
const queryParams = {};
|
|
119
|
+
if (this.selected.jurisdiction) {
|
|
120
|
+
queryParams[WorkbasketFiltersComponent.PARAM_JURISDICTION] = this.selected.jurisdiction.id;
|
|
121
|
+
}
|
|
122
|
+
if (this.selected.caseType) {
|
|
123
|
+
queryParams[WorkbasketFiltersComponent.PARAM_CASE_TYPE] = this.selected.caseType.id;
|
|
124
|
+
}
|
|
125
|
+
if (this.selected.caseState) {
|
|
126
|
+
queryParams[WorkbasketFiltersComponent.PARAM_CASE_STATE] = this.selected.caseState.id;
|
|
127
|
+
}
|
|
128
|
+
// without explicitly preserving alerts any message on the page
|
|
129
|
+
// would be cleared out because of this initial navigation.
|
|
130
|
+
// The above is only true if no alerts were set prior to loading case list page.
|
|
131
|
+
if (!this.alertService.isPreserveAlerts()) {
|
|
132
|
+
this.alertService.setPreserveAlerts(!this.initialised);
|
|
133
|
+
}
|
|
134
|
+
if (Object.keys(this.formGroup.controls).length === 0) {
|
|
135
|
+
this.selected.formGroup = JSON.parse(localStorage.getItem(FORM_GROUP_VAL_LOC_STORAGE));
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
// Update form group filters
|
|
139
|
+
this.updateFormGroupFilters();
|
|
140
|
+
this.selected.formGroup = this.formGroup;
|
|
141
|
+
}
|
|
142
|
+
this.selected.init = init;
|
|
143
|
+
this.selected.page = 1;
|
|
144
|
+
this.selected.metadataFields = this.getMetadataFields();
|
|
145
|
+
if (init) {
|
|
146
|
+
this.windowService.setLocalStorage(SAVED_QUERY_PARAM_LOC_STORAGE, JSON.stringify(queryParams));
|
|
147
|
+
if (Object.keys(this.formGroup.controls).length > 0) {
|
|
148
|
+
this.windowService.setLocalStorage(FORM_GROUP_VAL_LOC_STORAGE, JSON.stringify(this.formGroup.value));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// Apply filters
|
|
152
|
+
this.onApply.emit({ selected: this.selected, queryParams });
|
|
153
|
+
this.setFocusToTop();
|
|
154
|
+
}
|
|
155
|
+
reset() {
|
|
156
|
+
this.windowService.removeLocalStorage(FORM_GROUP_VAL_LOC_STORAGE);
|
|
157
|
+
this.windowService.removeLocalStorage(SAVED_QUERY_PARAM_LOC_STORAGE);
|
|
158
|
+
setTimeout(() => {
|
|
159
|
+
this.resetFieldsWhenNoDefaults();
|
|
160
|
+
this.onReset.emit(true);
|
|
161
|
+
}, 500);
|
|
162
|
+
}
|
|
163
|
+
getMetadataFields() {
|
|
164
|
+
if (this.workbasketInputs) {
|
|
165
|
+
return this.workbasketInputs
|
|
166
|
+
.filter(workbasketInput => workbasketInput.field.metadata === true)
|
|
167
|
+
.map(workbasketInput => workbasketInput.field.id);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
onJurisdictionIdChange() {
|
|
171
|
+
if (this.selected.jurisdiction) {
|
|
172
|
+
this.jurisdictionService.announceSelectedJurisdiction(this.selected.jurisdiction);
|
|
173
|
+
this.selectedJurisdictionCaseTypes = this.selected.jurisdiction.caseTypes.length > 0 ? this.selected.jurisdiction.caseTypes : null;
|
|
174
|
+
// Line was too long for linting so refactored it.
|
|
175
|
+
if (this.workbasketDefaults && this.selectedJurisdictionCaseTypes) {
|
|
176
|
+
this.selected.caseType = this.selectedJurisdictionCaseTypes[0];
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
this.selected.caseType = null;
|
|
180
|
+
}
|
|
181
|
+
this.selected.caseState = null;
|
|
182
|
+
this.clearWorkbasketInputs();
|
|
183
|
+
if (!this.isApplyButtonDisabled()) {
|
|
184
|
+
this.onCaseTypeIdChange();
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
this.resetCaseType();
|
|
189
|
+
this.resetCaseState();
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
onCaseTypeIdChange() {
|
|
193
|
+
if (this.selected.caseType) {
|
|
194
|
+
this.selectedCaseTypeStates = this.sortStates(this.selected.caseType.states);
|
|
195
|
+
this.selected.caseState = null;
|
|
196
|
+
this.formGroup = new FormGroup({});
|
|
197
|
+
this.clearWorkbasketInputs();
|
|
198
|
+
if (!this.isApplyButtonDisabled()) {
|
|
199
|
+
this.workbasketInputFilterService.getWorkbasketInputs(this.selected.jurisdiction.id, this.selected.caseType.id).pipe(take(1)).subscribe(workbasketInputs => {
|
|
200
|
+
this.workbasketInputsReady = true;
|
|
201
|
+
this.workbasketInputs = workbasketInputs
|
|
202
|
+
.sort(this.orderService.sortAsc);
|
|
203
|
+
const formValue = this.windowService.getLocalStorage(FORM_GROUP_VAL_LOC_STORAGE);
|
|
204
|
+
workbasketInputs.forEach(item => {
|
|
205
|
+
if (item.field.elementPath) {
|
|
206
|
+
item.field.id = item.field.id + '.' + item.field.elementPath;
|
|
207
|
+
}
|
|
208
|
+
item.field.label = item.label;
|
|
209
|
+
if (formValue) {
|
|
210
|
+
const searchFormValueObject = JSON.parse(formValue);
|
|
211
|
+
item.field.value = searchFormValueObject[item.field.id];
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
this.getCaseFields();
|
|
215
|
+
}, error => {
|
|
216
|
+
console.log('Workbasket input fields request will be discarded reason: ', error.message);
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
this.resetCaseState();
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
isCaseTypesDropdownDisabled() {
|
|
225
|
+
return !this.selectedJurisdictionCaseTypes;
|
|
226
|
+
}
|
|
227
|
+
isCaseStatesDropdownDisabled() {
|
|
228
|
+
return !this.selected.caseType || !(this.selected.caseType.states && this.selected.caseType.states.length > 0);
|
|
229
|
+
}
|
|
230
|
+
isApplyButtonDisabled() {
|
|
231
|
+
return !(this.selected.jurisdiction && this.selected.caseType);
|
|
232
|
+
}
|
|
233
|
+
isSearchableAndWorkbasketInputsReady() {
|
|
234
|
+
return this.selected.jurisdiction && this.selected.caseType && this.workbasketInputsReady;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* This method is used to clear the previously used
|
|
238
|
+
* form group control filter values to make sure only the
|
|
239
|
+
* currently selected form group control filter values are present.
|
|
240
|
+
*
|
|
241
|
+
* Has been implemented for 'Region and FRC filters' and can be extended
|
|
242
|
+
* in future to incorporate other dynamic filters.
|
|
243
|
+
*/
|
|
244
|
+
updateFormGroupFilters() {
|
|
245
|
+
// Read the form group local storage
|
|
246
|
+
const formGroupLS = JSON.parse(this.windowService.getLocalStorage(FORM_GROUP_VAL_LOC_STORAGE));
|
|
247
|
+
// Form group local storage is available and contains regionList property
|
|
248
|
+
if (!!formGroupLS && formGroupLS.hasOwnProperty(REGION_LIST_AND_FRC_FILTER)) {
|
|
249
|
+
if (this.formGroup.get(REGION_LIST_AND_FRC_FILTER)) {
|
|
250
|
+
// If regionList value does not match between local storage and form group
|
|
251
|
+
// then the filter value has been changed and we need to clear the old filter values
|
|
252
|
+
if (formGroupLS[REGION_LIST_AND_FRC_FILTER] !== this.formGroup.get(REGION_LIST_AND_FRC_FILTER).value) {
|
|
253
|
+
for (const key in formGroupLS) {
|
|
254
|
+
if (formGroupLS.hasOwnProperty(key)) {
|
|
255
|
+
const value = formGroupLS[key];
|
|
256
|
+
// Clear the filter form group control values if it has a value in local storage
|
|
257
|
+
// The regionList form group control value should be ignored as it always contain the latest value
|
|
258
|
+
if (key !== REGION_LIST_AND_FRC_FILTER && value != null) {
|
|
259
|
+
this.formGroup.get(key).setValue(null);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
sortStates(states) {
|
|
268
|
+
return states.sort(this.orderService.sortAsc);
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Try to initialise filters based on query parameters or workbasket defaults.
|
|
272
|
+
* Query parameters, when available, take precedence over workbasket defaults.
|
|
273
|
+
*/
|
|
274
|
+
initFilters(init) {
|
|
275
|
+
const savedQueryParams = this.windowService.getLocalStorage(SAVED_QUERY_PARAM_LOC_STORAGE);
|
|
276
|
+
const routeSnapshot = this.route.snapshot;
|
|
277
|
+
if (savedQueryParams) {
|
|
278
|
+
routeSnapshot.queryParams = JSON.parse(savedQueryParams);
|
|
279
|
+
}
|
|
280
|
+
const selectedJurisdictionId = routeSnapshot.queryParams[WorkbasketFiltersComponent.PARAM_JURISDICTION] ||
|
|
281
|
+
(this.defaults && this.defaults.jurisdiction_id);
|
|
282
|
+
if (selectedJurisdictionId) {
|
|
283
|
+
this.selected.jurisdiction = this.jurisdictions.find(j => selectedJurisdictionId === j.id);
|
|
284
|
+
if (this.selected.jurisdiction && this.selected.jurisdiction.caseTypes.length > 0) {
|
|
285
|
+
this.selectedJurisdictionCaseTypes = this.selected.jurisdiction.caseTypes;
|
|
286
|
+
this.selected.caseType = this.selectCaseType(this.selected, this.selectedJurisdictionCaseTypes, routeSnapshot);
|
|
287
|
+
if (this.selected.caseType) {
|
|
288
|
+
this.onCaseTypeIdChange();
|
|
289
|
+
this.selected.caseState = this.selectCaseState(this.selected.caseType, routeSnapshot);
|
|
290
|
+
}
|
|
291
|
+
this.workbasketDefaults = true;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
this.selected.jurisdiction = null;
|
|
296
|
+
}
|
|
297
|
+
this.apply(init);
|
|
298
|
+
}
|
|
299
|
+
selectCaseState(caseType, routeSnapshot) {
|
|
300
|
+
let caseState;
|
|
301
|
+
if (caseType) {
|
|
302
|
+
const selectedCaseStateId = this.selectCaseStateIdFromQueryOrDefaults(routeSnapshot, (this.defaults && this.defaults.state_id));
|
|
303
|
+
caseState = caseType.states.find(ct => selectedCaseStateId === ct.id);
|
|
304
|
+
}
|
|
305
|
+
return caseState ? caseState : null;
|
|
306
|
+
}
|
|
307
|
+
selectCaseStateIdFromQueryOrDefaults(routeSnapshot, defaultCaseStateId) {
|
|
308
|
+
return routeSnapshot.queryParams[WorkbasketFiltersComponent.PARAM_CASE_STATE] || defaultCaseStateId;
|
|
309
|
+
}
|
|
310
|
+
selectCaseType(selected, caseTypes, routeSnapshot) {
|
|
311
|
+
let caseType;
|
|
312
|
+
if (selected.jurisdiction) {
|
|
313
|
+
const selectedCaseTypeId = this.selectCaseTypeIdFromQueryOrDefaults(routeSnapshot, (this.defaults && this.defaults.case_type_id));
|
|
314
|
+
caseType = caseTypes.find(ct => selectedCaseTypeId === ct.id);
|
|
315
|
+
}
|
|
316
|
+
return caseType ? caseType : caseTypes[0];
|
|
317
|
+
}
|
|
318
|
+
selectCaseTypeIdFromQueryOrDefaults(routeSnapshot, defaultCaseTypeId) {
|
|
319
|
+
return routeSnapshot.queryParams[WorkbasketFiltersComponent.PARAM_CASE_TYPE] || defaultCaseTypeId;
|
|
320
|
+
}
|
|
321
|
+
resetFieldsWhenNoDefaults() {
|
|
322
|
+
this.resetCaseState();
|
|
323
|
+
this.resetCaseType();
|
|
324
|
+
this.clearWorkbasketInputs();
|
|
325
|
+
this.workbasketDefaults = false;
|
|
326
|
+
this.selected.jurisdiction = null;
|
|
327
|
+
this.initialised = false;
|
|
328
|
+
this.initFilters(true);
|
|
329
|
+
}
|
|
330
|
+
clearWorkbasketInputs() {
|
|
331
|
+
this.workbasketInputsReady = false;
|
|
332
|
+
this.workbasketInputs = [];
|
|
333
|
+
}
|
|
334
|
+
resetCaseState() {
|
|
335
|
+
this.defaults.state_id = null;
|
|
336
|
+
this.selected.caseState = null;
|
|
337
|
+
this.selectedCaseTypeStates = null;
|
|
338
|
+
}
|
|
339
|
+
resetCaseType() {
|
|
340
|
+
this.selected.caseType = undefined; // option should be blank rather than "Select a value" in case of reset.
|
|
341
|
+
this.selectedJurisdictionCaseTypes = null;
|
|
342
|
+
}
|
|
343
|
+
setFocusToTop() {
|
|
344
|
+
window.scrollTo(0, 0);
|
|
345
|
+
const topContainer = document.getElementById('search-result-heading__text');
|
|
346
|
+
if (topContainer) {
|
|
347
|
+
topContainer.focus();
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
getCaseFields() {
|
|
351
|
+
if (this.workbasketInputs) {
|
|
352
|
+
this.caseFields = this.workbasketInputs.map(item => FieldsUtils.convertToCaseField(item.field));
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
WorkbasketFiltersComponent.PARAM_JURISDICTION = 'jurisdiction';
|
|
357
|
+
WorkbasketFiltersComponent.PARAM_CASE_TYPE = 'case-type';
|
|
358
|
+
WorkbasketFiltersComponent.PARAM_CASE_STATE = 'case-state';
|
|
359
|
+
WorkbasketFiltersComponent.ɵfac = function WorkbasketFiltersComponent_Factory(t) { return new (t || WorkbasketFiltersComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.WorkbasketInputFilterService), i0.ɵɵdirectiveInject(i3.OrderService), i0.ɵɵdirectiveInject(i4.JurisdictionService), i0.ɵɵdirectiveInject(i5.AlertService), i0.ɵɵdirectiveInject(i6.WindowService)); };
|
|
360
|
+
WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFiltersComponent, selectors: [["ccd-workbasket-filters"]], inputs: { jurisdictions: "jurisdictions", defaults: "defaults" }, outputs: { onApply: "onApply", onReset: "onReset" }, decls: 28, vars: 13, consts: [["aria-label", "Filters", 1, "heading-h2"], [1, "global-display"], [1, "form-group"], ["for", "wb-jurisdiction", 1, "form-label"], ["id", "wb-jurisdiction", "name", "jurisdiction", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "ngModelChange", "change"], [3, "ngValue", 4, "ngIf"], [3, "ngValue", 4, "ngFor", "ngForOf"], ["for", "wb-case-type", 1, "form-label"], ["id", "wb-case-type", "name", "case-type", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "disabled", "ngModelChange", "change"], ["for", "wb-case-state", 1, "form-label"], ["id", "wb-case-state", "name", "state", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "disabled", "ngModelChange"], [3, "ngValue"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields", 4, "ngIf"], ["type", "button", "title", "Apply filter", "aria-label", "Apply filter", 1, "button", "workbasket-filters-apply", 3, "disabled", "click"], ["type", "button", "title", "Reset filter", "aria-label", "Reset filter", 1, "button", "button-secondary", 3, "click"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields"], ["id", "dynamicFilters"], ["class", "form-group", 4, "ngFor", "ngForOf"], [3, "caseField", "formGroup", "isExpanded", "isInSearchBlock", "keyup.enter"]], template: function WorkbasketFiltersComponent_Template(rf, ctx) { if (rf & 1) {
|
|
361
|
+
i0.ɵɵelementStart(0, "h2", 0);
|
|
362
|
+
i0.ɵɵtext(1, "Filters");
|
|
363
|
+
i0.ɵɵelementEnd();
|
|
364
|
+
i0.ɵɵelementStart(2, "form", 1);
|
|
365
|
+
i0.ɵɵelementStart(3, "div", 2);
|
|
366
|
+
i0.ɵɵelementStart(4, "label", 3);
|
|
367
|
+
i0.ɵɵtext(5, "Jurisdiction");
|
|
368
|
+
i0.ɵɵelementEnd();
|
|
369
|
+
i0.ɵɵelementStart(6, "select", 4);
|
|
370
|
+
i0.ɵɵlistener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_6_listener($event) { return ctx.selected.jurisdiction = $event; })("change", function WorkbasketFiltersComponent_Template_select_change_6_listener() { return ctx.onJurisdictionIdChange(); });
|
|
371
|
+
i0.ɵɵtemplate(7, WorkbasketFiltersComponent_option_7_Template, 2, 1, "option", 5);
|
|
372
|
+
i0.ɵɵtemplate(8, WorkbasketFiltersComponent_option_8_Template, 2, 2, "option", 6);
|
|
373
|
+
i0.ɵɵelementEnd();
|
|
374
|
+
i0.ɵɵelementEnd();
|
|
375
|
+
i0.ɵɵelementStart(9, "div", 2);
|
|
376
|
+
i0.ɵɵelementStart(10, "label", 7);
|
|
377
|
+
i0.ɵɵtext(11, "Case type");
|
|
378
|
+
i0.ɵɵelementEnd();
|
|
379
|
+
i0.ɵɵelementStart(12, "select", 8);
|
|
380
|
+
i0.ɵɵlistener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_12_listener($event) { return ctx.selected.caseType = $event; })("change", function WorkbasketFiltersComponent_Template_select_change_12_listener() { return ctx.onCaseTypeIdChange(); });
|
|
381
|
+
i0.ɵɵtemplate(13, WorkbasketFiltersComponent_option_13_Template, 2, 1, "option", 5);
|
|
382
|
+
i0.ɵɵtemplate(14, WorkbasketFiltersComponent_option_14_Template, 2, 2, "option", 6);
|
|
383
|
+
i0.ɵɵelementEnd();
|
|
384
|
+
i0.ɵɵelementEnd();
|
|
385
|
+
i0.ɵɵelementStart(15, "div", 2);
|
|
386
|
+
i0.ɵɵelementStart(16, "label", 9);
|
|
387
|
+
i0.ɵɵtext(17, "State");
|
|
388
|
+
i0.ɵɵelementEnd();
|
|
389
|
+
i0.ɵɵelementStart(18, "select", 10);
|
|
390
|
+
i0.ɵɵlistener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_18_listener($event) { return ctx.selected.caseState = $event; });
|
|
391
|
+
i0.ɵɵelementStart(19, "option", 11);
|
|
392
|
+
i0.ɵɵtext(20, "Any");
|
|
393
|
+
i0.ɵɵelementEnd();
|
|
394
|
+
i0.ɵɵtemplate(21, WorkbasketFiltersComponent_option_21_Template, 2, 2, "option", 6);
|
|
395
|
+
i0.ɵɵelementEnd();
|
|
396
|
+
i0.ɵɵelementEnd();
|
|
397
|
+
i0.ɵɵtemplate(22, WorkbasketFiltersComponent_ng_container_22_Template, 3, 3, "ng-container", 12);
|
|
398
|
+
i0.ɵɵelementStart(23, "button", 13);
|
|
399
|
+
i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_23_listener() { return ctx.apply(true); });
|
|
400
|
+
i0.ɵɵtext(24, "Apply");
|
|
401
|
+
i0.ɵɵelementEnd();
|
|
402
|
+
i0.ɵɵtext(25, " \u00A0\u00A0\u00A0 ");
|
|
403
|
+
i0.ɵɵelementStart(26, "button", 14);
|
|
404
|
+
i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_26_listener() { return ctx.reset(); });
|
|
405
|
+
i0.ɵɵtext(27, "Reset");
|
|
406
|
+
i0.ɵɵelementEnd();
|
|
407
|
+
i0.ɵɵelementEnd();
|
|
408
|
+
} if (rf & 2) {
|
|
409
|
+
i0.ɵɵadvance(6);
|
|
410
|
+
i0.ɵɵproperty("ngModel", ctx.selected.jurisdiction);
|
|
411
|
+
i0.ɵɵadvance(1);
|
|
412
|
+
i0.ɵɵproperty("ngIf", !ctx.workbasketDefaults);
|
|
413
|
+
i0.ɵɵadvance(1);
|
|
414
|
+
i0.ɵɵproperty("ngForOf", ctx.jurisdictions);
|
|
415
|
+
i0.ɵɵadvance(4);
|
|
416
|
+
i0.ɵɵproperty("ngModel", ctx.selected.caseType)("disabled", ctx.isCaseTypesDropdownDisabled());
|
|
417
|
+
i0.ɵɵadvance(1);
|
|
418
|
+
i0.ɵɵproperty("ngIf", !ctx.workbasketDefaults);
|
|
419
|
+
i0.ɵɵadvance(1);
|
|
420
|
+
i0.ɵɵproperty("ngForOf", ctx.selectedJurisdictionCaseTypes);
|
|
421
|
+
i0.ɵɵadvance(4);
|
|
422
|
+
i0.ɵɵproperty("ngModel", ctx.selected.caseState)("disabled", ctx.isCaseStatesDropdownDisabled());
|
|
423
|
+
i0.ɵɵadvance(1);
|
|
424
|
+
i0.ɵɵproperty("ngValue", null);
|
|
425
|
+
i0.ɵɵadvance(2);
|
|
426
|
+
i0.ɵɵproperty("ngForOf", ctx.selectedCaseTypeStates);
|
|
427
|
+
i0.ɵɵadvance(1);
|
|
428
|
+
i0.ɵɵproperty("ngIf", ctx.isSearchableAndWorkbasketInputsReady());
|
|
429
|
+
i0.ɵɵadvance(1);
|
|
430
|
+
i0.ɵɵproperty("disabled", ctx.isApplyButtonDisabled());
|
|
431
|
+
} }, directives: [i7.ɵangular_packages_forms_forms_ba, i7.NgControlStatusGroup, i7.NgForm, i7.SelectControlValueAccessor, i7.NgControlStatus, i7.NgModel, i8.NgIf, i8.NgForOf, i7.NgSelectOption, i7.ɵangular_packages_forms_forms_z, i9.ConditionalShowFormDirective, i7.FormGroupDirective, i10.FieldWriteComponent], styles: ["div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-weight:400;text-transform:none;font-size:11pt;line-height:1.2727272727}@media (min-width:641px){div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-size:12pt;line-height:1.3333333333}}.form-group[_ngcontent-%COMP%]{margin-bottom:7px}.ccd-dropdown[_ngcontent-%COMP%]{width:100%}span.heading-medium[_ngcontent-%COMP%]{margin-top:0}"] });
|
|
432
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkbasketFiltersComponent, [{
|
|
433
|
+
type: Component,
|
|
434
|
+
args: [{
|
|
435
|
+
selector: 'ccd-workbasket-filters',
|
|
436
|
+
templateUrl: './workbasket-filters.component.html',
|
|
437
|
+
styleUrls: ['./workbasket-filters.component.scss']
|
|
438
|
+
}]
|
|
439
|
+
}], function () { return [{ type: i1.ActivatedRoute }, { type: i2.WorkbasketInputFilterService }, { type: i3.OrderService }, { type: i4.JurisdictionService }, { type: i5.AlertService }, { type: i6.WindowService }]; }, { jurisdictions: [{
|
|
440
|
+
type: Input
|
|
441
|
+
}], defaults: [{
|
|
442
|
+
type: Input
|
|
443
|
+
}], onApply: [{
|
|
444
|
+
type: Output
|
|
445
|
+
}], onReset: [{
|
|
446
|
+
type: Output
|
|
447
|
+
}] }); })();
|
|
448
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy93b3JrYmFza2V0LWZpbHRlcnMvd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy93b3JrYmFza2V0LWZpbHRlcnMvd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQTBCLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXRDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ05uRyxrQ0FBcUQ7SUFBQSw4QkFBYztJQUFBLGlCQUFTOztJQUF4Qyw4QkFBZ0I7OztJQUNwRCxrQ0FB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ZixlQUErQjtRQUEvQiwrQ0FBK0IsK0NBQUE7UUFFN0MsZUFBeUI7UUFBekIsOENBQXlCO1FBQ1gsZUFBZ0M7UUFBaEMsMkRBQWdDO1FBT3BDLGVBQWdDO1FBQWhDLGdEQUFnQyxnREFBQTtRQUUzQyxlQUFnQjtRQUFoQiw4QkFBZ0I7UUFDRCxlQUF5QjtRQUF6QixvREFBeUI7UUFJZCxlQUE0QztRQUE1QyxpRUFBNEM7UUFRRSxlQUFvQztRQUFwQyxzREFBb0M7O3VGRGhCN0csMEJBQTBCO2NBTHRDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxXQUFXLEVBQUUscUNBQXFDO2dCQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQzthQUNuRDtnT0FTUSxhQUFhO2tCQURuQixLQUFLO1lBSUMsUUFBUTtrQkFEZCxLQUFLO1lBSUMsT0FBTztrQkFEYixNQUFNO1lBSUEsT0FBTztrQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVN0YXRlIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1zdGF0ZS5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlVHlwZUxpdGUgfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLXR5cGUtbGl0ZS5tb2RlbCc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb24gfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9qdXJpc2RpY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgV29ya2Jhc2tldElucHV0TW9kZWwgfSBmcm9tICcuLi8uLi9kb21haW4vd29ya2Jhc2tldC93b3JrYmFza2V0LWlucHV0Lm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcbmltcG9ydCB7IEp1cmlzZGljdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9qdXJpc2RpY3Rpb24vanVyaXNkaWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXIvb3JkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2luZG93L3dpbmRvdy5zZXJ2aWNlJztcbmltcG9ydCB7IFdvcmtiYXNrZXRJbnB1dEZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93b3JrYmFza2V0L3dvcmtiYXNrZXQtaW5wdXQtZmlsdGVyLnNlcnZpY2UnO1xuXG5jb25zdCBGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSA9ICd3b3JrYmFza2V0LWZpbHRlci1mb3JtLWdyb3VwLXZhbHVlJztcbmNvbnN0IFNBVkVEX1FVRVJZX1BBUkFNX0xPQ19TVE9SQUdFID0gJ3NhdmVkUXVlcnlQYXJhbXMnO1xuY29uc3QgUkVHSU9OX0xJU1RfQU5EX0ZSQ19GSUxURVIgPSAncmVnaW9uTGlzdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13b3JrYmFza2V0LWZpbHRlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgV29ya2Jhc2tldEZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fSlVSSVNESUNUSU9OID0gJ2p1cmlzZGljdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9UWVBFID0gJ2Nhc2UtdHlwZSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9TVEFURSA9ICdjYXNlLXN0YXRlJztcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBqdXJpc2RpY3Rpb25zOiBKdXJpc2RpY3Rpb25bXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdHM7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFwcGx5OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uUmVzZXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyB3b3JrYmFza2V0SW5wdXRzOiBXb3JrYmFza2V0SW5wdXRNb2RlbFtdO1xuICBwdWJsaWMgd29ya2Jhc2tldElucHV0c1JlYWR5OiBib29sZWFuO1xuXG4gIHB1YmxpYyB3b3JrYmFza2V0RGVmYXVsdHM6IGJvb2xlYW47XG5cbiAgcHVibGljIHNlbGVjdGVkOiB7XG4gICAgaW5pdD86IGJvb2xlYW4sXG4gICAganVyaXNkaWN0aW9uPzogSnVyaXNkaWN0aW9uLFxuICAgIGNhc2VUeXBlPzogQ2FzZVR5cGVMaXRlLFxuICAgIGNhc2VTdGF0ZT86IENhc2VTdGF0ZSxcbiAgICBmb3JtR3JvdXA/OiBGb3JtR3JvdXAsXG4gICAgcGFnZT86IG51bWJlcixcbiAgICBtZXRhZGF0YUZpZWxkcz86IHN0cmluZ1tdXG4gIH07XG5cbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgcHVibGljIHNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzPzogQ2FzZVR5cGVMaXRlW107XG4gIHB1YmxpYyBzZWxlY3RlZENhc2VUeXBlU3RhdGVzPzogQ2FzZVN0YXRlW107XG5cbiAgcHVibGljIGluaXRpYWxpc2VkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3b3JrYmFza2V0SW5wdXRGaWx0ZXJTZXJ2aWNlOiBXb3JrYmFza2V0SW5wdXRGaWx0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJTZXJ2aWNlOiBPcmRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBqdXJpc2RpY3Rpb25TZXJ2aWNlOiBKdXJpc2RpY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9O1xuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICBpZiAoIXRoaXMuaW5pdGlhbGlzZWQgfHwgIXBhcmFtcyB8fCAhT2JqZWN0LmtleXMocGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5pbml0RmlsdGVycyhmYWxzZSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGlzZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFwcGx5KGluaXQpOiB2b2lkIHtcbiAgICAvLyBTYXZlIGZpbHRlcnMgYXMgcXVlcnkgcGFyYW1ldGVycyBmb3IgY3VycmVudCByb3V0ZVxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge307XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uKSB7XG4gICAgICBxdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uaWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlKSB7XG4gICAgICBxdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9DQVNFX1RZUEVdID0gdGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5pZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlKSB7XG4gICAgICBxdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9DQVNFX1NUQVRFXSA9IHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlLmlkO1xuICAgIH1cbiAgICAvLyB3aXRob3V0IGV4cGxpY2l0bHkgcHJlc2VydmluZyBhbGVydHMgYW55IG1lc3NhZ2Ugb24gdGhlIHBhZ2VcbiAgICAvLyB3b3VsZCBiZSBjbGVhcmVkIG91dCBiZWNhdXNlIG9mIHRoaXMgaW5pdGlhbCBuYXZpZ2F0aW9uLlxuICAgIC8vIFRoZSBhYm92ZSBpcyBvbmx5IHRydWUgaWYgbm8gYWxlcnRzIHdlcmUgc2V0IHByaW9yIHRvIGxvYWRpbmcgY2FzZSBsaXN0IHBhZ2UuXG4gICAgaWYgKCF0aGlzLmFsZXJ0U2VydmljZS5pc1ByZXNlcnZlQWxlcnRzKCkpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNldFByZXNlcnZlQWxlcnRzKCF0aGlzLmluaXRpYWxpc2VkKTtcbiAgICB9XG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuZm9ybUdyb3VwID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVcGRhdGUgZm9ybSBncm91cCBmaWx0ZXJzXG4gICAgICB0aGlzLnVwZGF0ZUZvcm1Hcm91cEZpbHRlcnMoKTtcblxuICAgICAgdGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAgPSB0aGlzLmZvcm1Hcm91cDtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZC5pbml0ID0gaW5pdDtcbiAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSAxO1xuICAgIHRoaXMuc2VsZWN0ZWQubWV0YWRhdGFGaWVsZHMgPSB0aGlzLmdldE1ldGFkYXRhRmllbGRzKCk7XG4gICAgaWYgKGluaXQpIHtcbiAgICAgIHRoaXMud2luZG93U2VydmljZS5zZXRMb2NhbFN0b3JhZ2UoU0FWRURfUVVFUllfUEFSQU1fTE9DX1NUT1JBR0UsIEpTT04uc3RyaW5naWZ5KHF1ZXJ5UGFyYW1zKSk7XG4gICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5mb3JtR3JvdXAuY29udHJvbHMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy53aW5kb3dTZXJ2aWNlLnNldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSwgSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtR3JvdXAudmFsdWUpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQXBwbHkgZmlsdGVyc1xuICAgIHRoaXMub25BcHBseS5lbWl0KHtzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCwgcXVlcnlQYXJhbXN9KTtcbiAgICB0aGlzLnNldEZvY3VzVG9Ub3AoKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKEZPUk1fR1JPVVBfVkFMX0xPQ19TVE9SQUdFKTtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKFNBVkVEX1FVRVJZX1BBUkFNX0xPQ19TVE9SQUdFKTtcbiAgICBzZXRUaW1lb3V0ICgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0RmllbGRzV2hlbk5vRGVmYXVsdHMoKTtcbiAgICAgIHRoaXMub25SZXNldC5lbWl0KHRydWUpO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWV0YWRhdGFGaWVsZHMoKTogc3RyaW5nW10ge1xuICAgIGlmICh0aGlzLndvcmtiYXNrZXRJbnB1dHMpIHtcbiAgICAgIHJldHVybiB0aGlzLndvcmtiYXNrZXRJbnB1dHNcbiAgICAgICAgLmZpbHRlcih3b3JrYmFza2V0SW5wdXQgPT4gd29ya2Jhc2tldElucHV0LmZpZWxkLm1ldGFkYXRhID09PSB0cnVlKVxuICAgICAgICAubWFwKHdvcmtiYXNrZXRJbnB1dCA9PiB3b3JrYmFza2V0SW5wdXQuZmllbGQuaWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkp1cmlzZGljdGlvbklkQ2hhbmdlKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbikge1xuICAgICAgdGhpcy5qdXJpc2RpY3Rpb25TZXJ2aWNlLmFubm91bmNlU2VsZWN0ZWRKdXJpc2RpY3Rpb24odGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24pO1xuICAgICAgdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcyA9IHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmNhc2VUeXBlcy5sZW5ndGggPiAwID8gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uY2FzZVR5cGVzIDogbnVsbDtcbiAgICAgIC8vIExpbmUgd2FzIHRvbyBsb25nIGZvciBsaW50aW5nIHNvIHJlZmFjdG9yZWQgaXQuXG4gICAgICBpZiAodGhpcy53b3JrYmFza2V0RGVmYXVsdHMgJiYgdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcykge1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlc1swXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZSA9IG51bGw7XG4gICAgICB0aGlzLmNsZWFyV29ya2Jhc2tldElucHV0cygpO1xuXG4gICAgICBpZiAoIXRoaXMuaXNBcHBseUJ1dHRvbkRpc2FibGVkKCkpIHtcbiAgICAgICAgdGhpcy5vbkNhc2VUeXBlSWRDaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNldENhc2VUeXBlKCk7XG4gICAgICB0aGlzLnJlc2V0Q2FzZVN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2FzZVR5cGVJZENoYW5nZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZC5jYXNlVHlwZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENhc2VUeXBlU3RhdGVzID0gdGhpcy5zb3J0U3RhdGVzKHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUuc3RhdGVzKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gbnVsbDtcbiAgICAgIHRoaXMuZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgICB0aGlzLmNsZWFyV29ya2Jhc2tldElucHV0cygpO1xuICAgICAgaWYgKCF0aGlzLmlzQXBwbHlCdXR0b25EaXNhYmxlZCgpKSB7XG4gICAgICAgIHRoaXMud29ya2Jhc2tldElucHV0RmlsdGVyU2VydmljZS5nZXRXb3JrYmFza2V0SW5wdXRzKHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmlkLCB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLmlkKS5waXBlKFxuICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKS5zdWJzY3JpYmUod29ya2Jhc2tldElucHV0cyA9PiB7XG4gICAgICAgICAgICB0aGlzLndvcmtiYXNrZXRJbnB1dHNSZWFkeSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLndvcmtiYXNrZXRJbnB1dHMgPSB3b3JrYmFza2V0SW5wdXRzXG4gICAgICAgICAgICAgIC5zb3J0KHRoaXMub3JkZXJTZXJ2aWNlLnNvcnRBc2MpO1xuICAgICAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSk7XG5cbiAgICAgICAgICAgIHdvcmtiYXNrZXRJbnB1dHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgaWYgKGl0ZW0uZmllbGQuZWxlbWVudFBhdGgpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmZpZWxkLmlkID0gaXRlbS5maWVsZC5pZCArICcuJyArIGl0ZW0uZmllbGQuZWxlbWVudFBhdGg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaXRlbS5maWVsZC5sYWJlbCA9IGl0ZW0ubGFiZWw7XG4gICAgICAgICAgICAgIGlmIChmb3JtVmFsdWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWFyY2hGb3JtVmFsdWVPYmplY3QgPSBKU09OLnBhcnNlKGZvcm1WYWx1ZSk7XG4gICAgICAgICAgICAgICAgaXRlbS5maWVsZC52YWx1ZSA9IHNlYXJjaEZvcm1WYWx1ZU9iamVjdFtpdGVtLmZpZWxkLmlkXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmdldENhc2VGaWVsZHMoKTtcbiAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnV29ya2Jhc2tldCBpbnB1dCBmaWVsZHMgcmVxdWVzdCB3aWxsIGJlIGRpc2NhcmRlZCByZWFzb246ICcsIGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlc2V0Q2FzZVN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzQ2FzZVR5cGVzRHJvcGRvd25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXM7XG4gIH1cblxuICBwdWJsaWMgaXNDYXNlU3RhdGVzRHJvcGRvd25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgfHwgISh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLnN0YXRlcyAmJiB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLnN0YXRlcy5sZW5ndGggPiAwKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0FwcGx5QnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEodGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gJiYgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWFyY2hhYmxlQW5kV29ya2Jhc2tldElucHV0c1JlYWR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiAmJiB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlICYmIHRoaXMud29ya2Jhc2tldElucHV0c1JlYWR5O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gY2xlYXIgdGhlIHByZXZpb3VzbHkgdXNlZFxuICAgKiBmb3JtIGdyb3VwIGNvbnRyb2wgZmlsdGVyIHZhbHVlcyB0byBtYWtlIHN1cmUgb25seSB0aGVcbiAgICogY3VycmVudGx5IHNlbGVjdGVkIGZvcm0gZ3JvdXAgY29udHJvbCBmaWx0ZXIgdmFsdWVzIGFyZSBwcmVzZW50LlxuICAgKlxuICAgKiBIYXMgYmVlbiBpbXBsZW1lbnRlZCBmb3IgJ1JlZ2lvbiBhbmQgRlJDIGZpbHRlcnMnIGFuZCBjYW4gYmUgZXh0ZW5kZWRcbiAgICogaW4gZnV0dXJlIHRvIGluY29ycG9yYXRlIG90aGVyIGR5bmFtaWMgZmlsdGVycy5cbiAgICovXG4gICBwdWJsaWMgdXBkYXRlRm9ybUdyb3VwRmlsdGVycygpOiB2b2lkIHtcbiAgICAvLyBSZWFkIHRoZSBmb3JtIGdyb3VwIGxvY2FsIHN0b3JhZ2VcbiAgICBjb25zdCBmb3JtR3JvdXBMUyA9IEpTT04ucGFyc2UodGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSkpO1xuXG4gICAgLy8gRm9ybSBncm91cCBsb2NhbCBzdG9yYWdlIGlzIGF2YWlsYWJsZSBhbmQgY29udGFpbnMgcmVnaW9uTGlzdCBwcm9wZXJ0eVxuICAgIGlmICghIWZvcm1Hcm91cExTICYmIGZvcm1Hcm91cExTLmhhc093blByb3BlcnR5KFJFR0lPTl9MSVNUX0FORF9GUkNfRklMVEVSKSkge1xuICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldChSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUikpIHtcbiAgICAgICAgLy8gSWYgcmVnaW9uTGlzdCB2YWx1ZSBkb2VzIG5vdCBtYXRjaCBiZXR3ZWVuIGxvY2FsIHN0b3JhZ2UgYW5kIGZvcm0gZ3JvdXBcbiAgICAgICAgLy8gdGhlbiB0aGUgZmlsdGVyIHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQgYW5kIHdlIG5lZWQgdG8gY2xlYXIgdGhlIG9sZCBmaWx0ZXIgdmFsdWVzXG4gICAgICAgIGlmIChmb3JtR3JvdXBMU1tSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUl0gIT09IHRoaXMuZm9ybUdyb3VwLmdldChSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUikudmFsdWUpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBmb3JtR3JvdXBMUykge1xuICAgICAgICAgICAgaWYgKGZvcm1Hcm91cExTLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBmb3JtR3JvdXBMU1trZXldO1xuICAgICAgICAgICAgICAvLyBDbGVhciB0aGUgZmlsdGVyIGZvcm0gZ3JvdXAgY29udHJvbCB2YWx1ZXMgaWYgaXQgaGFzIGEgdmFsdWUgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgICAgICAvLyBUaGUgcmVnaW9uTGlzdCBmb3JtIGdyb3VwIGNvbnRyb2wgdmFsdWUgc2hvdWxkIGJlIGlnbm9yZWQgYXMgaXQgYWx3YXlzIGNvbnRhaW4gdGhlIGxhdGVzdCB2YWx1ZVxuICAgICAgICAgICAgICBpZiAoa2V5ICE9PSBSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUiAmJiB2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KGtleSkuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNvcnRTdGF0ZXMoc3RhdGVzOiBDYXNlU3RhdGVbXSkge1xuICAgIHJldHVybiBzdGF0ZXMuc29ydCh0aGlzLm9yZGVyU2VydmljZS5zb3J0QXNjKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcnkgdG8gaW5pdGlhbGlzZSBmaWx0ZXJzIGJhc2VkIG9uIHF1ZXJ5IHBhcmFtZXRlcnMgb3Igd29ya2Jhc2tldCBkZWZhdWx0cy5cbiAgICogUXVlcnkgcGFyYW1ldGVycywgd2hlbiBhdmFpbGFibGUsIHRha2UgcHJlY2VkZW5jZSBvdmVyIHdvcmtiYXNrZXQgZGVmYXVsdHMuXG4gICAqL1xuICBwcml2YXRlIGluaXRGaWx0ZXJzKGluaXQ6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBzYXZlZFF1ZXJ5UGFyYW1zID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShTQVZFRF9RVUVSWV9QQVJBTV9MT0NfU1RPUkFHRSk7XG4gICAgY29uc3Qgcm91dGVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9IHRoaXMucm91dGUuc25hcHNob3Q7XG4gICAgaWYgKHNhdmVkUXVlcnlQYXJhbXMpIHtcbiAgICAgIHJvdXRlU25hcHNob3QucXVlcnlQYXJhbXMgPSBKU09OLnBhcnNlKHNhdmVkUXVlcnlQYXJhbXMpO1xuICAgIH1cbiAgICBjb25zdCBzZWxlY3RlZEp1cmlzZGljdGlvbklkID0gcm91dGVTbmFwc2hvdC5xdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dIHx8XG4gICAgICAodGhpcy5kZWZhdWx0cyAmJiB0aGlzLmRlZmF1bHRzLmp1cmlzZGljdGlvbl9pZCk7XG4gICAgaWYgKHNlbGVjdGVkSnVyaXNkaWN0aW9uSWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb25zLmZpbmQoaiA9PiBzZWxlY3RlZEp1cmlzZGljdGlvbklkID09PSBqLmlkKTtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiAmJiB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5jYXNlVHlwZXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uY2FzZVR5cGVzO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gdGhpcy5zZWxlY3RDYXNlVHlwZSh0aGlzLnNlbGVjdGVkLCB0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzLCByb3V0ZVNuYXBzaG90KTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUpIHtcbiAgICAgICAgICB0aGlzLm9uQ2FzZVR5cGVJZENoYW5nZSgpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gdGhpcy5zZWxlY3RDYXNlU3RhdGUodGhpcy5zZWxlY3RlZC5jYXNlVHlwZSwgcm91dGVTbmFwc2hvdCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53b3JrYmFza2V0RGVmYXVsdHMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IG51bGw7XG4gICAgfVxuICAgIHRoaXMuYXBwbHkoaW5pdCk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENhc2VTdGF0ZShjYXNlVHlwZTogQ2FzZVR5cGVMaXRlLCByb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQ2FzZVN0YXRlIHtcbiAgICBsZXQgY2FzZVN0YXRlO1xuICAgIGlmIChjYXNlVHlwZSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDYXNlU3RhdGVJZCA9IHRoaXMuc2VsZWN0Q2FzZVN0YXRlSWRGcm9tUXVlcnlPckRlZmF1bHRzKHJvdXRlU25hcHNob3QsICh0aGlzLmRlZmF1bHRzICYmIHRoaXMuZGVmYXVsdHMuc3RhdGVfaWQpKTtcbiAgICAgIGNhc2VTdGF0ZSA9IGNhc2VUeXBlLnN0YXRlcy5maW5kKGN0ID0+IHNlbGVjdGVkQ2FzZVN0YXRlSWQgPT09IGN0LmlkKTtcbiAgICB9XG4gICAgcmV0dXJuIGNhc2VTdGF0ZSA/IGNhc2VTdGF0ZSA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENhc2VTdGF0ZUlkRnJvbVF1ZXJ5T3JEZWZhdWx0cyhyb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBkZWZhdWx0Q2FzZVN0YXRlSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJvdXRlU25hcHNob3QucXVlcnlQYXJhbXNbV29ya2Jhc2tldEZpbHRlcnNDb21wb25lbnQuUEFSQU1fQ0FTRV9TVEFURV0gfHwgZGVmYXVsdENhc2VTdGF0ZUlkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RDYXNlVHlwZShzZWxlY3RlZDogYW55LCBjYXNlVHlwZXM6IENhc2VUeXBlTGl0ZVtdLCByb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQ2FzZVR5cGVMaXRlIHtcbiAgICBsZXQgY2FzZVR5cGU7XG4gICAgaWYgKHNlbGVjdGVkLmp1cmlzZGljdGlvbikge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDYXNlVHlwZUlkID0gdGhpcy5zZWxlY3RDYXNlVHlwZUlkRnJvbVF1ZXJ5T3JEZWZhdWx0cyhyb3V0ZVNuYXBzaG90LCAodGhpcy5kZWZhdWx0cyAmJiB0aGlzLmRlZmF1bHRzLmNhc2VfdHlwZV9pZCkpO1xuICAgICAgY2FzZVR5cGUgPSBjYXNlVHlwZXMuZmluZChjdCA9PiBzZWxlY3RlZENhc2VUeXBlSWQgPT09IGN0LmlkKTtcbiAgICB9XG4gICAgcmV0dXJuIGNhc2VUeXBlID8gY2FzZVR5cGUgOiBjYXNlVHlwZXNbMF07XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENhc2VUeXBlSWRGcm9tUXVlcnlPckRlZmF1bHRzKHJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGRlZmF1bHRDYXNlVHlwZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiByb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zW1dvcmtiYXNrZXRGaWx0ZXJzQ29tcG9uZW50LlBBUkFNX0NBU0VfVFlQRV0gfHwgZGVmYXVsdENhc2VUeXBlSWQ7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RmllbGRzV2hlbk5vRGVmYXVsdHMoKSB7XG4gICAgdGhpcy5yZXNldENhc2VTdGF0ZSgpO1xuICAgIHRoaXMucmVzZXRDYXNlVHlwZSgpO1xuICAgIHRoaXMuY2xlYXJXb3JrYmFza2V0SW5wdXRzKCk7XG4gICAgdGhpcy53b3JrYmFza2V0RGVmYXVsdHMgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IG51bGw7XG4gICAgdGhpcy5pbml0aWFsaXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaW5pdEZpbHRlcnModHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyV29ya2Jhc2tldElucHV0cygpIHtcbiAgICB0aGlzLndvcmtiYXNrZXRJbnB1dHNSZWFkeSA9IGZhbHNlO1xuICAgIHRoaXMud29ya2Jhc2tldElucHV0cyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldENhc2VTdGF0ZSgpIHtcbiAgICB0aGlzLmRlZmF1bHRzLnN0YXRlX2lkID0gbnVsbDtcbiAgICB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZSA9IG51bGw7XG4gICAgdGhpcy5zZWxlY3RlZENhc2VUeXBlU3RhdGVzID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRDYXNlVHlwZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gdW5kZWZpbmVkOyAvLyBvcHRpb24gc2hvdWxkIGJlIGJsYW5rIHJhdGhlciB0aGFuIFwiU2VsZWN0IGEgdmFsdWVcIiBpbiBjYXNlIG9mIHJlc2V0LlxuICAgIHRoaXMuc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXMgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2N1c1RvVG9wKCkge1xuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcblxuICAgIGNvbnN0IHRvcENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWFyY2gtcmVzdWx0LWhlYWRpbmdfX3RleHQnKTtcbiAgICBpZiAodG9wQ29udGFpbmVyKSB7XG4gICAgICB0b3BDb250YWluZXIuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENhc2VGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMud29ya2Jhc2tldElucHV0cykge1xuICAgICAgdGhpcy5jYXNlRmllbGRzID0gdGhpcy53b3JrYmFza2V0SW5wdXRzLm1hcChpdGVtID0+IEZpZWxkc1V0aWxzLmNvbnZlcnRUb0Nhc2VGaWVsZChpdGVtLmZpZWxkKSk7XG4gICAgfVxuICB9XG59XG4iLCJcbjxoMiBjbGFzcz1cImhlYWRpbmctaDJcIiBhcmlhLWxhYmVsPVwiRmlsdGVyc1wiPkZpbHRlcnM8L2gyPlxuPGZvcm0gY2xhc3M9XCJnbG9iYWwtZGlzcGxheVwiPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ3Yi1qdXJpc2RpY3Rpb25cIj5KdXJpc2RpY3Rpb248L2xhYmVsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLTMtNCBjY2QtZHJvcGRvd25cIiBpZD1cIndiLWp1cmlzZGljdGlvblwiXG4gICAgICAgICAgICBuYW1lPVwianVyaXNkaWN0aW9uXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZC5qdXJpc2RpY3Rpb25cIiBhcmlhLWNvbnRyb2xzPVwic2VhcmNoLXJlc3VsdFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uSnVyaXNkaWN0aW9uSWRDaGFuZ2UoKVwiPlxuICAgICAgPG9wdGlvbiAqbmdJZj1cIiF3b3JrYmFza2V0RGVmYXVsdHNcIiBbbmdWYWx1ZV09XCJudWxsXCI+U2VsZWN0IGEgdmFsdWU8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGogb2YganVyaXNkaWN0aW9uc1wiIFtuZ1ZhbHVlXT1cImpcIj57e2oubmFtZX19PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIndiLWNhc2UtdHlwZVwiPkNhc2UgdHlwZTwvbGFiZWw+XG4gICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtMy00IGNjZC1kcm9wZG93blwiIGlkPVwid2ItY2FzZS10eXBlXCJcbiAgICAgICAgICAgIG5hbWU9XCJjYXNlLXR5cGVcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkLmNhc2VUeXBlXCIgW2Rpc2FibGVkXT1cImlzQ2FzZVR5cGVzRHJvcGRvd25EaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25DYXNlVHlwZUlkQ2hhbmdlKClcIiBhcmlhLWNvbnRyb2xzPVwic2VhcmNoLXJlc3VsdFwiPlxuICAgICAgPG9wdGlvbiAqbmdJZj1cIiF3b3JrYmFza2V0RGVmYXVsdHNcIiBbbmdWYWx1ZV09XCJudWxsXCI+U2VsZWN0IGEgdmFsdWU8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGN0IG9mIHNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzXCIgW25nVmFsdWVdPVwiY3RcIj57e2N0Lm5hbWV9fTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ3Yi1jYXNlLXN0YXRlXCI+U3RhdGU8L2xhYmVsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLTMtNCBjY2QtZHJvcGRvd25cIiBpZD1cIndiLWNhc2Utc3RhdGVcIlxuICAgICAgICAgICAgbmFtZT1cInN0YXRlXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZC5jYXNlU3RhdGVcIiBbZGlzYWJsZWRdPVwiaXNDYXNlU3RhdGVzRHJvcGRvd25EaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJzZWFyY2gtcmVzdWx0XCI+XG4gICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIj5Bbnk8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNzIG9mIHNlbGVjdGVkQ2FzZVR5cGVTdGF0ZXNcIiBbbmdWYWx1ZV09XCJjc1wiPnt7Y3MubmFtZX19PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgY2NkQ29uZGl0aW9uYWxTaG93Rm9ybSAqbmdJZj1cImlzU2VhcmNoYWJsZUFuZFdvcmtiYXNrZXRJbnB1dHNSZWFkeSgpXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbY29udGV4dEZpZWxkc109XCJjYXNlRmllbGRzXCI+XG4gICAgPGRpdiBpZD1cImR5bmFtaWNGaWx0ZXJzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiICpuZ0Zvcj1cImxldCB3b3JrYmFza2V0SW5wdXQgb2Ygd29ya2Jhc2tldElucHV0c1wiPlxuICAgICAgICA8Y2NkLWZpZWxkLXdyaXRlIFtjYXNlRmllbGRdPVwid29ya2Jhc2tldElucHV0LmZpZWxkXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbaXNFeHBhbmRlZF09XCJ0cnVlXCIgW2lzSW5TZWFyY2hCbG9ja109XCJ0cnVlXCIgKGtleXVwLmVudGVyKT1cImFwcGx5KG51bGwpXCI+PC9jY2QtZmllbGQtd3JpdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gd29ya2Jhc2tldC1maWx0ZXJzLWFwcGx5XCIgKGNsaWNrKT1cImFwcGx5KHRydWUpXCIgW2Rpc2FibGVkXT1cImlzQXBwbHlCdXR0b25EaXNhYmxlZCgpXCIgdGl0bGU9XCJBcHBseSBmaWx0ZXJcIiBhcmlhLWxhYmVsPVwiQXBwbHkgZmlsdGVyXCI+QXBwbHk8L2J1dHRvbj4gJm5ic3A7Jm5ic3A7Jm5ic3A7XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJyZXNldCgpXCIgY2xhc3M9XCJidXR0b24gYnV0dG9uLXNlY29uZGFyeVwiIHRpdGxlPVwiUmVzZXQgZmlsdGVyXCIgYXJpYS1sYWJlbD1cIlJlc2V0IGZpbHRlclwiPlJlc2V0PC9idXR0b24+XG48L2Zvcm0+XG4iXX0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { ConditionalShowModule } from '../../directives/conditional-show/conditional-show.module';
|
|
5
|
+
import { AlertService } from '../../services/alert/alert.service';
|
|
6
|
+
import { JurisdictionService } from '../../services/jurisdiction/jurisdiction.service';
|
|
7
|
+
import { OrderService } from '../../services/order/order.service';
|
|
8
|
+
import { WindowService } from '../../services/window/window.service';
|
|
9
|
+
import { WorkbasketInputFilterService } from '../../services/workbasket/workbasket-input-filter.service';
|
|
10
|
+
import { PaletteModule } from '../palette/palette.module';
|
|
11
|
+
import { WorkbasketFiltersComponent } from './workbasket-filters.component';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
export class WorkbasketFiltersModule {
|
|
14
|
+
}
|
|
15
|
+
WorkbasketFiltersModule.ɵfac = function WorkbasketFiltersModule_Factory(t) { return new (t || WorkbasketFiltersModule)(); };
|
|
16
|
+
WorkbasketFiltersModule.ɵmod = i0.ɵɵdefineNgModule({ type: WorkbasketFiltersModule });
|
|
17
|
+
WorkbasketFiltersModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
|
|
18
|
+
WorkbasketInputFilterService,
|
|
19
|
+
OrderService,
|
|
20
|
+
JurisdictionService,
|
|
21
|
+
AlertService,
|
|
22
|
+
WindowService,
|
|
23
|
+
], imports: [[
|
|
24
|
+
CommonModule,
|
|
25
|
+
FormsModule,
|
|
26
|
+
ReactiveFormsModule,
|
|
27
|
+
PaletteModule,
|
|
28
|
+
ConditionalShowModule
|
|
29
|
+
]] });
|
|
30
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(WorkbasketFiltersModule, { declarations: [WorkbasketFiltersComponent], imports: [CommonModule,
|
|
31
|
+
FormsModule,
|
|
32
|
+
ReactiveFormsModule,
|
|
33
|
+
PaletteModule,
|
|
34
|
+
ConditionalShowModule], exports: [WorkbasketFiltersComponent] }); })();
|
|
35
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkbasketFiltersModule, [{
|
|
36
|
+
type: NgModule,
|
|
37
|
+
args: [{
|
|
38
|
+
imports: [
|
|
39
|
+
CommonModule,
|
|
40
|
+
FormsModule,
|
|
41
|
+
ReactiveFormsModule,
|
|
42
|
+
PaletteModule,
|
|
43
|
+
ConditionalShowModule
|
|
44
|
+
],
|
|
45
|
+
declarations: [
|
|
46
|
+
WorkbasketFiltersComponent,
|
|
47
|
+
],
|
|
48
|
+
exports: [
|
|
49
|
+
WorkbasketFiltersComponent,
|
|
50
|
+
],
|
|
51
|
+
providers: [
|
|
52
|
+
WorkbasketInputFilterService,
|
|
53
|
+
OrderService,
|
|
54
|
+
JurisdictionService,
|
|
55
|
+
AlertService,
|
|
56
|
+
WindowService,
|
|
57
|
+
]
|
|
58
|
+
}]
|
|
59
|
+
}], null, null); })();
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Jhc2tldC1maWx0ZXJzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy93b3JrYmFza2V0LWZpbHRlcnMvd29ya2Jhc2tldC1maWx0ZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQXVCNUUsTUFBTSxPQUFPLHVCQUF1Qjs7OEZBQXZCLHVCQUF1QjsyREFBdkIsdUJBQXVCO2dFQVJyQjtRQUNQLDRCQUE0QjtRQUM1QixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixhQUFhO0tBQ2hCLFlBbkJRO1lBQ0wsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLHFCQUFxQjtTQUN4Qjt3RkFlUSx1QkFBdUIsbUJBYjVCLDBCQUEwQixhQVAxQixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IscUJBQXFCLGFBTXJCLDBCQUEwQjt1RkFVckIsdUJBQXVCO2NBdEJuQyxRQUFRO2VBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2IscUJBQXFCO2lCQUN4QjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1YsMEJBQTBCO2lCQUM3QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsMEJBQTBCO2lCQUM3QjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1AsNEJBQTRCO29CQUM1QixZQUFZO29CQUNaLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixhQUFhO2lCQUNoQjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbmRpdGlvbmFsU2hvd01vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvY29uZGl0aW9uYWwtc2hvdy9jb25kaXRpb25hbC1zaG93Lm1vZHVsZSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGVydC9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEp1cmlzZGljdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9qdXJpc2RpY3Rpb24vanVyaXNkaWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXIvb3JkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2luZG93L3dpbmRvdy5zZXJ2aWNlJztcbmltcG9ydCB7IFdvcmtiYXNrZXRJbnB1dEZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93b3JrYmFza2V0L3dvcmtiYXNrZXQtaW5wdXQtZmlsdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFsZXR0ZU1vZHVsZSB9IGZyb20gJy4uL3BhbGV0dGUvcGFsZXR0ZS5tb2R1bGUnO1xuaW1wb3J0IHsgV29ya2Jhc2tldEZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuL3dvcmtiYXNrZXQtZmlsdGVycy5jb21wb25lbnQnO1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFBhbGV0dGVNb2R1bGUsXG4gICAgICAgIENvbmRpdGlvbmFsU2hvd01vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFdvcmtiYXNrZXRGaWx0ZXJzQ29tcG9uZW50LFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudCxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBXb3JrYmFza2V0SW5wdXRGaWx0ZXJTZXJ2aWNlLFxuICAgICAgICBPcmRlclNlcnZpY2UsXG4gICAgICAgIEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgICAgIEFsZXJ0U2VydmljZSxcbiAgICAgICAgV2luZG93U2VydmljZSxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFdvcmtiYXNrZXRGaWx0ZXJzTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS13b3JrZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi93b3JrLWFsbG9jYXRpb24vY2FzZS13b3JrZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2FzZXdvcmtlciB7XG4gIGZpcnN0TmFtZTogc3RyaW5nO1xuICBsYXN0TmFtZTogc3RyaW5nO1xuICBpZGFtSWQ6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgbG9jYXRpb246IExvY2F0aW9uO1xuICByb2xlQ2F0ZWdvcnk6IHN0cmluZztcbiAgc2VydmljZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXNld29ya2Vyc0J5U2VydmljZSB7XG4gIHNlcnZpY2U6IHN0cmluZztcbiAgY2FzZXdvcmtlcnM6IENhc2V3b3JrZXJbXTtcbn1cbiJdfQ==
|