@hmcts/ccd-case-ui-toolkit 7.0.39 → 7.0.40-rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/app.config.mjs +96 -0
- package/esm2022/lib/components/banners/alert/alert-icon-class.pipe.mjs +25 -0
- package/esm2022/lib/components/banners/alert/alert.component.mjs +92 -0
- package/esm2022/lib/components/banners/alert/alert.module.mjs +32 -0
- package/esm2022/lib/components/banners/banners.module.mjs +32 -0
- package/esm2022/lib/components/banners/notification-banner/notification-banner.component.mjs +116 -0
- package/esm2022/lib/components/banners/notification-banner/notification-banner.module.mjs +19 -0
- package/esm2022/lib/components/body/body.component.mjs +21 -0
- package/esm2022/lib/components/body/body.module.mjs +20 -0
- package/esm2022/lib/components/footer/footer.component.mjs +109 -0
- package/esm2022/lib/components/footer/footers.module.mjs +25 -0
- package/esm2022/lib/components/form/date-input/date-input.component.mjs +341 -0
- package/esm2022/lib/components/form/form.module.mjs +29 -0
- package/esm2022/lib/components/header/header-bar/header-bar.component.mjs +98 -0
- package/esm2022/lib/components/header/headers.module.mjs +25 -0
- package/esm2022/lib/components/header/navigation/navigation-item.component.mjs +45 -0
- package/esm2022/lib/components/header/navigation/navigation.component.mjs +26 -0
- package/esm2022/lib/components/header/phase/phase.component.mjs +49 -0
- package/esm2022/lib/components/tabs/tab.component.mjs +32 -0
- package/esm2022/lib/components/tabs/tabs.component.mjs +83 -0
- package/esm2022/lib/components/tabs/tabs.module.mjs +38 -0
- package/esm2022/lib/shared/commons/address-validation-constants.mjs +13 -0
- package/esm2022/lib/shared/commons/case-edit-data/case-edit-data.module.mjs +19 -0
- package/esm2022/lib/shared/commons/case-edit-data/case-edit-data.service.mjs +46 -0
- package/esm2022/lib/shared/commons/constants.mjs +13 -0
- package/esm2022/lib/shared/components/activity/activity-banner/activity-banner.component.mjs +43 -0
- package/esm2022/lib/shared/components/activity/activity-icon/activity-icon.component.mjs +36 -0
- package/esm2022/lib/shared/components/activity/activity.component.mjs +156 -0
- package/esm2022/lib/shared/components/activity/activity.module.mjs +55 -0
- package/esm2022/lib/shared/components/case-editor/case-access-utils/index.mjs +105 -0
- package/esm2022/lib/shared/components/case-editor/case-create/case-create.component.mjs +96 -0
- package/esm2022/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +464 -0
- package/esm2022/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +130 -0
- package/esm2022/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +140 -0
- package/esm2022/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.mjs +70 -0
- package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +806 -0
- package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +603 -0
- package/esm2022/lib/shared/components/case-editor/case-editor.module.mjs +214 -0
- package/esm2022/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.mjs +97 -0
- package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +83 -0
- package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +167 -0
- package/esm2022/lib/shared/components/case-editor/case-progress/case-progress.component.mjs +85 -0
- package/esm2022/lib/shared/components/case-editor/domain/confirmation.model.mjs +25 -0
- package/esm2022/lib/shared/components/case-editor/domain/wizard-page-field-complex-override.model.mjs +9 -0
- package/esm2022/lib/shared/components/case-editor/domain/wizard-page-field.model.mjs +7 -0
- package/esm2022/lib/shared/components/case-editor/domain/wizard-page.model.mjs +33 -0
- package/esm2022/lib/shared/components/case-editor/domain/wizard.model.mjs +55 -0
- package/esm2022/lib/shared/components/case-editor/services/case-edit-wizard.guard.mjs +98 -0
- package/esm2022/lib/shared/components/case-editor/services/case-flag-state.service.mjs +19 -0
- package/esm2022/lib/shared/components/case-editor/services/case-worker.service.mjs +35 -0
- package/esm2022/lib/shared/components/case-editor/services/case.notifier.mjs +53 -0
- package/esm2022/lib/shared/components/case-editor/services/cases.service.mjs +300 -0
- package/esm2022/lib/shared/components/case-editor/services/convert-href-to-router.service.mjs +42 -0
- package/esm2022/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +153 -0
- package/esm2022/lib/shared/components/case-editor/services/event-trigger.service.mjs +18 -0
- package/esm2022/lib/shared/components/case-editor/services/judicial-worker.service.mjs +35 -0
- package/esm2022/lib/shared/components/case-editor/services/page-validation.service.mjs +59 -0
- package/esm2022/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.mjs +40 -0
- package/esm2022/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.mjs +117 -0
- package/esm2022/lib/shared/components/case-editor/services/work-allocation.service.mjs +220 -0
- package/esm2022/lib/shared/components/case-header/case-header.component.mjs +64 -0
- package/esm2022/lib/shared/components/case-header/case-header.module.mjs +33 -0
- package/esm2022/lib/shared/components/case-history/case-history.component.mjs +252 -0
- package/esm2022/lib/shared/components/case-history/case-history.module.mjs +64 -0
- package/esm2022/lib/shared/components/case-history/domain/case-history.model.mjs +37 -0
- package/esm2022/lib/shared/components/case-history/services/case-history.service.mjs +43 -0
- package/esm2022/lib/shared/components/case-list/case-list.component.mjs +368 -0
- package/esm2022/lib/shared/components/case-list/case-list.module.mjs +47 -0
- package/esm2022/lib/shared/components/case-list-filters/case-list-filters.component.mjs +57 -0
- package/esm2022/lib/shared/components/case-list-filters/case-list-filters.module.mjs +64 -0
- package/esm2022/lib/shared/components/case-timeline/case-timeline.component.mjs +115 -0
- package/esm2022/lib/shared/components/case-timeline/case-timeline.module.mjs +52 -0
- package/esm2022/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.mjs +246 -0
- package/esm2022/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +311 -0
- package/esm2022/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.mjs +75 -0
- package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +156 -0
- package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +703 -0
- package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.mjs +61 -0
- package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +256 -0
- package/esm2022/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +211 -0
- package/esm2022/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.mjs +50 -0
- package/esm2022/lib/shared/components/case-viewer/case-view/case-view.component.mjs +107 -0
- package/esm2022/lib/shared/components/case-viewer/case-viewer.component.mjs +133 -0
- package/esm2022/lib/shared/components/case-viewer/case-viewer.module.mjs +191 -0
- package/esm2022/lib/shared/components/case-viewer/printer/case-printer.component.mjs +117 -0
- package/esm2022/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.mjs +61 -0
- package/esm2022/lib/shared/components/case-viewer/services/case.resolver.mjs +138 -0
- package/esm2022/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +86 -0
- package/esm2022/lib/shared/components/create-case-filters/create-case-filters-selection.model.mjs +11 -0
- package/esm2022/lib/shared/components/create-case-filters/create-case-filters.component.mjs +289 -0
- package/esm2022/lib/shared/components/create-case-filters/create-case-filters.module.mjs +44 -0
- package/esm2022/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.mjs +60 -0
- package/esm2022/lib/shared/components/dialogs/dialogs.module.mjs +51 -0
- package/esm2022/lib/shared/components/dialogs/document-dialog/document-dialog.component.mjs +62 -0
- package/esm2022/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.mjs +60 -0
- package/esm2022/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.mjs +64 -0
- package/esm2022/lib/shared/components/error/callback-errors.component.mjs +147 -0
- package/esm2022/lib/shared/components/error/domain/error-context.mjs +6 -0
- package/esm2022/lib/shared/components/error/errors.module.mjs +33 -0
- package/esm2022/lib/shared/components/error-message/error-message.component.mjs +45 -0
- package/esm2022/lib/shared/components/error-message/error-message.module.mjs +41 -0
- package/esm2022/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.mjs +62 -0
- package/esm2022/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.mjs +56 -0
- package/esm2022/lib/shared/components/event-start/components/task-assigned/task-assigned.component.mjs +112 -0
- package/esm2022/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.mjs +70 -0
- package/esm2022/lib/shared/components/event-start/components/task-conflict/task-conflict.component.mjs +61 -0
- package/esm2022/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.mjs +56 -0
- package/esm2022/lib/shared/components/event-start/event-guard/event-start.guard.mjs +104 -0
- package/esm2022/lib/shared/components/event-start/event-start.component.mjs +56 -0
- package/esm2022/lib/shared/components/event-start/event-start.module.mjs +71 -0
- package/esm2022/lib/shared/components/event-start/resolvers/event-tasks-resolver.service.mjs +31 -0
- package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +179 -0
- package/esm2022/lib/shared/components/event-trigger/event-trigger.component.mjs +129 -0
- package/esm2022/lib/shared/components/event-trigger/event-trigger.module.mjs +37 -0
- package/esm2022/lib/shared/components/loading-spinner/loading-spinner.component.mjs +26 -0
- package/esm2022/lib/shared/components/loading-spinner/loading-spinner.module.mjs +29 -0
- package/esm2022/lib/shared/components/pagination/pagination.component.mjs +260 -0
- package/esm2022/lib/shared/components/pagination/pagination.module.mjs +35 -0
- package/esm2022/lib/shared/components/palette/address/address-option.model.mjs +23 -0
- package/esm2022/lib/shared/components/palette/address/write-address-field.component.mjs +286 -0
- package/esm2022/lib/shared/components/palette/base-field/abstract-field-read.component.mjs +30 -0
- package/esm2022/lib/shared/components/palette/base-field/abstract-field-write.component.mjs +44 -0
- package/esm2022/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +84 -0
- package/esm2022/lib/shared/components/palette/base-field/field-read-label.component.mjs +85 -0
- package/esm2022/lib/shared/components/palette/base-field/field-read.component.mjs +90 -0
- package/esm2022/lib/shared/components/palette/base-field/field-write.component.mjs +78 -0
- package/esm2022/lib/shared/components/palette/base-field/payment-field.component.mjs +37 -0
- package/esm2022/lib/shared/components/palette/case-file-view/case-file-view-field.component.mjs +196 -0
- package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.mjs +50 -0
- package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.mjs +51 -0
- package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +358 -0
- package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +158 -0
- package/esm2022/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.mjs +94 -0
- package/esm2022/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +190 -0
- package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +301 -0
- package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.mjs +206 -0
- package/esm2022/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +169 -0
- package/esm2022/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +225 -0
- package/esm2022/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +311 -0
- package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +202 -0
- package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +353 -0
- package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +269 -0
- package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +510 -0
- package/esm2022/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.mjs +43 -0
- package/esm2022/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.mjs +43 -0
- package/esm2022/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.mjs +111 -0
- package/esm2022/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.mjs +79 -0
- package/esm2022/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +253 -0
- package/esm2022/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +697 -0
- package/esm2022/lib/shared/components/palette/case-link/read-case-link-field.component.mjs +33 -0
- package/esm2022/lib/shared/components/palette/case-link/write-case-link-field.component.mjs +125 -0
- package/esm2022/lib/shared/components/palette/collection/collection-create-checker.service.mjs +42 -0
- package/esm2022/lib/shared/components/palette/collection/read-collection-field.component.mjs +78 -0
- package/esm2022/lib/shared/components/palette/collection/write-collection-field.component.mjs +447 -0
- package/esm2022/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +378 -0
- package/esm2022/lib/shared/components/palette/complex/read-complex-field-raw.component.mjs +51 -0
- package/esm2022/lib/shared/components/palette/complex/read-complex-field-table.component.mjs +76 -0
- package/esm2022/lib/shared/components/palette/complex/read-complex-field.component.mjs +71 -0
- package/esm2022/lib/shared/components/palette/complex/write-complex-field.component.mjs +173 -0
- package/esm2022/lib/shared/components/palette/date/read-date-field.component.mjs +26 -0
- package/esm2022/lib/shared/components/palette/date/write-date-container-field.component.mjs +33 -0
- package/esm2022/lib/shared/components/palette/date/write-date-field.component.mjs +77 -0
- package/esm2022/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +312 -0
- package/esm2022/lib/shared/components/palette/document/document-url.pipe.mjs +25 -0
- package/esm2022/lib/shared/components/palette/document/file-upload-progress.guard.mjs +31 -0
- package/esm2022/lib/shared/components/palette/document/file-upload-state.service.mjs +17 -0
- package/esm2022/lib/shared/components/palette/document/read-document-field.component.mjs +88 -0
- package/esm2022/lib/shared/components/palette/document/write-document-field.component.mjs +430 -0
- package/esm2022/lib/shared/components/palette/dynamic-list/dynamic-list.pipe.mjs +18 -0
- package/esm2022/lib/shared/components/palette/dynamic-list/read-dynamic-list-field.component.mjs +37 -0
- package/esm2022/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.mjs +124 -0
- package/esm2022/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.mjs +44 -0
- package/esm2022/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +146 -0
- package/esm2022/lib/shared/components/palette/dynamic-radio-list/dynamic-radio-list.pipe.mjs +25 -0
- package/esm2022/lib/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.mjs +43 -0
- package/esm2022/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.mjs +123 -0
- package/esm2022/lib/shared/components/palette/email/read-email-field.component.mjs +36 -0
- package/esm2022/lib/shared/components/palette/email/write-email-field.component.mjs +74 -0
- package/esm2022/lib/shared/components/palette/fixed-list/fixed-list.pipe.mjs +23 -0
- package/esm2022/lib/shared/components/palette/fixed-list/read-fixed-list-field.component.mjs +27 -0
- package/esm2022/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.mjs +107 -0
- package/esm2022/lib/shared/components/palette/fixed-radio-list/fixed-radio-list.pipe.mjs +18 -0
- package/esm2022/lib/shared/components/palette/fixed-radio-list/read-fixed-radio-list-field.component.mjs +27 -0
- package/esm2022/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.mjs +96 -0
- package/esm2022/lib/shared/components/palette/history/case-history-viewer-field.component.mjs +17 -0
- package/esm2022/lib/shared/components/palette/history/event-log/event-log-details.component.mjs +99 -0
- package/esm2022/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +224 -0
- package/esm2022/lib/shared/components/palette/history/event-log/event-log.component.mjs +72 -0
- package/esm2022/lib/shared/components/palette/judicial-user/read-judicial-user-field.component.mjs +49 -0
- package/esm2022/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.mjs +253 -0
- package/esm2022/lib/shared/components/palette/label/label-field.component.mjs +50 -0
- package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +111 -0
- package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +191 -0
- package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +543 -0
- package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +213 -0
- package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.mjs +287 -0
- package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +69 -0
- package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +209 -0
- package/esm2022/lib/shared/components/palette/linked-cases/domain/linked-cases.model.mjs +67 -0
- package/esm2022/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.mjs +168 -0
- package/esm2022/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +138 -0
- package/esm2022/lib/shared/components/palette/linked-cases/utils/validators.utils.mjs +27 -0
- package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +234 -0
- package/esm2022/lib/shared/components/palette/markdown/markdown-component.module.mjs +48 -0
- package/esm2022/lib/shared/components/palette/markdown/markdown.component.mjs +81 -0
- package/esm2022/lib/shared/components/palette/markdown/routerlink.component.mjs +25 -0
- package/esm2022/lib/shared/components/palette/money-gbp/money-gbp-input.component.mjs +128 -0
- package/esm2022/lib/shared/components/palette/money-gbp/read-money-gbp-field.component.mjs +50 -0
- package/esm2022/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.mjs +79 -0
- package/esm2022/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.mjs +46 -0
- package/esm2022/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.mjs +126 -0
- package/esm2022/lib/shared/components/palette/number/read-number-field.component.mjs +25 -0
- package/esm2022/lib/shared/components/palette/number/write-number-field.component.mjs +74 -0
- package/esm2022/lib/shared/components/palette/order-summary/fee-value.model.mjs +4 -0
- package/esm2022/lib/shared/components/palette/order-summary/fee.model.mjs +8 -0
- package/esm2022/lib/shared/components/palette/order-summary/order-summary.model.mjs +6 -0
- package/esm2022/lib/shared/components/palette/order-summary/read-order-summary-field.component.mjs +74 -0
- package/esm2022/lib/shared/components/palette/order-summary/read-order-summary-row.component.mjs +45 -0
- package/esm2022/lib/shared/components/palette/order-summary/write-order-summary-field.component.mjs +45 -0
- package/esm2022/lib/shared/components/palette/organisation/read-organisation-field-raw.component.mjs +88 -0
- package/esm2022/lib/shared/components/palette/organisation/read-organisation-field-table.component.mjs +92 -0
- package/esm2022/lib/shared/components/palette/organisation/read-organisation-field.component.mjs +52 -0
- package/esm2022/lib/shared/components/palette/organisation/write-organisation-complex-field.component.mjs +35 -0
- package/esm2022/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +397 -0
- package/esm2022/lib/shared/components/palette/palette.module.mjs +736 -0
- package/esm2022/lib/shared/components/palette/palette.service.mjs +153 -0
- package/esm2022/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.mjs +25 -0
- package/esm2022/lib/shared/components/palette/phone-uk/read-phone-uk-field.component.mjs +23 -0
- package/esm2022/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.mjs +74 -0
- package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +44 -0
- package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +150 -0
- package/esm2022/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.mjs +67 -0
- package/esm2022/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.mjs +61 -0
- package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +292 -0
- package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +330 -0
- package/esm2022/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.mjs +24 -0
- package/esm2022/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +165 -0
- package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.mjs +78 -0
- package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.mjs +121 -0
- package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +202 -0
- package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +107 -0
- package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.mjs +24 -0
- package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +45 -0
- package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +124 -0
- package/esm2022/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +22 -0
- package/esm2022/lib/shared/components/palette/text/read-text-field.component.mjs +25 -0
- package/esm2022/lib/shared/components/palette/text/write-text-field.component.mjs +78 -0
- package/esm2022/lib/shared/components/palette/text-area/read-text-area-field.component.mjs +25 -0
- package/esm2022/lib/shared/components/palette/text-area/write-text-area-field.component.mjs +89 -0
- package/esm2022/lib/shared/components/palette/unsupported-field.component.mjs +18 -0
- package/esm2022/lib/shared/components/palette/utils/dash.pipe.mjs +16 -0
- package/esm2022/lib/shared/components/palette/utils/date.pipe.mjs +133 -0
- package/esm2022/lib/shared/components/palette/utils/field-label.pipe.mjs +30 -0
- package/esm2022/lib/shared/components/palette/utils/first-error.pipe.mjs +65 -0
- package/esm2022/lib/shared/components/palette/utils/is-compound.pipe.mjs +43 -0
- package/esm2022/lib/shared/components/palette/utils/is-mandatory.pipe.mjs +22 -0
- package/esm2022/lib/shared/components/palette/utils/is-read-only-and-not-collection.pipe.mjs +32 -0
- package/esm2022/lib/shared/components/palette/utils/is-read-only.pipe.mjs +22 -0
- package/esm2022/lib/shared/components/palette/utils/utils.module.mjs +71 -0
- package/esm2022/lib/shared/components/palette/waystopay/waystopay-field.component.mjs +35 -0
- package/esm2022/lib/shared/components/palette/yes-no/read-yes-no-field.component.mjs +37 -0
- package/esm2022/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +102 -0
- package/esm2022/lib/shared/components/palette/yes-no/yes-no.service.mjs +50 -0
- package/esm2022/lib/shared/components/search-filters/domain/search-input.model.mjs +15 -0
- package/esm2022/lib/shared/components/search-filters/search-filters-wrapper.component.mjs +63 -0
- package/esm2022/lib/shared/components/search-filters/search-filters.component.mjs +341 -0
- package/esm2022/lib/shared/components/search-filters/search-filters.module.mjs +71 -0
- package/esm2022/lib/shared/components/search-result/search-result.component.mjs +822 -0
- package/esm2022/lib/shared/components/search-result/search-result.module.mjs +82 -0
- package/esm2022/lib/shared/components/workbasket-filters/workbasket-filters.component.mjs +497 -0
- package/esm2022/lib/shared/components/workbasket-filters/workbasket-filters.module.mjs +67 -0
- package/esm2022/lib/shared/directives/conditional-show/conditional-show-form.directive.mjs +169 -0
- package/esm2022/lib/shared/directives/conditional-show/conditional-show.module.mjs +33 -0
- package/esm2022/lib/shared/directives/conditional-show/domain/conditional-show.model.mjs +201 -0
- package/esm2022/lib/shared/directives/conditional-show/services/condition-parser.service.mjs +200 -0
- package/esm2022/lib/shared/directives/conditional-show/services/conditional-show-registrar.service.mjs +17 -0
- package/esm2022/lib/shared/directives/conditional-show/services/grey-bar.service.mjs +48 -0
- package/esm2022/lib/shared/directives/focus-element/focus-element.directive.mjs +38 -0
- package/esm2022/lib/shared/directives/focus-element/focus-element.module.mjs +21 -0
- package/esm2022/lib/shared/directives/substitutor/label-substitutor.directive.mjs +88 -0
- package/esm2022/lib/shared/directives/substitutor/label-substitutor.module.mjs +30 -0
- package/esm2022/lib/shared/directives/substitutor/services/placeholder.service.mjs +209 -0
- package/esm2022/lib/shared/domain/activity/activity.model.mjs +17 -0
- package/esm2022/lib/shared/domain/addresses/address.model.mjs +11 -0
- package/esm2022/lib/shared/domain/alert/alert.model.mjs +5 -0
- package/esm2022/lib/shared/domain/case-details.model.mjs +13 -0
- package/esm2022/lib/shared/domain/case-event-data.model.mjs +11 -0
- package/esm2022/lib/shared/domain/case-file-view/case-file-view-category.model.mjs +8 -0
- package/esm2022/lib/shared/domain/case-file-view/case-file-view-document.model.mjs +10 -0
- package/esm2022/lib/shared/domain/case-file-view/categories-and-documents.model.mjs +10 -0
- package/esm2022/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.mjs +125 -0
- package/esm2022/lib/shared/domain/case-flag/flag-type.model.mjs +37 -0
- package/esm2022/lib/shared/domain/case-flag/hmcts-service-detail.model.mjs +18 -0
- package/esm2022/lib/shared/domain/case-view/case-event-trigger.model.mjs +34 -0
- package/esm2022/lib/shared/domain/case-view/case-print-document.model.mjs +6 -0
- package/esm2022/lib/shared/domain/case-view/case-tab.model.mjs +17 -0
- package/esm2022/lib/shared/domain/case-view/case-view-event.model.mjs +16 -0
- package/esm2022/lib/shared/domain/case-view/case-view-trigger.model.mjs +7 -0
- package/esm2022/lib/shared/domain/case-view/case-view.model.mjs +27 -0
- package/esm2022/lib/shared/domain/definition/access-control-list.model.mjs +8 -0
- package/esm2022/lib/shared/domain/definition/banner.model.mjs +8 -0
- package/esm2022/lib/shared/domain/definition/case-event.model.mjs +11 -0
- package/esm2022/lib/shared/domain/definition/case-field.model.mjs +218 -0
- package/esm2022/lib/shared/domain/definition/case-state.model.mjs +7 -0
- package/esm2022/lib/shared/domain/definition/case-type-lite.model.mjs +10 -0
- package/esm2022/lib/shared/domain/definition/case-type.model.mjs +20 -0
- package/esm2022/lib/shared/domain/definition/event-case-field.model.mjs +6 -0
- package/esm2022/lib/shared/domain/definition/field-type.model.mjs +30 -0
- package/esm2022/lib/shared/domain/definition/fixed-list-item.model.mjs +6 -0
- package/esm2022/lib/shared/domain/definition/jurisdiction.model.mjs +8 -0
- package/esm2022/lib/shared/domain/document/document-data.model.mjs +28 -0
- package/esm2022/lib/shared/domain/draft.model.mjs +16 -0
- package/esm2022/lib/shared/domain/http/http-error.model.mjs +49 -0
- package/esm2022/lib/shared/domain/organisation/organisation-converter.mjs +42 -0
- package/esm2022/lib/shared/domain/pagination-metadata.model.mjs +5 -0
- package/esm2022/lib/shared/domain/profile/profile.model.mjs +33 -0
- package/esm2022/lib/shared/domain/search/field.model.mjs +17 -0
- package/esm2022/lib/shared/domain/search/search-result-view-column.model.mjs +9 -0
- package/esm2022/lib/shared/domain/search/search-result-view-item.model.mjs +18 -0
- package/esm2022/lib/shared/domain/search/search-result-view.model.mjs +26 -0
- package/esm2022/lib/shared/domain/search/sorting/sort-parameters.mjs +9 -0
- package/esm2022/lib/shared/domain/workbasket/workbasket-input.model.mjs +11 -0
- package/esm2022/lib/shared/fixture/case-field-builder.mjs +67 -0
- package/esm2022/lib/shared/pipes/case-reference/case-reference.pipe.mjs +33 -0
- package/esm2022/lib/shared/pipes/case-title/ccd-case-title.pipe.mjs +31 -0
- package/esm2022/lib/shared/pipes/complex/ccd-collection-table-value-case-fields.pipe.mjs +32 -0
- package/esm2022/lib/shared/pipes/complex/ccd-cyapage-label-filter.pipe.mjs +27 -0
- package/esm2022/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +39 -0
- package/esm2022/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +173 -0
- package/esm2022/lib/shared/pipes/complex/ccd-tab-fields.pipe.mjs +31 -0
- package/esm2022/lib/shared/pipes/complex/fields-filter.pipe.mjs +105 -0
- package/esm2022/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.mjs +16 -0
- package/esm2022/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.mjs +28 -0
- package/esm2022/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.mjs +28 -0
- package/esm2022/lib/shared/pipes/pipes.module.mjs +64 -0
- package/esm2022/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.mjs +24 -0
- package/esm2022/lib/shared/services/activity/activity.polling.service.mjs +122 -0
- package/esm2022/lib/shared/services/activity/activity.service.mjs +85 -0
- package/esm2022/lib/shared/services/addresses/address-parser.mjs +76 -0
- package/esm2022/lib/shared/services/addresses/addresses.service.mjs +65 -0
- package/esm2022/lib/shared/services/alert/alert.service.mjs +157 -0
- package/esm2022/lib/shared/services/auth/auth.service.mjs +35 -0
- package/esm2022/lib/shared/services/banners/banners.service.mjs +35 -0
- package/esm2022/lib/shared/services/browser/browser.service.mjs +24 -0
- package/esm2022/lib/shared/services/case-fields/case-field.service.mjs +34 -0
- package/esm2022/lib/shared/services/case-fields/format-translator.service.mjs +242 -0
- package/esm2022/lib/shared/services/case-file-view/case-file-view.service.mjs +48 -0
- package/esm2022/lib/shared/services/case-flag/case-flag-refdata.service.mjs +104 -0
- package/esm2022/lib/shared/services/common-data-service/common-data-service.mjs +29 -0
- package/esm2022/lib/shared/services/definitions/definitions.module.mjs +19 -0
- package/esm2022/lib/shared/services/definitions/definitions.service.mjs +32 -0
- package/esm2022/lib/shared/services/document-management/document-management.service.mjs +114 -0
- package/esm2022/lib/shared/services/draft/draft.service.mjs +89 -0
- package/esm2022/lib/shared/services/error/error-notifier.service.mjs +16 -0
- package/esm2022/lib/shared/services/eventStatusService/event-status.service.mjs +21 -0
- package/esm2022/lib/shared/services/fields/fields.purger.mjs +305 -0
- package/esm2022/lib/shared/services/fields/fields.utils.mjs +615 -0
- package/esm2022/lib/shared/services/form/field-type-sanitiser.mjs +102 -0
- package/esm2022/lib/shared/services/form/form-error.service.mjs +46 -0
- package/esm2022/lib/shared/services/form/form-validators.service.mjs +82 -0
- package/esm2022/lib/shared/services/form/form-value.service.mjs +552 -0
- package/esm2022/lib/shared/services/http/http-error.service.mjs +67 -0
- package/esm2022/lib/shared/services/http/http.service.mjs +95 -0
- package/esm2022/lib/shared/services/jurisdiction/jurisdiction.service.mjs +35 -0
- package/esm2022/lib/shared/services/loading/loading.module.mjs +22 -0
- package/esm2022/lib/shared/services/loading/loading.service.mjs +31 -0
- package/esm2022/lib/shared/services/navigation/navigation-notifier.service.mjs +16 -0
- package/esm2022/lib/shared/services/order/order.service.mjs +37 -0
- package/esm2022/lib/shared/services/organisation/organisation.service.mjs +57 -0
- package/esm2022/lib/shared/services/profile/profile.notifier.mjs +17 -0
- package/esm2022/lib/shared/services/profile/profile.service.mjs +36 -0
- package/esm2022/lib/shared/services/request/request.options.builder.mjs +61 -0
- package/esm2022/lib/shared/services/router/router-helper.service.mjs +20 -0
- package/esm2022/lib/shared/services/search/search.service.mjs +96 -0
- package/esm2022/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.mjs +71 -0
- package/esm2022/lib/shared/services/session/session-storage.service.mjs +34 -0
- package/esm2022/lib/shared/services/utils/retry/retry.service.mjs +87 -0
- package/esm2022/lib/shared/services/window/window.service.mjs +40 -0
- package/esm2022/lib/shared/services/workbasket/workbasket-input-filter.service.mjs +57 -0
- package/esm2022/lib/shared/test/test-route-snapshot-builder.mjs +38 -0
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +37136 -0
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -0
- package/lib/app.config.d.ts +4 -0
- package/lib/app.config.d.ts.map +1 -1
- package/lib/components/banners/alert/alert.component.d.ts +1 -1
- package/lib/components/banners/notification-banner/notification-banner.component.d.ts +1 -1
- package/lib/components/footer/footer.component.d.ts +1 -1
- package/lib/components/form/date-input/date-input.component.d.ts +1 -1
- package/lib/components/header/header-bar/header-bar.component.d.ts +1 -1
- package/lib/components/header/navigation/navigation-item.component.d.ts +1 -1
- package/lib/components/header/navigation/navigation.component.d.ts +1 -1
- package/lib/components/header/phase/phase.component.d.ts +1 -1
- package/lib/components/tabs/tab.component.d.ts +1 -1
- package/lib/shared/commons/case-edit-data/case-edit-validation.model.d.ts +1 -1
- package/lib/shared/commons/case-edit-data/case-edit-validation.model.d.ts.map +1 -1
- package/lib/shared/components/activity/activity-banner/activity-banner.component.d.ts +1 -1
- package/lib/shared/components/activity/activity-icon/activity-icon.component.d.ts +1 -1
- package/lib/shared/components/activity/activity.component.d.ts +1 -1
- package/lib/shared/components/case-editor/case-create/case-create.component.d.ts +1 -1
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +1 -1
- package/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.d.ts +1 -1
- package/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.d.ts +1 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.d.ts +1 -1
- package/lib/shared/components/case-editor/case-progress/case-progress.component.d.ts +1 -1
- package/lib/shared/components/case-header/case-header.component.d.ts +1 -1
- package/lib/shared/components/case-history/case-history.component.d.ts +1 -1
- package/lib/shared/components/case-list/case-list.component.d.ts +1 -1
- package/lib/shared/components/case-list-filters/case-list-filters.component.d.ts +1 -1
- package/lib/shared/components/case-timeline/case-timeline.component.d.ts +1 -1
- package/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.d.ts +1 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +2 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-view/case-view.component.d.ts +1 -1
- package/lib/shared/components/case-viewer/case-viewer.component.d.ts +1 -1
- package/lib/shared/components/create-case-filters/create-case-filters.component.d.ts +1 -1
- package/lib/shared/components/error/callback-errors.component.d.ts +1 -1
- package/lib/shared/components/error-message/error-message.component.d.ts +1 -1
- package/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.d.ts +1 -1
- package/lib/shared/components/event-start/components/task-conflict/task-conflict.component.d.ts +1 -1
- package/lib/shared/components/event-trigger/event-trigger.component.d.ts +1 -1
- package/lib/shared/components/loading-spinner/loading-spinner.component.d.ts +1 -1
- package/lib/shared/components/pagination/pagination.component.d.ts +1 -1
- package/lib/shared/components/palette/address/write-address-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/abstract-field-read.component.d.ts +1 -1
- package/lib/shared/components/palette/base-field/abstract-field-write.component.d.ts +1 -1
- package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts +2 -2
- package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/field-read-label.component.d.ts +1 -1
- package/lib/shared/components/palette/base-field/field-read.component.d.ts +1 -1
- package/lib/shared/components/palette/base-field/field-write.component.d.ts +1 -1
- package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts +8 -1
- package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.d.ts +1 -1
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +1 -1
- package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts +1 -1
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +1 -1
- package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts +1 -1
- package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts +1 -1
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +1 -1
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +1 -1
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +1 -1
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +1 -1
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +1 -1
- package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +2 -2
- package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/complex/read-complex-field-raw.component.d.ts +1 -1
- package/lib/shared/components/palette/complex/read-complex-field-table.component.d.ts +1 -1
- package/lib/shared/components/palette/complex/read-complex-field.component.d.ts +1 -1
- package/lib/shared/components/palette/complex/write-complex-field.component.d.ts +1 -1
- package/lib/shared/components/palette/datetime-picker/datetime-picker.component.d.ts +1 -1
- package/lib/shared/components/palette/history/event-log/event-log-details.component.d.ts +1 -1
- package/lib/shared/components/palette/history/event-log/event-log-table.component.d.ts +1 -1
- package/lib/shared/components/palette/history/event-log/event-log.component.d.ts +1 -1
- package/lib/shared/components/palette/label/label-field.component.d.ts +1 -1
- package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts +1 -1
- package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts +1 -1
- package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +1 -1
- package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +2 -2
- package/lib/shared/components/palette/markdown/markdown.component.d.ts +2 -4
- package/lib/shared/components/palette/markdown/markdown.component.d.ts.map +1 -1
- package/lib/shared/components/palette/money-gbp/money-gbp-input.component.d.ts +1 -1
- package/lib/shared/components/palette/money-gbp/read-money-gbp-field.component.d.ts +1 -1
- package/lib/shared/components/palette/order-summary/read-order-summary-row.component.d.ts +1 -1
- package/lib/shared/components/palette/organisation/read-organisation-field-raw.component.d.ts +1 -1
- package/lib/shared/components/palette/organisation/read-organisation-field-table.component.d.ts +1 -1
- package/lib/shared/components/palette/organisation/read-organisation-field.component.d.ts +1 -1
- package/lib/shared/components/palette/organisation/write-organisation-complex-field.component.d.ts +1 -1
- package/lib/shared/components/palette/palette.module.d.ts +2 -2
- package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts +1 -1
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +1 -1
- package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts +1 -1
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +1 -1
- package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +1 -1
- package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts +1 -1
- package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts +1 -1
- package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts +1 -1
- package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts +1 -1
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +1 -1
- package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +1 -1
- package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts +1 -1
- package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts.map +1 -1
- package/lib/shared/components/search-filters/search-filters-wrapper.component.d.ts +1 -1
- package/lib/shared/components/search-filters/search-filters.component.d.ts +1 -1
- package/lib/shared/components/search-result/search-result.component.d.ts +1 -1
- package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts +1 -1
- package/lib/shared/directives/conditional-show/conditional-show-form.directive.d.ts +1 -1
- package/lib/shared/directives/substitutor/label-substitutor.directive.d.ts +1 -1
- package/lib/shared/domain/alert/alert-level.model.d.ts +1 -1
- package/lib/shared/domain/alert/alert-level.model.d.ts.map +1 -1
- package/lib/shared/domain/case-view/access-types.model.d.ts +1 -1
- package/lib/shared/domain/case-view/access-types.model.d.ts.map +1 -1
- package/lib/shared/domain/case-view/role-request.model.d.ts +4 -4
- package/lib/shared/domain/case-view/role-request.model.d.ts.map +1 -1
- package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
- package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
- package/lib/shared/domain/predicate.model.d.ts +1 -1
- package/lib/shared/domain/predicate.model.d.ts.map +1 -1
- package/lib/shared/pipes/complex/fields-filter.pipe.d.ts.map +1 -1
- package/lib/shared/services/order/order.service.d.ts +2 -2
- package/lib/shared/services/order/order.service.d.ts.map +1 -1
- package/lib/shared/services/request/request.options.builder.d.ts +1 -1
- package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
- package/package.json +6 -12
- package/esm2020/lib/app.config.mjs +0 -45
- package/esm2020/lib/components/banners/alert/alert-icon-class.pipe.mjs +0 -25
- package/esm2020/lib/components/banners/alert/alert.component.mjs +0 -95
- package/esm2020/lib/components/banners/alert/alert.module.mjs +0 -32
- package/esm2020/lib/components/banners/banners.module.mjs +0 -32
- package/esm2020/lib/components/banners/notification-banner/notification-banner.component.mjs +0 -120
- package/esm2020/lib/components/banners/notification-banner/notification-banner.module.mjs +0 -19
- package/esm2020/lib/components/body/body.component.mjs +0 -20
- package/esm2020/lib/components/body/body.module.mjs +0 -20
- package/esm2020/lib/components/footer/footer.component.mjs +0 -105
- package/esm2020/lib/components/footer/footers.module.mjs +0 -25
- package/esm2020/lib/components/form/date-input/date-input.component.mjs +0 -331
- package/esm2020/lib/components/form/form.module.mjs +0 -29
- package/esm2020/lib/components/header/header-bar/header-bar.component.mjs +0 -97
- package/esm2020/lib/components/header/headers.module.mjs +0 -25
- package/esm2020/lib/components/header/navigation/navigation-item.component.mjs +0 -41
- package/esm2020/lib/components/header/navigation/navigation.component.mjs +0 -24
- package/esm2020/lib/components/header/phase/phase.component.mjs +0 -45
- package/esm2020/lib/components/tabs/tab.component.mjs +0 -28
- package/esm2020/lib/components/tabs/tabs.component.mjs +0 -79
- package/esm2020/lib/components/tabs/tabs.module.mjs +0 -38
- package/esm2020/lib/shared/commons/address-validation-constants.mjs +0 -13
- package/esm2020/lib/shared/commons/case-edit-data/case-edit-data.module.mjs +0 -19
- package/esm2020/lib/shared/commons/case-edit-data/case-edit-data.service.mjs +0 -47
- package/esm2020/lib/shared/commons/constants.mjs +0 -13
- package/esm2020/lib/shared/components/activity/activity-banner/activity-banner.component.mjs +0 -39
- package/esm2020/lib/shared/components/activity/activity-icon/activity-icon.component.mjs +0 -33
- package/esm2020/lib/shared/components/activity/activity.component.mjs +0 -151
- package/esm2020/lib/shared/components/activity/activity.module.mjs +0 -55
- package/esm2020/lib/shared/components/case-editor/case-access-utils/index.mjs +0 -105
- package/esm2020/lib/shared/components/case-editor/case-create/case-create.component.mjs +0 -87
- package/esm2020/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +0 -432
- package/esm2020/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +0 -125
- package/esm2020/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +0 -135
- package/esm2020/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.mjs +0 -69
- package/esm2020/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +0 -779
- package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +0 -587
- package/esm2020/lib/shared/components/case-editor/case-editor.module.mjs +0 -214
- package/esm2020/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.mjs +0 -86
- package/esm2020/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +0 -80
- package/esm2020/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +0 -153
- package/esm2020/lib/shared/components/case-editor/case-progress/case-progress.component.mjs +0 -77
- package/esm2020/lib/shared/components/case-editor/domain/confirmation.model.mjs +0 -21
- package/esm2020/lib/shared/components/case-editor/domain/wizard-page-field-complex-override.model.mjs +0 -4
- package/esm2020/lib/shared/components/case-editor/domain/wizard-page-field.model.mjs +0 -3
- package/esm2020/lib/shared/components/case-editor/domain/wizard-page.model.mjs +0 -26
- package/esm2020/lib/shared/components/case-editor/domain/wizard.model.mjs +0 -54
- package/esm2020/lib/shared/components/case-editor/services/case-edit-wizard.guard.mjs +0 -93
- package/esm2020/lib/shared/components/case-editor/services/case-flag-state.service.mjs +0 -19
- package/esm2020/lib/shared/components/case-editor/services/case-worker.service.mjs +0 -32
- package/esm2020/lib/shared/components/case-editor/services/case.notifier.mjs +0 -51
- package/esm2020/lib/shared/components/case-editor/services/cases.service.mjs +0 -292
- package/esm2020/lib/shared/components/case-editor/services/convert-href-to-router.service.mjs +0 -41
- package/esm2020/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +0 -143
- package/esm2020/lib/shared/components/case-editor/services/event-trigger.service.mjs +0 -20
- package/esm2020/lib/shared/components/case-editor/services/judicial-worker.service.mjs +0 -32
- package/esm2020/lib/shared/components/case-editor/services/page-validation.service.mjs +0 -58
- package/esm2020/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.mjs +0 -39
- package/esm2020/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.mjs +0 -117
- package/esm2020/lib/shared/components/case-editor/services/work-allocation.service.mjs +0 -214
- package/esm2020/lib/shared/components/case-header/case-header.component.mjs +0 -61
- package/esm2020/lib/shared/components/case-header/case-header.module.mjs +0 -33
- package/esm2020/lib/shared/components/case-history/case-history.component.mjs +0 -242
- package/esm2020/lib/shared/components/case-history/case-history.module.mjs +0 -64
- package/esm2020/lib/shared/components/case-history/domain/case-history.model.mjs +0 -29
- package/esm2020/lib/shared/components/case-history/services/case-history.service.mjs +0 -40
- package/esm2020/lib/shared/components/case-list/case-list.component.mjs +0 -362
- package/esm2020/lib/shared/components/case-list/case-list.module.mjs +0 -47
- package/esm2020/lib/shared/components/case-list-filters/case-list-filters.component.mjs +0 -52
- package/esm2020/lib/shared/components/case-list-filters/case-list-filters.module.mjs +0 -64
- package/esm2020/lib/shared/components/case-timeline/case-timeline.component.mjs +0 -109
- package/esm2020/lib/shared/components/case-timeline/case-timeline.module.mjs +0 -52
- package/esm2020/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.mjs +0 -247
- package/esm2020/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +0 -298
- package/esm2020/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.mjs +0 -72
- package/esm2020/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +0 -141
- package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +0 -670
- package/esm2020/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.mjs +0 -58
- package/esm2020/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +0 -241
- package/esm2020/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +0 -199
- package/esm2020/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.mjs +0 -47
- package/esm2020/lib/shared/components/case-viewer/case-view/case-view.component.mjs +0 -98
- package/esm2020/lib/shared/components/case-viewer/case-viewer.component.mjs +0 -125
- package/esm2020/lib/shared/components/case-viewer/case-viewer.module.mjs +0 -191
- package/esm2020/lib/shared/components/case-viewer/printer/case-printer.component.mjs +0 -110
- package/esm2020/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.mjs +0 -60
- package/esm2020/lib/shared/components/case-viewer/services/case.resolver.mjs +0 -128
- package/esm2020/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +0 -77
- package/esm2020/lib/shared/components/create-case-filters/create-case-filters-selection.model.mjs +0 -8
- package/esm2020/lib/shared/components/create-case-filters/create-case-filters.component.mjs +0 -275
- package/esm2020/lib/shared/components/create-case-filters/create-case-filters.module.mjs +0 -44
- package/esm2020/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.mjs +0 -57
- package/esm2020/lib/shared/components/dialogs/dialogs.module.mjs +0 -51
- package/esm2020/lib/shared/components/dialogs/document-dialog/document-dialog.component.mjs +0 -59
- package/esm2020/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.mjs +0 -57
- package/esm2020/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.mjs +0 -61
- package/esm2020/lib/shared/components/error/callback-errors.component.mjs +0 -149
- package/esm2020/lib/shared/components/error/domain/error-context.mjs +0 -3
- package/esm2020/lib/shared/components/error/errors.module.mjs +0 -33
- package/esm2020/lib/shared/components/error-message/error-message.component.mjs +0 -43
- package/esm2020/lib/shared/components/error-message/error-message.module.mjs +0 -41
- package/esm2020/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.mjs +0 -59
- package/esm2020/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.mjs +0 -53
- package/esm2020/lib/shared/components/event-start/components/task-assigned/task-assigned.component.mjs +0 -104
- package/esm2020/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.mjs +0 -68
- package/esm2020/lib/shared/components/event-start/components/task-conflict/task-conflict.component.mjs +0 -58
- package/esm2020/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.mjs +0 -53
- package/esm2020/lib/shared/components/event-start/event-guard/event-start.guard.mjs +0 -101
- package/esm2020/lib/shared/components/event-start/event-start.component.mjs +0 -49
- package/esm2020/lib/shared/components/event-start/event-start.module.mjs +0 -71
- package/esm2020/lib/shared/components/event-start/resolvers/event-tasks-resolver.service.mjs +0 -29
- package/esm2020/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +0 -170
- package/esm2020/lib/shared/components/event-trigger/event-trigger.component.mjs +0 -123
- package/esm2020/lib/shared/components/event-trigger/event-trigger.module.mjs +0 -37
- package/esm2020/lib/shared/components/loading-spinner/loading-spinner.component.mjs +0 -27
- package/esm2020/lib/shared/components/loading-spinner/loading-spinner.module.mjs +0 -29
- package/esm2020/lib/shared/components/pagination/pagination.component.mjs +0 -262
- package/esm2020/lib/shared/components/pagination/pagination.module.mjs +0 -35
- package/esm2020/lib/shared/components/palette/address/address-option.model.mjs +0 -21
- package/esm2020/lib/shared/components/palette/address/write-address-field.component.mjs +0 -280
- package/esm2020/lib/shared/components/palette/base-field/abstract-field-read.component.mjs +0 -31
- package/esm2020/lib/shared/components/palette/base-field/abstract-field-write.component.mjs +0 -44
- package/esm2020/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +0 -83
- package/esm2020/lib/shared/components/palette/base-field/field-read-label.component.mjs +0 -86
- package/esm2020/lib/shared/components/palette/base-field/field-read.component.mjs +0 -85
- package/esm2020/lib/shared/components/palette/base-field/field-write.component.mjs +0 -74
- package/esm2020/lib/shared/components/palette/base-field/payment-field.component.mjs +0 -35
- package/esm2020/lib/shared/components/palette/case-file-view/case-file-view-field.component.mjs +0 -171
- package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.mjs +0 -48
- package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.mjs +0 -48
- package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +0 -342
- package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +0 -154
- package/esm2020/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.mjs +0 -94
- package/esm2020/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +0 -190
- package/esm2020/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +0 -288
- package/esm2020/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.mjs +0 -207
- package/esm2020/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +0 -165
- package/esm2020/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +0 -219
- package/esm2020/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +0 -306
- package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +0 -200
- package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +0 -343
- package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +0 -267
- package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +0 -510
- package/esm2020/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.mjs +0 -41
- package/esm2020/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.mjs +0 -41
- package/esm2020/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.mjs +0 -109
- package/esm2020/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.mjs +0 -77
- package/esm2020/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +0 -246
- package/esm2020/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +0 -686
- package/esm2020/lib/shared/components/palette/case-link/read-case-link-field.component.mjs +0 -32
- package/esm2020/lib/shared/components/palette/case-link/write-case-link-field.component.mjs +0 -122
- package/esm2020/lib/shared/components/palette/collection/collection-create-checker.service.mjs +0 -42
- package/esm2020/lib/shared/components/palette/collection/read-collection-field.component.mjs +0 -81
- package/esm2020/lib/shared/components/palette/collection/write-collection-field.component.mjs +0 -441
- package/esm2020/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +0 -379
- package/esm2020/lib/shared/components/palette/complex/read-complex-field-raw.component.mjs +0 -53
- package/esm2020/lib/shared/components/palette/complex/read-complex-field-table.component.mjs +0 -78
- package/esm2020/lib/shared/components/palette/complex/read-complex-field.component.mjs +0 -75
- package/esm2020/lib/shared/components/palette/complex/write-complex-field.component.mjs +0 -169
- package/esm2020/lib/shared/components/palette/date/read-date-field.component.mjs +0 -28
- package/esm2020/lib/shared/components/palette/date/write-date-container-field.component.mjs +0 -33
- package/esm2020/lib/shared/components/palette/date/write-date-field.component.mjs +0 -76
- package/esm2020/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +0 -309
- package/esm2020/lib/shared/components/palette/document/document-url.pipe.mjs +0 -24
- package/esm2020/lib/shared/components/palette/document/file-upload-progress.guard.mjs +0 -29
- package/esm2020/lib/shared/components/palette/document/file-upload-state.service.mjs +0 -16
- package/esm2020/lib/shared/components/palette/document/read-document-field.component.mjs +0 -81
- package/esm2020/lib/shared/components/palette/document/write-document-field.component.mjs +0 -408
- package/esm2020/lib/shared/components/palette/dynamic-list/dynamic-list.pipe.mjs +0 -18
- package/esm2020/lib/shared/components/palette/dynamic-list/read-dynamic-list-field.component.mjs +0 -36
- package/esm2020/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.mjs +0 -124
- package/esm2020/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.mjs +0 -43
- package/esm2020/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +0 -145
- package/esm2020/lib/shared/components/palette/dynamic-radio-list/dynamic-radio-list.pipe.mjs +0 -25
- package/esm2020/lib/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.mjs +0 -42
- package/esm2020/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.mjs +0 -124
- package/esm2020/lib/shared/components/palette/email/read-email-field.component.mjs +0 -35
- package/esm2020/lib/shared/components/palette/email/write-email-field.component.mjs +0 -73
- package/esm2020/lib/shared/components/palette/fixed-list/fixed-list.pipe.mjs +0 -23
- package/esm2020/lib/shared/components/palette/fixed-list/read-fixed-list-field.component.mjs +0 -26
- package/esm2020/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.mjs +0 -106
- package/esm2020/lib/shared/components/palette/fixed-radio-list/fixed-radio-list.pipe.mjs +0 -18
- package/esm2020/lib/shared/components/palette/fixed-radio-list/read-fixed-radio-list-field.component.mjs +0 -26
- package/esm2020/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.mjs +0 -95
- package/esm2020/lib/shared/components/palette/history/case-history-viewer-field.component.mjs +0 -16
- package/esm2020/lib/shared/components/palette/history/event-log/event-log-details.component.mjs +0 -97
- package/esm2020/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +0 -225
- package/esm2020/lib/shared/components/palette/history/event-log/event-log.component.mjs +0 -72
- package/esm2020/lib/shared/components/palette/judicial-user/read-judicial-user-field.component.mjs +0 -45
- package/esm2020/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.mjs +0 -242
- package/esm2020/lib/shared/components/palette/label/label-field.component.mjs +0 -50
- package/esm2020/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +0 -108
- package/esm2020/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +0 -189
- package/esm2020/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +0 -530
- package/esm2020/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +0 -204
- package/esm2020/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.mjs +0 -280
- package/esm2020/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +0 -66
- package/esm2020/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +0 -201
- package/esm2020/lib/shared/components/palette/linked-cases/domain/linked-cases.model.mjs +0 -22
- package/esm2020/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.mjs +0 -163
- package/esm2020/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +0 -132
- package/esm2020/lib/shared/components/palette/linked-cases/utils/validators.utils.mjs +0 -27
- package/esm2020/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +0 -229
- package/esm2020/lib/shared/components/palette/markdown/markdown-component.module.mjs +0 -49
- package/esm2020/lib/shared/components/palette/markdown/markdown.component.mjs +0 -78
- package/esm2020/lib/shared/components/palette/markdown/routerlink.component.mjs +0 -23
- package/esm2020/lib/shared/components/palette/money-gbp/money-gbp-input.component.mjs +0 -123
- package/esm2020/lib/shared/components/palette/money-gbp/read-money-gbp-field.component.mjs +0 -47
- package/esm2020/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.mjs +0 -78
- package/esm2020/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.mjs +0 -45
- package/esm2020/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.mjs +0 -126
- package/esm2020/lib/shared/components/palette/number/read-number-field.component.mjs +0 -24
- package/esm2020/lib/shared/components/palette/number/write-number-field.component.mjs +0 -73
- package/esm2020/lib/shared/components/palette/order-summary/fee-value.model.mjs +0 -3
- package/esm2020/lib/shared/components/palette/order-summary/fee.model.mjs +0 -4
- package/esm2020/lib/shared/components/palette/order-summary/order-summary.model.mjs +0 -3
- package/esm2020/lib/shared/components/palette/order-summary/read-order-summary-field.component.mjs +0 -73
- package/esm2020/lib/shared/components/palette/order-summary/read-order-summary-row.component.mjs +0 -43
- package/esm2020/lib/shared/components/palette/order-summary/write-order-summary-field.component.mjs +0 -44
- package/esm2020/lib/shared/components/palette/organisation/read-organisation-field-raw.component.mjs +0 -83
- package/esm2020/lib/shared/components/palette/organisation/read-organisation-field-table.component.mjs +0 -87
- package/esm2020/lib/shared/components/palette/organisation/read-organisation-field.component.mjs +0 -56
- package/esm2020/lib/shared/components/palette/organisation/write-organisation-complex-field.component.mjs +0 -33
- package/esm2020/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +0 -384
- package/esm2020/lib/shared/components/palette/palette.module.mjs +0 -738
- package/esm2020/lib/shared/components/palette/palette.service.mjs +0 -155
- package/esm2020/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.mjs +0 -24
- package/esm2020/lib/shared/components/palette/phone-uk/read-phone-uk-field.component.mjs +0 -22
- package/esm2020/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.mjs +0 -73
- package/esm2020/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +0 -42
- package/esm2020/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +0 -144
- package/esm2020/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.mjs +0 -64
- package/esm2020/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.mjs +0 -60
- package/esm2020/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +0 -281
- package/esm2020/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +0 -327
- package/esm2020/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.mjs +0 -22
- package/esm2020/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +0 -164
- package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.mjs +0 -74
- package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.mjs +0 -107
- package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +0 -201
- package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +0 -101
- package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.mjs +0 -21
- package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +0 -38
- package/esm2020/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +0 -121
- package/esm2020/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +0 -22
- package/esm2020/lib/shared/components/palette/text/read-text-field.component.mjs +0 -24
- package/esm2020/lib/shared/components/palette/text/write-text-field.component.mjs +0 -77
- package/esm2020/lib/shared/components/palette/text-area/read-text-area-field.component.mjs +0 -24
- package/esm2020/lib/shared/components/palette/text-area/write-text-area-field.component.mjs +0 -87
- package/esm2020/lib/shared/components/palette/unsupported-field.component.mjs +0 -17
- package/esm2020/lib/shared/components/palette/utils/dash.pipe.mjs +0 -16
- package/esm2020/lib/shared/components/palette/utils/date.pipe.mjs +0 -132
- package/esm2020/lib/shared/components/palette/utils/field-label.pipe.mjs +0 -29
- package/esm2020/lib/shared/components/palette/utils/first-error.pipe.mjs +0 -62
- package/esm2020/lib/shared/components/palette/utils/is-compound.pipe.mjs +0 -43
- package/esm2020/lib/shared/components/palette/utils/is-mandatory.pipe.mjs +0 -21
- package/esm2020/lib/shared/components/palette/utils/is-read-only-and-not-collection.pipe.mjs +0 -31
- package/esm2020/lib/shared/components/palette/utils/is-read-only.pipe.mjs +0 -21
- package/esm2020/lib/shared/components/palette/utils/utils.module.mjs +0 -71
- package/esm2020/lib/shared/components/palette/waystopay/waystopay-field.component.mjs +0 -34
- package/esm2020/lib/shared/components/palette/yes-no/read-yes-no-field.component.mjs +0 -34
- package/esm2020/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +0 -100
- package/esm2020/lib/shared/components/palette/yes-no/yes-no.service.mjs +0 -50
- package/esm2020/lib/shared/components/search-filters/domain/search-input.model.mjs +0 -10
- package/esm2020/lib/shared/components/search-filters/search-filters-wrapper.component.mjs +0 -58
- package/esm2020/lib/shared/components/search-filters/search-filters.component.mjs +0 -326
- package/esm2020/lib/shared/components/search-filters/search-filters.module.mjs +0 -71
- package/esm2020/lib/shared/components/search-result/search-result.component.mjs +0 -815
- package/esm2020/lib/shared/components/search-result/search-result.module.mjs +0 -82
- package/esm2020/lib/shared/components/workbasket-filters/workbasket-filters.component.mjs +0 -479
- package/esm2020/lib/shared/components/workbasket-filters/workbasket-filters.module.mjs +0 -67
- package/esm2020/lib/shared/directives/conditional-show/conditional-show-form.directive.mjs +0 -164
- package/esm2020/lib/shared/directives/conditional-show/conditional-show.module.mjs +0 -33
- package/esm2020/lib/shared/directives/conditional-show/domain/conditional-show.model.mjs +0 -200
- package/esm2020/lib/shared/directives/conditional-show/services/condition-parser.service.mjs +0 -200
- package/esm2020/lib/shared/directives/conditional-show/services/conditional-show-registrar.service.mjs +0 -19
- package/esm2020/lib/shared/directives/conditional-show/services/grey-bar.service.mjs +0 -47
- package/esm2020/lib/shared/directives/focus-element/focus-element.directive.mjs +0 -36
- package/esm2020/lib/shared/directives/focus-element/focus-element.module.mjs +0 -21
- package/esm2020/lib/shared/directives/substitutor/label-substitutor.directive.mjs +0 -82
- package/esm2020/lib/shared/directives/substitutor/label-substitutor.module.mjs +0 -30
- package/esm2020/lib/shared/directives/substitutor/services/placeholder.service.mjs +0 -200
- package/esm2020/lib/shared/domain/activity/activity.model.mjs +0 -10
- package/esm2020/lib/shared/domain/addresses/address.model.mjs +0 -13
- package/esm2020/lib/shared/domain/alert/alert.model.mjs +0 -3
- package/esm2020/lib/shared/domain/case-details.model.mjs +0 -4
- package/esm2020/lib/shared/domain/case-event-data.model.mjs +0 -4
- package/esm2020/lib/shared/domain/case-file-view/case-file-view-category.model.mjs +0 -3
- package/esm2020/lib/shared/domain/case-file-view/case-file-view-document.model.mjs +0 -4
- package/esm2020/lib/shared/domain/case-file-view/categories-and-documents.model.mjs +0 -7
- package/esm2020/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.mjs +0 -117
- package/esm2020/lib/shared/domain/case-flag/flag-type.model.mjs +0 -28
- package/esm2020/lib/shared/domain/case-flag/hmcts-service-detail.model.mjs +0 -10
- package/esm2020/lib/shared/domain/case-view/case-event-trigger.model.mjs +0 -23
- package/esm2020/lib/shared/domain/case-view/case-print-document.model.mjs +0 -3
- package/esm2020/lib/shared/domain/case-view/case-tab.model.mjs +0 -12
- package/esm2020/lib/shared/domain/case-view/case-view-event.model.mjs +0 -4
- package/esm2020/lib/shared/domain/case-view/case-view-trigger.model.mjs +0 -3
- package/esm2020/lib/shared/domain/case-view/case-view.model.mjs +0 -17
- package/esm2020/lib/shared/domain/definition/access-control-list.model.mjs +0 -3
- package/esm2020/lib/shared/domain/definition/banner.model.mjs +0 -3
- package/esm2020/lib/shared/domain/definition/case-event.model.mjs +0 -3
- package/esm2020/lib/shared/domain/definition/case-field.model.mjs +0 -200
- package/esm2020/lib/shared/domain/definition/case-state.model.mjs +0 -3
- package/esm2020/lib/shared/domain/definition/case-type-lite.model.mjs +0 -5
- package/esm2020/lib/shared/domain/definition/case-type.model.mjs +0 -12
- package/esm2020/lib/shared/domain/definition/event-case-field.model.mjs +0 -4
- package/esm2020/lib/shared/domain/definition/field-type.model.mjs +0 -22
- package/esm2020/lib/shared/domain/definition/fixed-list-item.model.mjs +0 -3
- package/esm2020/lib/shared/domain/definition/jurisdiction.model.mjs +0 -3
- package/esm2020/lib/shared/domain/document/document-data.model.mjs +0 -14
- package/esm2020/lib/shared/domain/draft.model.mjs +0 -11
- package/esm2020/lib/shared/domain/http/http-error.model.mjs +0 -40
- package/esm2020/lib/shared/domain/organisation/organisation-converter.mjs +0 -42
- package/esm2020/lib/shared/domain/pagination-metadata.model.mjs +0 -3
- package/esm2020/lib/shared/domain/profile/profile.model.mjs +0 -29
- package/esm2020/lib/shared/domain/search/field.model.mjs +0 -11
- package/esm2020/lib/shared/domain/search/search-result-view-column.model.mjs +0 -3
- package/esm2020/lib/shared/domain/search/search-result-view-item.model.mjs +0 -12
- package/esm2020/lib/shared/domain/search/search-result-view.model.mjs +0 -23
- package/esm2020/lib/shared/domain/search/sorting/sort-parameters.mjs +0 -7
- package/esm2020/lib/shared/domain/workbasket/workbasket-input.model.mjs +0 -5
- package/esm2020/lib/shared/fixture/case-field-builder.mjs +0 -69
- package/esm2020/lib/shared/pipes/case-reference/case-reference.pipe.mjs +0 -33
- package/esm2020/lib/shared/pipes/case-title/ccd-case-title.pipe.mjs +0 -29
- package/esm2020/lib/shared/pipes/complex/ccd-collection-table-value-case-fields.pipe.mjs +0 -32
- package/esm2020/lib/shared/pipes/complex/ccd-cyapage-label-filter.pipe.mjs +0 -29
- package/esm2020/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +0 -39
- package/esm2020/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +0 -173
- package/esm2020/lib/shared/pipes/complex/ccd-tab-fields.pipe.mjs +0 -31
- package/esm2020/lib/shared/pipes/complex/fields-filter.pipe.mjs +0 -105
- package/esm2020/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.mjs +0 -16
- package/esm2020/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.mjs +0 -27
- package/esm2020/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.mjs +0 -27
- package/esm2020/lib/shared/pipes/pipes.module.mjs +0 -64
- package/esm2020/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.mjs +0 -24
- package/esm2020/lib/shared/services/activity/activity.polling.service.mjs +0 -114
- package/esm2020/lib/shared/services/activity/activity.service.mjs +0 -82
- package/esm2020/lib/shared/services/addresses/address-parser.mjs +0 -76
- package/esm2020/lib/shared/services/addresses/addresses.service.mjs +0 -63
- package/esm2020/lib/shared/services/alert/alert.service.mjs +0 -142
- package/esm2020/lib/shared/services/auth/auth.service.mjs +0 -33
- package/esm2020/lib/shared/services/banners/banners.service.mjs +0 -33
- package/esm2020/lib/shared/services/browser/browser.service.mjs +0 -24
- package/esm2020/lib/shared/services/case-fields/case-field.service.mjs +0 -34
- package/esm2020/lib/shared/services/case-fields/format-translator.service.mjs +0 -242
- package/esm2020/lib/shared/services/case-file-view/case-file-view.service.mjs +0 -46
- package/esm2020/lib/shared/services/case-flag/case-flag-refdata.service.mjs +0 -102
- package/esm2020/lib/shared/services/common-data-service/common-data-service.mjs +0 -28
- package/esm2020/lib/shared/services/definitions/definitions.module.mjs +0 -19
- package/esm2020/lib/shared/services/definitions/definitions.service.mjs +0 -30
- package/esm2020/lib/shared/services/document-management/document-management.service.mjs +0 -112
- package/esm2020/lib/shared/services/draft/draft.service.mjs +0 -86
- package/esm2020/lib/shared/services/error/error-notifier.service.mjs +0 -18
- package/esm2020/lib/shared/services/eventStatusService/event-status.service.mjs +0 -21
- package/esm2020/lib/shared/services/fields/fields.purger.mjs +0 -304
- package/esm2020/lib/shared/services/fields/fields.utils.mjs +0 -615
- package/esm2020/lib/shared/services/form/field-type-sanitiser.mjs +0 -102
- package/esm2020/lib/shared/services/form/form-error.service.mjs +0 -46
- package/esm2020/lib/shared/services/form/form-validators.service.mjs +0 -82
- package/esm2020/lib/shared/services/form/form-value.service.mjs +0 -551
- package/esm2020/lib/shared/services/http/http-error.service.mjs +0 -65
- package/esm2020/lib/shared/services/http/http.service.mjs +0 -93
- package/esm2020/lib/shared/services/jurisdiction/jurisdiction.service.mjs +0 -33
- package/esm2020/lib/shared/services/loading/loading.module.mjs +0 -22
- package/esm2020/lib/shared/services/loading/loading.service.mjs +0 -33
- package/esm2020/lib/shared/services/navigation/navigation-notifier.service.mjs +0 -18
- package/esm2020/lib/shared/services/order/order.service.mjs +0 -39
- package/esm2020/lib/shared/services/organisation/organisation.service.mjs +0 -54
- package/esm2020/lib/shared/services/profile/profile.notifier.mjs +0 -19
- package/esm2020/lib/shared/services/profile/profile.service.mjs +0 -34
- package/esm2020/lib/shared/services/request/request.options.builder.mjs +0 -61
- package/esm2020/lib/shared/services/router/router-helper.service.mjs +0 -20
- package/esm2020/lib/shared/services/search/search.service.mjs +0 -89
- package/esm2020/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.mjs +0 -71
- package/esm2020/lib/shared/services/session/session-storage.service.mjs +0 -34
- package/esm2020/lib/shared/services/utils/retry/retry.service.mjs +0 -86
- package/esm2020/lib/shared/services/window/window.service.mjs +0 -40
- package/esm2020/lib/shared/services/workbasket/workbasket-input-filter.service.mjs +0 -53
- package/esm2020/lib/shared/test/test-route-snapshot-builder.mjs +0 -40
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +0 -38781
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +0 -1
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +0 -35799
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +0 -1
- /package/{esm2020 → esm2022}/hmcts-ccd-case-ui-toolkit.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/banners/alert/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/banners/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/domain/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/domain/notification-banner-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/enums/notification-banner-style.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/enums/notification-banner-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/body/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/footer/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form/date-input/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/header/header-bar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/header/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/header/navigation/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/header/phase/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/tabs/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/commons/case-edit-data/case-edit-validation.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/commons/case-edit-data/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/activity/activity-banner/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/activity/activity-icon/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/activity/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-create/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-confirm/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-form/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-page/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-submit/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-event-completion/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-progress/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-params.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-portal-types.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-return-states.enum.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-state-machine-context.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-states.enum.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/editor.routing.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-editor/services/wizard-factory.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-header/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-history/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-list-filters/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-timeline/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-basic-access-view/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-challenged-access-request/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-challenged-access-request/models/case-challenged-access-request.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-challenged-access-request/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-challenged-access-success/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-event-trigger/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-full-access-view/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-review-specific-access-reject/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-review-specific-access-request/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-review-specific-access-request/models/case-review-specific-access-request.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-review-specific-access-request/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-specific-access-request/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-specific-access-request/models/case-specific-access-request.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-specific-access-request/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-specific-access-success/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-view/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/printer/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/printer/pipes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/viewer.routing.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/create-case-filters/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/dialogs/delete-or-cancel-dialog/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/dialogs/document-dialog/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/dialogs/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/dialogs/remove-dialog/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/dialogs/save-or-discard-dialog/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/error/domain/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/error/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/error-message/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/event-start/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/event-start/models/event-start-state-machine-context.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/event-start/models/event-start-states-enum.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/event-start/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/event-start/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/event-trigger/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/helpers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/helpers/init-dialog-helper.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/loading-spinner/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/pagination/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/address/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/base-field/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/base-field/palette-context.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/components/shared/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/domain/case-flag-state.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/domain/case-flag.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/domain/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/domain/language.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-summary-list-display-mode.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/search-language-interpreter-error-message.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/search-language-interpreter-step.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/select-flag-location-error-message.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/pipes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/case-link/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/collection/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/complex/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/complex/sort-order.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/date/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/datetime-picker/datetime-picker-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/datetime-picker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/document/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/dynamic-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/dynamic-multi-select-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/dynamic-radio-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/email/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/fixed-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/fixed-radio-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/history/event-log/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/history/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/judicial-user/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/label/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/domain/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/markdown/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/money-gbp/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/multi-select-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/number/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/order-summary/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/organisation/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/payment/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/phone-uk/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/__mocks__/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/case-queries-collection.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/query-create-context.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/text/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/text-area/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/waystopay/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/palette/yes-no/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/search-filters/domain/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/search-filters/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/search-result/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/workbasket-filters/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/directives/conditional-show/domain/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/directives/conditional-show/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/directives/conditional-show/services/condition.peg.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/directives/conditional-show/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/directives/focus-element/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/directives/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/directives/substitutor/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/directives/substitutor/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/activity/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/addresses/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/alert/alert-level.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/alert/alert-status-params.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/alert/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-edit/case-edit.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-edit/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-file-view/document-tree-node/document-tree-node-type.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-file-view/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-flag/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-view/access-types.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-view/case-view-event-ids.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-view/challenged-access-request.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-view/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-view/review-specific-access-request.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-view/role-assignment-response.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-view/role-request.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-view/service-org-response.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/case-view/specific-access-request.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/definition/display-context-enum.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/definition/field-type-enum.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/definition/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/document/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/error-message.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/http/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/jurisdiction/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/jurisdiction/judicial-user.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/order/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/order/orderable.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/organisation/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/organisation/simple-organisation.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/predicate.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/profile/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/search/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/search/sorting/search-result-view-item-comparator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/sort-order.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/user/user-details.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/user/user-info.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/Task.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/TaskPayload.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/case-worker.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/judicial-worker.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/task-response.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/task-search-parameter.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/wa-service-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/domain/workbasket/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/fixture/shared.test.fixture.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/pipes/case-reference/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/pipes/case-title/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/pipes/complex/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/pipes/generic/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/pipes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/pipes/link-cases-from-reason-code/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/pipes/link-cases-reason-code/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/activity/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/addresses/address-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/addresses/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/alert/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/auth/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/banners/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/browser/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/case-fields/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/case-file-view/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/case-flag/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/case-flag/refdata-case-flag-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/definitions/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/document-management/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/draft/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/error/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/eventStatusService/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/fields/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/form/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/http/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/jurisdiction/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/loading/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/navigation/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/navigation/navigation-origin.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/order/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/organisation/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/profile/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/request/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/router/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/search/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/session/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/utils/retry/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/window/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/services/workbasket/index.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
|
|
3
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
|
+
import { Subject, of } from 'rxjs';
|
|
5
|
+
import { finalize, switchMap } from 'rxjs/operators';
|
|
6
|
+
import { ConditionalShowRegistrarService, GreyBarService } from '../../../directives';
|
|
7
|
+
import { CaseEventTrigger, CaseView } from '../../../domain';
|
|
8
|
+
import { AlertService, FieldsPurger, FieldsUtils, FormErrorService, FormValueService, LoadingService, SessionStorageService, WindowService } from '../../../services';
|
|
9
|
+
import { Confirmation } from '../domain';
|
|
10
|
+
import { CaseNotifier, WizardFactoryService, WorkAllocationService } from '../services';
|
|
11
|
+
import { ValidPageListCaseFieldsService } from '../services/valid-page-list-caseFields.service';
|
|
12
|
+
import { Constants } from '../../../commons/constants';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@angular/forms";
|
|
15
|
+
import * as i2 from "../services";
|
|
16
|
+
import * as i3 from "@angular/router";
|
|
17
|
+
import * as i4 from "../../../services";
|
|
18
|
+
import * as i5 from "../../../directives";
|
|
19
|
+
import * as i6 from "../services/valid-page-list-caseFields.service";
|
|
20
|
+
export class CaseEditComponent {
|
|
21
|
+
fb;
|
|
22
|
+
caseNotifier;
|
|
23
|
+
router;
|
|
24
|
+
route;
|
|
25
|
+
fieldsUtils;
|
|
26
|
+
fieldsPurger;
|
|
27
|
+
registrarService;
|
|
28
|
+
wizardFactory;
|
|
29
|
+
sessionStorageService;
|
|
30
|
+
windowsService;
|
|
31
|
+
formValueService;
|
|
32
|
+
formErrorService;
|
|
33
|
+
loadingService;
|
|
34
|
+
validPageListCaseFieldsService;
|
|
35
|
+
workAllocationService;
|
|
36
|
+
alertService;
|
|
37
|
+
static ORIGIN_QUERY_PARAM = 'origin';
|
|
38
|
+
static ALERT_MESSAGE = 'Page is being refreshed so you will be redirected to the first page of this event.';
|
|
39
|
+
eventTrigger;
|
|
40
|
+
submit;
|
|
41
|
+
validate;
|
|
42
|
+
saveDraft;
|
|
43
|
+
caseDetails;
|
|
44
|
+
cancelled = new EventEmitter();
|
|
45
|
+
submitted = new EventEmitter();
|
|
46
|
+
wizard;
|
|
47
|
+
form;
|
|
48
|
+
confirmation;
|
|
49
|
+
navigationOrigin;
|
|
50
|
+
initialUrl;
|
|
51
|
+
isPageRefreshed;
|
|
52
|
+
isSubmitting;
|
|
53
|
+
eventCompletionParams;
|
|
54
|
+
submitResponse;
|
|
55
|
+
isEventCompletionChecksRequired = false;
|
|
56
|
+
isCaseFlagSubmission = false;
|
|
57
|
+
ignoreWarning = false;
|
|
58
|
+
isLinkedCasesSubmission = false;
|
|
59
|
+
error;
|
|
60
|
+
callbackErrorsSubject = new Subject();
|
|
61
|
+
validPageList = [];
|
|
62
|
+
constructor(fb, caseNotifier, router, route, fieldsUtils, fieldsPurger, registrarService, wizardFactory, sessionStorageService, windowsService, formValueService, formErrorService, loadingService, validPageListCaseFieldsService, workAllocationService, alertService) {
|
|
63
|
+
this.fb = fb;
|
|
64
|
+
this.caseNotifier = caseNotifier;
|
|
65
|
+
this.router = router;
|
|
66
|
+
this.route = route;
|
|
67
|
+
this.fieldsUtils = fieldsUtils;
|
|
68
|
+
this.fieldsPurger = fieldsPurger;
|
|
69
|
+
this.registrarService = registrarService;
|
|
70
|
+
this.wizardFactory = wizardFactory;
|
|
71
|
+
this.sessionStorageService = sessionStorageService;
|
|
72
|
+
this.windowsService = windowsService;
|
|
73
|
+
this.formValueService = formValueService;
|
|
74
|
+
this.formErrorService = formErrorService;
|
|
75
|
+
this.loadingService = loadingService;
|
|
76
|
+
this.validPageListCaseFieldsService = validPageListCaseFieldsService;
|
|
77
|
+
this.workAllocationService = workAllocationService;
|
|
78
|
+
this.alertService = alertService;
|
|
79
|
+
}
|
|
80
|
+
ngOnInit() {
|
|
81
|
+
this.wizard = this.wizardFactory.create(this.eventTrigger);
|
|
82
|
+
this.initialUrl = this.sessionStorageService.getItem('eventUrl');
|
|
83
|
+
this.isPageRefreshed = JSON.parse(this.sessionStorageService.getItem('isPageRefreshed'));
|
|
84
|
+
this.checkPageRefresh();
|
|
85
|
+
/* istanbul ignore else */
|
|
86
|
+
if (this.router.url && !this.isPageRefreshed) {
|
|
87
|
+
this.sessionStorageService.setItem('eventUrl', this.router.url);
|
|
88
|
+
}
|
|
89
|
+
this.form = this.fb.group({
|
|
90
|
+
data: new FormGroup({}),
|
|
91
|
+
event: this.fb.group({
|
|
92
|
+
id: [this.eventTrigger.id, Validators.required],
|
|
93
|
+
summary: [''],
|
|
94
|
+
description: ['']
|
|
95
|
+
})
|
|
96
|
+
});
|
|
97
|
+
this.route.queryParams.subscribe((params) => {
|
|
98
|
+
this.navigationOrigin = params[CaseEditComponent.ORIGIN_QUERY_PARAM];
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
ngOnDestroy() {
|
|
102
|
+
/* istanbul ignore else */
|
|
103
|
+
if (this.callbackErrorsSubject) {
|
|
104
|
+
this.callbackErrorsSubject.unsubscribe();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
checkPageRefresh() {
|
|
108
|
+
if (this.isPageRefreshed && this.initialUrl) {
|
|
109
|
+
this.sessionStorageService.removeItem('eventUrl');
|
|
110
|
+
this.windowsService.alert(CaseEditComponent.ALERT_MESSAGE);
|
|
111
|
+
this.router.navigate([this.initialUrl], { relativeTo: this.route });
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
getPage(pageId) {
|
|
117
|
+
return this.wizard.getPage(pageId, this.fieldsUtils.buildCanShowPredicate(this.eventTrigger, this.form));
|
|
118
|
+
}
|
|
119
|
+
first() {
|
|
120
|
+
const firstPage = this.wizard.firstPage(this.fieldsUtils.buildCanShowPredicate(this.eventTrigger, this.form));
|
|
121
|
+
return this.router.navigate([firstPage ? firstPage.id : 'submit'], { relativeTo: this.route });
|
|
122
|
+
}
|
|
123
|
+
navigateToPage(pageId) {
|
|
124
|
+
const page = this.getPage(pageId);
|
|
125
|
+
return this.router.navigate([page ? page.id : 'submit'], { relativeTo: this.route });
|
|
126
|
+
}
|
|
127
|
+
next(currentPageId) {
|
|
128
|
+
this.initialUrl = this.sessionStorageService.getItem('eventUrl');
|
|
129
|
+
/* istanbul ignore else */
|
|
130
|
+
if (this.router.url && !this.initialUrl) {
|
|
131
|
+
this.sessionStorageService.setItem('eventUrl', this.router.url);
|
|
132
|
+
}
|
|
133
|
+
this.fieldsPurger.clearHiddenFields(this.form, this.wizard, this.eventTrigger, currentPageId);
|
|
134
|
+
const nextPage = this.getNextPage({
|
|
135
|
+
currentPageId,
|
|
136
|
+
wizard: this.wizard,
|
|
137
|
+
eventTrigger: this.eventTrigger,
|
|
138
|
+
form: this.form,
|
|
139
|
+
});
|
|
140
|
+
/* istanbul ignore else */
|
|
141
|
+
if (!nextPage &&
|
|
142
|
+
!(this.eventTrigger.show_summary || this.eventTrigger.show_summary === null) &&
|
|
143
|
+
!this.eventTrigger.show_event_notes) {
|
|
144
|
+
this.submitForm({
|
|
145
|
+
eventTrigger: this.eventTrigger,
|
|
146
|
+
form: this.form,
|
|
147
|
+
submit: this.submit,
|
|
148
|
+
caseDetails: this.caseDetails,
|
|
149
|
+
});
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
this.registrarService.reset();
|
|
153
|
+
const theQueryParams = {};
|
|
154
|
+
theQueryParams[CaseEditComponent.ORIGIN_QUERY_PARAM] = this.navigationOrigin;
|
|
155
|
+
return this.router.navigate([nextPage ? nextPage.id : 'submit'], { queryParams: theQueryParams, relativeTo: this.route });
|
|
156
|
+
}
|
|
157
|
+
previous(currentPageId) {
|
|
158
|
+
this.fieldsPurger.clearHiddenFields(this.form, this.wizard, this.eventTrigger, currentPageId);
|
|
159
|
+
this.registrarService.reset();
|
|
160
|
+
const previousPage = this.wizard.previousPage(currentPageId, this.fieldsUtils.buildCanShowPredicate(this.eventTrigger, this.form));
|
|
161
|
+
/* istanbul ignore else */
|
|
162
|
+
if (!previousPage) {
|
|
163
|
+
return Promise.resolve(false);
|
|
164
|
+
}
|
|
165
|
+
const theQueryParams = {};
|
|
166
|
+
theQueryParams[CaseEditComponent.ORIGIN_QUERY_PARAM] = this.navigationOrigin;
|
|
167
|
+
return this.router.navigate([previousPage.id], { queryParams: theQueryParams, relativeTo: this.route });
|
|
168
|
+
}
|
|
169
|
+
hasPrevious(currentPageId) {
|
|
170
|
+
return this.wizard.hasPreviousPage(currentPageId, this.fieldsUtils.buildCanShowPredicate(this.eventTrigger, this.form));
|
|
171
|
+
}
|
|
172
|
+
cancel() {
|
|
173
|
+
this.cancelled.emit();
|
|
174
|
+
}
|
|
175
|
+
emitSubmitted(response) {
|
|
176
|
+
this.submitted.emit({ caseId: response['id'], status: this.getStatus(response) });
|
|
177
|
+
}
|
|
178
|
+
getNextPage({ wizard, currentPageId, eventTrigger, form }) {
|
|
179
|
+
return wizard.nextPage(currentPageId, this.fieldsUtils.buildCanShowPredicate(eventTrigger, form));
|
|
180
|
+
}
|
|
181
|
+
confirm(confirmation) {
|
|
182
|
+
this.confirmation = confirmation;
|
|
183
|
+
return this.router.navigate(['confirm'], { relativeTo: this.route });
|
|
184
|
+
}
|
|
185
|
+
submitForm({ eventTrigger, form, caseDetails, submit }) {
|
|
186
|
+
this.isSubmitting = true;
|
|
187
|
+
// We have to run the event completion checks if task in session storage
|
|
188
|
+
// and if the task is in session storage, then is it associated to the case
|
|
189
|
+
let taskInSessionStorage;
|
|
190
|
+
const taskStr = this.sessionStorageService.getItem('taskToComplete');
|
|
191
|
+
if (taskStr) {
|
|
192
|
+
taskInSessionStorage = JSON.parse(taskStr);
|
|
193
|
+
}
|
|
194
|
+
if (taskInSessionStorage && taskInSessionStorage.case_id === this.getCaseId(caseDetails)) {
|
|
195
|
+
// Show event completion component to perform event completion checks
|
|
196
|
+
this.eventCompletionParams = ({
|
|
197
|
+
caseId: this.getCaseId(caseDetails),
|
|
198
|
+
eventId: this.getEventId(form),
|
|
199
|
+
task: taskInSessionStorage
|
|
200
|
+
});
|
|
201
|
+
this.isEventCompletionChecksRequired = true;
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
// Task not in session storage, proceed to submit
|
|
205
|
+
const caseEventData = this.generateCaseEventData({
|
|
206
|
+
eventTrigger,
|
|
207
|
+
form
|
|
208
|
+
});
|
|
209
|
+
this.caseSubmit({ form,
|
|
210
|
+
caseEventData,
|
|
211
|
+
submit
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
getCaseId(caseDetails) {
|
|
216
|
+
return (caseDetails ? caseDetails.case_id : '');
|
|
217
|
+
}
|
|
218
|
+
getEventId(form) {
|
|
219
|
+
return form.value.event.id;
|
|
220
|
+
}
|
|
221
|
+
generateCaseEventData({ eventTrigger, form }) {
|
|
222
|
+
const caseEventData = {
|
|
223
|
+
data: this.replaceEmptyComplexFieldValues(this.formValueService.sanitise(this.replaceHiddenFormValuesWithOriginalCaseData(form.get('data'), eventTrigger.case_fields))),
|
|
224
|
+
event: form.value.event
|
|
225
|
+
};
|
|
226
|
+
this.formValueService.clearNonCaseFields(caseEventData.data, eventTrigger.case_fields);
|
|
227
|
+
this.formValueService.removeNullLabels(caseEventData.data, eventTrigger.case_fields);
|
|
228
|
+
this.formValueService.removeEmptyDocuments(caseEventData.data, eventTrigger.case_fields);
|
|
229
|
+
// Remove collection fields that have "min" validation of greater than zero set on the FieldType but are empty;
|
|
230
|
+
// these will fail validation
|
|
231
|
+
this.formValueService.removeEmptyCollectionsWithMinValidation(caseEventData.data, eventTrigger.case_fields);
|
|
232
|
+
// For Case Flag submissions (where a FlagLauncher field is present in the event trigger), the flag details data
|
|
233
|
+
// needs populating for each Flags field, then the FlagLauncher field needs removing
|
|
234
|
+
this.formValueService.repopulateFormDataFromCaseFieldValues(caseEventData.data, eventTrigger.case_fields);
|
|
235
|
+
// Data population step required for Linked Cases
|
|
236
|
+
this.formValueService.populateLinkedCasesDetailsFromCaseFields(caseEventData.data, eventTrigger.case_fields);
|
|
237
|
+
// Remove "Launcher"-type fields (these have no values and are not intended to be persisted)
|
|
238
|
+
this.formValueService.removeCaseFieldsOfType(caseEventData.data, eventTrigger.case_fields, ['FlagLauncher', 'ComponentLauncher']);
|
|
239
|
+
// delete fields which are not part of the case event journey wizard pages case fields
|
|
240
|
+
this.validPageListCaseFieldsService.deleteNonValidatedFields(this.validPageList, caseEventData.data, eventTrigger.case_fields, false, form.controls['data'].value);
|
|
241
|
+
const pageListCaseFields = this.validPageListCaseFieldsService.validPageListCaseFields(this.validPageList, eventTrigger.case_fields, form.controls['data'].value);
|
|
242
|
+
// Remove unnecessary case fields which are hidden, only if the submission is *not* for Case Flags
|
|
243
|
+
if (!this.isCaseFlagSubmission) {
|
|
244
|
+
this.formValueService.removeUnnecessaryFields(caseEventData.data, pageListCaseFields, true, true);
|
|
245
|
+
}
|
|
246
|
+
caseEventData.event_token = eventTrigger.event_token;
|
|
247
|
+
caseEventData.ignore_warning = this.ignoreWarning;
|
|
248
|
+
if (this.confirmation) {
|
|
249
|
+
caseEventData.data = {};
|
|
250
|
+
}
|
|
251
|
+
return caseEventData;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Replaces non-array value objects with `null` for any Complex-type fields whose value is effectively empty, i.e.
|
|
255
|
+
* all its sub-fields and descendants are `null` or `undefined`.
|
|
256
|
+
*
|
|
257
|
+
* @param data The object tree representing all the form field data
|
|
258
|
+
* @returns The form field data modified accordingly
|
|
259
|
+
*/
|
|
260
|
+
replaceEmptyComplexFieldValues(data) {
|
|
261
|
+
Object.keys(data).forEach((key) => {
|
|
262
|
+
if (!Array.isArray(data[key]) && typeof data[key] === 'object' && !FieldsUtils.containsNonEmptyValues(data[key])) {
|
|
263
|
+
data[key] = null;
|
|
264
|
+
}
|
|
265
|
+
});
|
|
266
|
+
return data;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Traverse *all* values of a {@link FormGroup}, including those for disabled fields (i.e. hidden ones), replacing the
|
|
270
|
+
* value of any that are hidden AND have `retain_hidden_value` set to `true` in the corresponding `CaseField`, with
|
|
271
|
+
* the *original* value held in the `CaseField` object.
|
|
272
|
+
*
|
|
273
|
+
* This is as per design in EUI-3622, where any user-driven updates to hidden fields with `retain_hidden_value` =
|
|
274
|
+
* `true` are ignored (thus retaining the value displayed originally).
|
|
275
|
+
*
|
|
276
|
+
* * For Complex field types, the replacement above is performed recursively for all hidden sub-fields with
|
|
277
|
+
* `retain_hidden_value` = `true`.
|
|
278
|
+
*
|
|
279
|
+
* * For Collection field types, including collections of Complex and Document field types, the replacement is
|
|
280
|
+
* performed for all fields in the collection.
|
|
281
|
+
*
|
|
282
|
+
* @param formGroup The `FormGroup` instance whose raw values are to be traversed
|
|
283
|
+
* @param caseFields The array of {@link CaseField} domain model objects corresponding to fields in `formGroup`
|
|
284
|
+
* @param parentField Reference to the parent `CaseField`. Used for retrieving the sub-field values of a Complex field
|
|
285
|
+
* to perform recursive replacement - the sub-field `CaseField`s themselves do *not* contain any values
|
|
286
|
+
* @returns An object with the *raw* form value data (as key-value pairs), with any value replacements as necessary
|
|
287
|
+
*/
|
|
288
|
+
replaceHiddenFormValuesWithOriginalCaseData(formGroup, caseFields, parentField) {
|
|
289
|
+
// Get the raw form value data, which includes the values of any disabled controls, as key-value pairs
|
|
290
|
+
const rawFormValueData = formGroup.getRawValue();
|
|
291
|
+
// Place all case fields in a lookup object, so they can be retrieved by id
|
|
292
|
+
const caseFieldsLookup = {};
|
|
293
|
+
for (let i = 0, len = caseFields.length; i < len; i++) {
|
|
294
|
+
caseFieldsLookup[caseFields[i].id] = caseFields[i];
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Replace any form value with the original, where its CaseField is hidden AND has the retain_hidden_value flag set
|
|
298
|
+
* to true.
|
|
299
|
+
*
|
|
300
|
+
* If the CaseField's `hidden` attribute is null or undefined, then check this attribute in the parent CaseField (if
|
|
301
|
+
* one exists). This is occurring (and is possibly a bug) when a CaseField is a sub-field of a Complex type, or an
|
|
302
|
+
* item in a Collection type.
|
|
303
|
+
*
|
|
304
|
+
* If the field is a Complex type with retain_hidden_value = true, perform a recursive replacement for all (hidden)
|
|
305
|
+
* sub-fields with retain_hidden_value = true, using their original CaseField values (from the `formatted_value`
|
|
306
|
+
* attribute).
|
|
307
|
+
*
|
|
308
|
+
* If the field is a Collection type with retain_hidden_value = true, the entire collection is replaced with the
|
|
309
|
+
* original from `formatted_value`. This applies to *all* types of Collections.
|
|
310
|
+
*/
|
|
311
|
+
/* istanbul ignore next */
|
|
312
|
+
Object.keys(rawFormValueData).forEach((key) => {
|
|
313
|
+
const caseField = caseFieldsLookup[key];
|
|
314
|
+
// If caseField.hidden is NOT truthy and also NOT equal to false, then it must be null/undefined (remember that
|
|
315
|
+
// both null and undefined are equal to *neither false nor true*)
|
|
316
|
+
if (caseField && caseField.retain_hidden_value &&
|
|
317
|
+
(caseField.hidden || (caseField.hidden !== false && parentField && parentField.hidden))) {
|
|
318
|
+
if (caseField.field_type.type === 'Complex') {
|
|
319
|
+
// Note: Deliberate use of equality (==) and non-equality (!=) operators for null checks throughout, to
|
|
320
|
+
// handle both null and undefined values
|
|
321
|
+
if (caseField.value != null) {
|
|
322
|
+
// Call this function recursively to replace the Complex field's sub-fields as necessary, passing the
|
|
323
|
+
// CaseField itself (the sub-fields do not contain any values, so these need to be obtained from the
|
|
324
|
+
// parent)
|
|
325
|
+
// Update rawFormValueData for this field
|
|
326
|
+
// creating form group and adding control into it in case caseField is of complext type and and part of formGroup
|
|
327
|
+
const form = new FormGroup({});
|
|
328
|
+
if (formGroup.controls[key].value) {
|
|
329
|
+
Object.keys(formGroup.controls[key].value).forEach((item) => {
|
|
330
|
+
form.addControl(item, new FormControl(formGroup.controls[key].value[item]));
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
rawFormValueData[key] = this.replaceHiddenFormValuesWithOriginalCaseData(form, caseField.field_type.complex_fields, caseField);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
// Default case also handles collections of *all* types; the entire collection in rawFormValueData will be
|
|
338
|
+
// replaced with the original from formatted_value
|
|
339
|
+
// Use the CaseField's existing *formatted_value* from the parent, if available. (This is necessary for
|
|
340
|
+
// Complex fields, whose sub-fields do not hold any values in the model.) Otherwise, use formatted_value
|
|
341
|
+
// from the CaseField itself.
|
|
342
|
+
if (parentField && parentField.formatted_value) {
|
|
343
|
+
rawFormValueData[key] = parentField.formatted_value[caseField.id];
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
if (!(caseField.hidden && caseField.retain_hidden_value)) {
|
|
347
|
+
rawFormValueData[key] = caseField.formatted_value;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
});
|
|
353
|
+
return rawFormValueData;
|
|
354
|
+
}
|
|
355
|
+
caseSubmit({ form, caseEventData, submit }) {
|
|
356
|
+
const loadingSpinnerToken = this.loadingService.register();
|
|
357
|
+
// keep the initial event response to finalise process after task completion
|
|
358
|
+
let eventResponse;
|
|
359
|
+
this.sessionStorageService.setItem('taskCompletionError', 'false');
|
|
360
|
+
submit(caseEventData).pipe(switchMap((response) => {
|
|
361
|
+
eventResponse = response;
|
|
362
|
+
return this.postCompleteTaskIfRequired();
|
|
363
|
+
}), finalize(() => {
|
|
364
|
+
this.loadingService.unregister(loadingSpinnerToken);
|
|
365
|
+
}))
|
|
366
|
+
.subscribe(() => {
|
|
367
|
+
this.finishEventCompletionLogic(eventResponse);
|
|
368
|
+
}, error => {
|
|
369
|
+
if (!eventResponse) {
|
|
370
|
+
// event submission error
|
|
371
|
+
this.error = error;
|
|
372
|
+
this.callbackErrorsSubject.next(error);
|
|
373
|
+
/* istanbul ignore else */
|
|
374
|
+
if (this.error.details) {
|
|
375
|
+
this.formErrorService
|
|
376
|
+
.mapFieldErrors(this.error.details.field_errors, form.controls['data'], 'validation');
|
|
377
|
+
}
|
|
378
|
+
this.isSubmitting = false;
|
|
379
|
+
}
|
|
380
|
+
else {
|
|
381
|
+
this.sessionStorageService.setItem('taskCompletionError', 'true');
|
|
382
|
+
// task assignment/completion error - handled within workallocation service
|
|
383
|
+
// could set task to be deleted (or completed later)?
|
|
384
|
+
this.finishEventCompletionLogic(eventResponse);
|
|
385
|
+
// below allows error to be shown on navigation to confirmation page
|
|
386
|
+
this.alertService.setPreserveAlerts(true);
|
|
387
|
+
this.alertService.error({ phrase: Constants.TASK_COMPLETION_ERROR });
|
|
388
|
+
}
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
postCompleteTaskIfRequired() {
|
|
392
|
+
const taskStr = this.sessionStorageService.getItem('taskToComplete');
|
|
393
|
+
const assignNeeded = this.sessionStorageService.getItem('assignNeeded') === 'true';
|
|
394
|
+
if (taskStr && assignNeeded) {
|
|
395
|
+
const task = JSON.parse(taskStr);
|
|
396
|
+
return this.workAllocationService.assignAndCompleteTask(task.id);
|
|
397
|
+
}
|
|
398
|
+
else if (taskStr) {
|
|
399
|
+
const task = JSON.parse(taskStr);
|
|
400
|
+
return this.workAllocationService.completeTask(task.id);
|
|
401
|
+
}
|
|
402
|
+
return of(true);
|
|
403
|
+
}
|
|
404
|
+
finishEventCompletionLogic(eventResponse) {
|
|
405
|
+
this.caseNotifier.cachedCaseView = null;
|
|
406
|
+
this.sessionStorageService.removeItem('eventUrl');
|
|
407
|
+
const confirmation = this.buildConfirmation(eventResponse);
|
|
408
|
+
if (confirmation && (confirmation.getHeader() || confirmation.getBody())) {
|
|
409
|
+
this.confirm(confirmation);
|
|
410
|
+
}
|
|
411
|
+
else {
|
|
412
|
+
this.emitSubmitted(eventResponse);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
buildConfirmation(response) {
|
|
416
|
+
if (response['after_submit_callback_response']) {
|
|
417
|
+
return new Confirmation(response['id'], response['callback_response_status'], response['after_submit_callback_response']['confirmation_header'], response['after_submit_callback_response']['confirmation_body']);
|
|
418
|
+
}
|
|
419
|
+
else {
|
|
420
|
+
return null;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
onEventCanBeCompleted({ eventTrigger, eventCanBeCompleted, caseDetails, form, submit }) {
|
|
424
|
+
if (eventCanBeCompleted) {
|
|
425
|
+
// Submit
|
|
426
|
+
const caseEventData = this.generateCaseEventData({ eventTrigger, form });
|
|
427
|
+
this.caseSubmit({ form, caseEventData, submit });
|
|
428
|
+
}
|
|
429
|
+
else {
|
|
430
|
+
// Navigate to tasks tab on case details page
|
|
431
|
+
this.router.navigate([`/cases/case-details/${this.getCaseId(caseDetails)}/tasks`], { relativeTo: this.route });
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
getStatus(response) {
|
|
435
|
+
return this.hasCallbackFailed(response) ? response['callback_response_status'] : response['delete_draft_response_status'];
|
|
436
|
+
}
|
|
437
|
+
hasCallbackFailed(response) {
|
|
438
|
+
return response['callback_response_status'] !== 'CALLBACK_COMPLETED';
|
|
439
|
+
}
|
|
440
|
+
static ɵfac = function CaseEditComponent_Factory(t) { return new (t || CaseEditComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.CaseNotifier), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i3.ActivatedRoute), i0.ɵɵdirectiveInject(i4.FieldsUtils), i0.ɵɵdirectiveInject(i4.FieldsPurger), i0.ɵɵdirectiveInject(i5.ConditionalShowRegistrarService), i0.ɵɵdirectiveInject(i2.WizardFactoryService), i0.ɵɵdirectiveInject(i4.SessionStorageService), i0.ɵɵdirectiveInject(i4.WindowService), i0.ɵɵdirectiveInject(i4.FormValueService), i0.ɵɵdirectiveInject(i4.FormErrorService), i0.ɵɵdirectiveInject(i4.LoadingService), i0.ɵɵdirectiveInject(i6.ValidPageListCaseFieldsService), i0.ɵɵdirectiveInject(i2.WorkAllocationService), i0.ɵɵdirectiveInject(i4.AlertService)); };
|
|
441
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditComponent, selectors: [["ccd-case-edit"]], inputs: { eventTrigger: "eventTrigger", submit: "submit", validate: "validate", saveDraft: "saveDraft", caseDetails: "caseDetails" }, outputs: { cancelled: "cancelled", submitted: "submitted" }, features: [i0.ɵɵProvidersFeature([GreyBarService])], decls: 1, vars: 0, template: function CaseEditComponent_Template(rf, ctx) { if (rf & 1) {
|
|
442
|
+
i0.ɵɵelement(0, "router-outlet");
|
|
443
|
+
} }, dependencies: [i3.RouterOutlet], styles: ["#fieldset-case-data[_ngcontent-%COMP%]{margin-bottom:30px}#fieldset-case-data[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}#confirmation-header[_ngcontent-%COMP%]{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body[_ngcontent-%COMP%]{width:630px;background-color:#fff}.valign-top[_ngcontent-%COMP%]{vertical-align:top}.summary-fields[_ngcontent-%COMP%]{margin-bottom:30px}.summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0px}a.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:default}.case-field-label[_ngcontent-%COMP%]{width:45%}.case-field-content[_ngcontent-%COMP%]{width:50%}.no-bottom-border[_ngcontent-%COMP%]{border-bottom:none}.case-field-change[_ngcontent-%COMP%]{width:5%}"] });
|
|
444
|
+
}
|
|
445
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditComponent, [{
|
|
446
|
+
type: Component,
|
|
447
|
+
args: [{ selector: 'ccd-case-edit', providers: [GreyBarService], template: "<router-outlet></router-outlet>\n", styles: ["#fieldset-case-data{margin-bottom:30px}#fieldset-case-data th{width:1%;white-space:nowrap;vertical-align:top}.compound-field td{padding:0}#confirmation-header{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body{width:630px;background-color:#fff}.valign-top{vertical-align:top}.summary-fields{margin-bottom:30px}.summary-fields tbody tr th,.summary-fields tbody tr td{border-bottom:0px}a.disabled{pointer-events:none;cursor:default}.case-field-label{width:45%}.case-field-content{width:50%}.no-bottom-border{border-bottom:none}.case-field-change{width:5%}\n"] }]
|
|
448
|
+
}], () => [{ type: i1.FormBuilder }, { type: i2.CaseNotifier }, { type: i3.Router }, { type: i3.ActivatedRoute }, { type: i4.FieldsUtils }, { type: i4.FieldsPurger }, { type: i5.ConditionalShowRegistrarService }, { type: i2.WizardFactoryService }, { type: i4.SessionStorageService }, { type: i4.WindowService }, { type: i4.FormValueService }, { type: i4.FormErrorService }, { type: i4.LoadingService }, { type: i6.ValidPageListCaseFieldsService }, { type: i2.WorkAllocationService }, { type: i4.AlertService }], { eventTrigger: [{
|
|
449
|
+
type: Input
|
|
450
|
+
}], submit: [{
|
|
451
|
+
type: Input
|
|
452
|
+
}], validate: [{
|
|
453
|
+
type: Input
|
|
454
|
+
}], saveDraft: [{
|
|
455
|
+
type: Input
|
|
456
|
+
}], caseDetails: [{
|
|
457
|
+
type: Input
|
|
458
|
+
}], cancelled: [{
|
|
459
|
+
type: Output
|
|
460
|
+
}], submitted: [{
|
|
461
|
+
type: Output
|
|
462
|
+
}] }); })();
|
|
463
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditComponent, { className: "CaseEditComponent", filePath: "lib/shared/components/case-editor/case-edit/case-edit.component.ts", lineNumber: 33 }); })();
|
|
464
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9jYXNlLWVkaXQvY2FzZS1lZGl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9jYXNlLWVkaXQvY2FzZS1lZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLCtCQUErQixFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RGLE9BQU8sRUFJVSxnQkFBZ0IsRUFDL0IsUUFBUSxFQUNULE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFDN0UscUJBQXFCLEVBQUUsYUFBYSxFQUNyQyxNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFBRSxZ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QUEwQixDQUFDLEtBQUssb0JBQW9CLENBQUM7SUFDdkUsQ0FBQzsyRUFuZVUsaUJBQWlCOzZEQUFqQixpQkFBaUIsc1FBRmpCLENBQUMsY0FBYyxDQUFDO1lDOUI3QixnQ0FBK0I7OztpRkRnQ2xCLGlCQUFpQjtjQU43QixTQUFTOzJCQUNFLGVBQWUsYUFHZCxDQUFDLGNBQWMsQ0FBQztzZ0JBT3BCLFlBQVk7a0JBRGxCLEtBQUs7WUFJQyxNQUFNO2tCQURaLEtBQUs7WUFJQyxRQUFRO2tCQURkLEtBQUs7WUFJQyxTQUFTO2tCQURmLEtBQUs7WUFJQyxXQUFXO2tCQURqQixLQUFLO1lBSUMsU0FBUztrQkFEZixNQUFNO1lBSUEsU0FBUztrQkFEZixNQUFNOztrRkF0QkksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbmRpdGlvbmFsU2hvd1JlZ2lzdHJhclNlcnZpY2UsIEdyZXlCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQge1xuICBDYXNlRWRpdENhc2VTdWJtaXQsIENhc2VFZGl0R2VuZXJhdGVDYXNlRXZlbnREYXRhLCBDYXNlRWRpdEdldE5leHRQYWdlLFxuICBDYXNlRWRpdFN1Ym1pdEZvcm0sXG4gIENhc2VFZGl0b25FdmVudENhbkJlQ29tcGxldGVkLFxuICBDYXNlRXZlbnREYXRhLCBDYXNlRXZlbnRUcmlnZ2VyLCBDYXNlRmllbGQsXG4gIENhc2VWaWV3LCBEcmFmdCwgSHR0cEVycm9yLCBQcm9maWxlXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3dvcmstYWxsb2NhdGlvbi9UYXNrJztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgRmllbGRzUHVyZ2VyLCBGaWVsZHNVdGlscywgRm9ybUVycm9yU2VydmljZSwgRm9ybVZhbHVlU2VydmljZSwgTG9hZGluZ1NlcnZpY2UsXG4gIFNlc3Npb25TdG9yYWdlU2VydmljZSwgV2luZG93U2VydmljZVxufSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBTaG93Q29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L2RvbWFpbi9jb25kaXRpb25hbC1zaG93Lm1vZGVsJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbiwgV2l6YXJkLCBXaXphcmRQYWdlIH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IEV2ZW50Q29tcGxldGlvblBhcmFtcyB9IGZyb20gJy4uL2RvbWFpbi9ldmVudC1jb21wbGV0aW9uLXBhcmFtcy5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlTm90aWZpZXIsIFdpemFyZEZhY3RvcnlTZXJ2aWNlLCBXb3JrQWxsb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBWYWxpZFBhZ2VMaXN0Q2FzZUZpZWxkc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy92YWxpZC1wYWdlLWxpc3QtY2FzZUZpZWxkcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbnMvY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZWRpdCcsXG4gIHRlbXBsYXRlVXJsOiAnY2FzZS1lZGl0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4uL2Nhc2UtZWRpdC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0dyZXlCYXJTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBDYXNlRWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBPUklHSU5fUVVFUllfUEFSQU0gPSAnb3JpZ2luJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBTEVSVF9NRVNTQUdFID0gJ1BhZ2UgaXMgYmVpbmcgcmVmcmVzaGVkIHNvIHlvdSB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gdGhlIGZpcnN0IHBhZ2Ugb2YgdGhpcyBldmVudC4nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBldmVudFRyaWdnZXI6IENhc2VFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN1Ym1pdDogKGNhc2VFdmVudERhdGE6IENhc2VFdmVudERhdGEsIHByb2ZpbGU/OiBQcm9maWxlKSA9PiBPYnNlcnZhYmxlPG9iamVjdD47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHZhbGlkYXRlOiAoY2FzZUV2ZW50RGF0YTogQ2FzZUV2ZW50RGF0YSwgcGFnZUlkOiBzdHJpbmcpID0+IE9ic2VydmFibGU8b2JqZWN0PjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2F2ZURyYWZ0OiAoY2FzZUV2ZW50RGF0YTogQ2FzZUV2ZW50RGF0YSkgPT4gT2JzZXJ2YWJsZTxEcmFmdD47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNhbmNlbGxlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzdWJtaXR0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyB3aXphcmQ6IFdpemFyZDtcblxuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBjb25maXJtYXRpb246IENvbmZpcm1hdGlvbjtcblxuICBwdWJsaWMgbmF2aWdhdGlvbk9yaWdpbjogYW55O1xuXG4gIHB1YmxpYyBpbml0aWFsVXJsOiBzdHJpbmc7XG5cbiAgcHVibGljIGlzUGFnZVJlZnJlc2hlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgaXNTdWJtaXR0aW5nOiBib29sZWFuO1xuXG4gIHB1YmxpYyBldmVudENvbXBsZXRpb25QYXJhbXM6IEV2ZW50Q29tcGxldGlvblBhcmFtcztcblxuICBwdWJsaWMgc3VibWl0UmVzcG9uc2U6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgcHVibGljIGlzRXZlbnRDb21wbGV0aW9uQ2hlY2tzUmVxdWlyZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgaXNDYXNlRmxhZ1N1Ym1pc3Npb24gPSBmYWxzZTtcblxuICBwdWJsaWMgaWdub3JlV2FybmluZyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc0xpbmtlZENhc2VzU3VibWlzc2lvbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBlcnJvcjogSHR0cEVycm9yO1xuXG4gIHB1YmxpYyBjYWxsYmFja0Vycm9yc1N1YmplY3Q6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHVibGljIHZhbGlkUGFnZUxpc3Q6IFdpemFyZFBhZ2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkc1V0aWxzOiBGaWVsZHNVdGlscyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkc1B1cmdlcjogRmllbGRzUHVyZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVnaXN0cmFyU2VydmljZTogQ29uZGl0aW9uYWxTaG93UmVnaXN0cmFyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpemFyZEZhY3Rvcnk6IFdpemFyZEZhY3RvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dzU2VydmljZTogV2luZG93U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1WYWx1ZVNlcnZpY2U6IEZvcm1WYWx1ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtRXJyb3JTZXJ2aWNlOiBGb3JtRXJyb3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9hZGluZ1NlcnZpY2U6IExvYWRpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRQYWdlTGlzdENhc2VGaWVsZHNTZXJ2aWNlOiBWYWxpZFBhZ2VMaXN0Q2FzZUZpZWxkc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3b3JrQWxsb2NhdGlvblNlcnZpY2U6IFdvcmtBbGxvY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy53aXphcmQgPSB0aGlzLndpemFyZEZhY3RvcnkuY3JlYXRlKHRoaXMuZXZlbnRUcmlnZ2VyKTtcbiAgICB0aGlzLmluaXRpYWxVcmwgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCdldmVudFVybCcpO1xuICAgIHRoaXMuaXNQYWdlUmVmcmVzaGVkID0gSlNPTi5wYXJzZSh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCdpc1BhZ2VSZWZyZXNoZWQnKSk7XG5cbiAgICB0aGlzLmNoZWNrUGFnZVJlZnJlc2goKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLnJvdXRlci51cmwgJiYgIXRoaXMuaXNQYWdlUmVmcmVzaGVkKSB7XG4gICAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKCdldmVudFVybCcsIHRoaXMucm91dGVyLnVybCk7XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBkYXRhOiBuZXcgRm9ybUdyb3VwKHt9KSxcbiAgICAgIGV2ZW50OiB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgaWQ6IFt0aGlzLmV2ZW50VHJpZ2dlci5pZCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIHN1bW1hcnk6IFsnJ10sXG4gICAgICAgIGRlc2NyaXB0aW9uOiBbJyddXG4gICAgICB9KVxuICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtczogUGFyYW1zKSA9PiB7XG4gICAgICB0aGlzLm5hdmlnYXRpb25PcmlnaW4gPSBwYXJhbXNbQ2FzZUVkaXRDb21wb25lbnQuT1JJR0lOX1FVRVJZX1BBUkFNXTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmNhbGxiYWNrRXJyb3JzU3ViamVjdCkge1xuICAgICAgdGhpcy5jYWxsYmFja0Vycm9yc1N1YmplY3QudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2hlY2tQYWdlUmVmcmVzaCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc1BhZ2VSZWZyZXNoZWQgJiYgdGhpcy5pbml0aWFsVXJsKSB7XG4gICAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKCdldmVudFVybCcpO1xuICAgICAgdGhpcy53aW5kb3dzU2VydmljZS5hbGVydChDYXNlRWRpdENvbXBvbmVudC5BTEVSVF9NRVNTQUdFKTtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmluaXRpYWxVcmxdLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldFBhZ2UocGFnZUlkOiBzdHJpbmcpOiBXaXphcmRQYWdlIHtcbiAgICByZXR1cm4gdGhpcy53aXphcmQuZ2V0UGFnZShwYWdlSWQsIHRoaXMuZmllbGRzVXRpbHMuYnVpbGRDYW5TaG93UHJlZGljYXRlKHRoaXMuZXZlbnRUcmlnZ2VyLCB0aGlzLmZvcm0pKTtcbiAgfVxuXG4gIHB1YmxpYyBmaXJzdCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBmaXJzdFBhZ2UgPSB0aGlzLndpemFyZC5maXJzdFBhZ2UodGhpcy5maWVsZHNVdGlscy5idWlsZENhblNob3dQcmVkaWNhdGUodGhpcy5ldmVudFRyaWdnZXIsIHRoaXMuZm9ybSkpO1xuICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZmlyc3RQYWdlID8gZmlyc3RQYWdlLmlkIDogJ3N1Ym1pdCddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVUb1BhZ2UocGFnZUlkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBwYWdlID0gdGhpcy5nZXRQYWdlKHBhZ2VJZCk7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwYWdlID8gcGFnZS5pZCA6ICdzdWJtaXQnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICB9XG5cbiAgcHVibGljIG5leHQoY3VycmVudFBhZ2VJZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhpcy5pbml0aWFsVXJsID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnZXZlbnRVcmwnKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLnJvdXRlci51cmwgJiYgIXRoaXMuaW5pdGlhbFVybCkge1xuICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnZXZlbnRVcmwnLCB0aGlzLnJvdXRlci51cmwpO1xuICAgIH1cbiAgICB0aGlzLmZpZWxkc1B1cmdlci5jbGVhckhpZGRlbkZpZWxkcyh0aGlzLmZvcm0sIHRoaXMud2l6YXJkLCB0aGlzLmV2ZW50VHJpZ2dlciwgY3VycmVudFBhZ2VJZCk7XG4gICAgY29uc3QgbmV4dFBhZ2UgPSB0aGlzLmdldE5leHRQYWdlKHtcbiAgICAgIGN1cnJlbnRQYWdlSWQsXG4gICAgICB3aXphcmQ6IHRoaXMud2l6YXJkLFxuICAgICAgZXZlbnRUcmlnZ2VyOiB0aGlzLmV2ZW50VHJpZ2dlcixcbiAgICAgIGZvcm06IHRoaXMuZm9ybSxcbiAgICB9KTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCFuZXh0UGFnZSAmJlxuICAgICAgISh0aGlzLmV2ZW50VHJpZ2dlci5zaG93X3N1bW1hcnkgfHwgdGhpcy5ldmVudFRyaWdnZXIuc2hvd19zdW1tYXJ5ID09PSBudWxsKSAmJlxuICAgICAgIXRoaXMuZXZlbnRUcmlnZ2VyLnNob3dfZXZlbnRfbm90ZXMpIHtcbiAgICAgIHRoaXMuc3VibWl0Rm9ybSh7XG4gICAgICAgIGV2ZW50VHJpZ2dlcjogdGhpcy5ldmVudFRyaWdnZXIsXG4gICAgICAgIGZvcm06IHRoaXMuZm9ybSxcbiAgICAgICAgc3VibWl0OiB0aGlzLnN1Ym1pdCxcbiAgICAgICAgY2FzZURldGFpbHM6IHRoaXMuY2FzZURldGFpbHMsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlZ2lzdHJhclNlcnZpY2UucmVzZXQoKTtcblxuICAgIGNvbnN0IHRoZVF1ZXJ5UGFyYW1zOiBQYXJhbXMgPSB7fTtcbiAgICB0aGVRdWVyeVBhcmFtc1tDYXNlRWRpdENvbXBvbmVudC5PUklHSU5fUVVFUllfUEFSQU1dID0gdGhpcy5uYXZpZ2F0aW9uT3JpZ2luO1xuICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbbmV4dFBhZ2UgPyBuZXh0UGFnZS5pZCA6ICdzdWJtaXQnXSwgeyBxdWVyeVBhcmFtczogdGhlUXVlcnlQYXJhbXMsIHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gIH1cblxuICBwdWJsaWMgcHJldmlvdXMoY3VycmVudFBhZ2VJZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhpcy5maWVsZHNQdXJnZXIuY2xlYXJIaWRkZW5GaWVsZHModGhpcy5mb3JtLCB0aGlzLndpemFyZCwgdGhpcy5ldmVudFRyaWdnZXIsIGN1cnJlbnRQYWdlSWQpO1xuICAgIHRoaXMucmVnaXN0cmFyU2VydmljZS5yZXNldCgpO1xuXG4gICAgY29uc3QgcHJldmlvdXNQYWdlID0gdGhpcy53aXphcmQucHJldmlvdXNQYWdlKGN1cnJlbnRQYWdlSWQsIHRoaXMuZmllbGRzVXRpbHMuYnVpbGRDYW5TaG93UHJlZGljYXRlKHRoaXMuZXZlbnRUcmlnZ2VyLCB0aGlzLmZvcm0pKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghcHJldmlvdXNQYWdlKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBjb25zdCB0aGVRdWVyeVBhcmFtczogUGFyYW1zID0ge307XG4gICAgdGhlUXVlcnlQYXJhbXNbQ2FzZUVkaXRDb21wb25lbnQuT1JJR0lOX1FVRVJZX1BBUkFNXSA9IHRoaXMubmF2aWdhdGlvbk9yaWdpbjtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3ByZXZpb3VzUGFnZS5pZF0sIHsgcXVlcnlQYXJhbXM6IHRoZVF1ZXJ5UGFyYW1zLCByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICB9XG5cbiAgcHVibGljIGhhc1ByZXZpb3VzKGN1cnJlbnRQYWdlSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLndpemFyZC5oYXNQcmV2aW91c1BhZ2UoY3VycmVudFBhZ2VJZCwgdGhpcy5maWVsZHNVdGlscy5idWlsZENhblNob3dQcmVkaWNhdGUodGhpcy5ldmVudFRyaWdnZXIsIHRoaXMuZm9ybSkpO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbmNlbGxlZC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgZW1pdFN1Ym1pdHRlZChyZXNwb25zZTogUmVjb3JkPHN0cmluZywgYW55Pik6IHZvaWQge1xuICAgIHRoaXMuc3VibWl0dGVkLmVtaXQoeyBjYXNlSWQ6IHJlc3BvbnNlWydpZCddLCBzdGF0dXM6IHRoaXMuZ2V0U3RhdHVzKHJlc3BvbnNlKSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZXh0UGFnZSh7IHdpemFyZCwgY3VycmVudFBhZ2VJZCwgZXZlbnRUcmlnZ2VyLCBmb3JtIH06IENhc2VFZGl0R2V0TmV4dFBhZ2UpOiBXaXphcmRQYWdlIHtcbiAgICByZXR1cm4gd2l6YXJkLm5leHRQYWdlKFxuICAgICAgY3VycmVudFBhZ2VJZCxcbiAgICAgIHRoaXMuZmllbGRzVXRpbHMuYnVpbGRDYW5TaG93UHJlZGljYXRlKGV2ZW50VHJpZ2dlciwgZm9ybSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNvbmZpcm0oY29uZmlybWF0aW9uOiBDb25maXJtYXRpb24pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvbiA9IGNvbmZpcm1hdGlvbjtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjb25maXJtJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXRGb3JtKHsgZXZlbnRUcmlnZ2VyLCBmb3JtLCBjYXNlRGV0YWlscywgc3VibWl0IH06IENhc2VFZGl0U3VibWl0Rm9ybSk6IHZvaWQge1xuICAgIHRoaXMuaXNTdWJtaXR0aW5nID0gdHJ1ZTtcbiAgICAvLyBXZSBoYXZlIHRvIHJ1biB0aGUgZXZlbnQgY29tcGxldGlvbiBjaGVja3MgaWYgdGFzayBpbiBzZXNzaW9uIHN0b3JhZ2VcbiAgICAvLyBhbmQgaWYgdGhlIHRhc2sgaXMgaW4gc2Vzc2lvbiBzdG9yYWdlLCB0aGVuIGlzIGl0IGFzc29jaWF0ZWQgdG8gdGhlIGNhc2VcbiAgICBsZXQgdGFza0luU2Vzc2lvblN0b3JhZ2U6IFRhc2s7XG4gICAgY29uc3QgdGFza1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3Rhc2tUb0NvbXBsZXRlJyk7XG4gICAgaWYgKHRhc2tTdHIpIHtcbiAgICAgIHRhc2tJblNlc3Npb25TdG9yYWdlID0gSlNPTi5wYXJzZSh0YXNrU3RyKTtcbiAgICB9XG5cbiAgICBpZiAodGFza0luU2Vzc2lvblN0b3JhZ2UgJiYgdGFza0luU2Vzc2lvblN0b3JhZ2UuY2FzZV9pZCA9PT0gdGhpcy5nZXRDYXNlSWQoY2FzZURldGFpbHMpKSB7XG4gICAgICAvLyBTaG93IGV2ZW50IGNvbXBsZXRpb24gY29tcG9uZW50IHRvIHBlcmZvcm0gZXZlbnQgY29tcGxldGlvbiBjaGVja3NcbiAgICAgIHRoaXMuZXZlbnRDb21wbGV0aW9uUGFyYW1zID0gKHtcbiAgICAgICAgY2FzZUlkOiB0aGlzLmdldENhc2VJZChjYXNlRGV0YWlscyksXG4gICAgICAgIGV2ZW50SWQ6IHRoaXMuZ2V0RXZlbnRJZChmb3JtKSxcbiAgICAgICAgdGFzazogdGFza0luU2Vzc2lvblN0b3JhZ2VcbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc0V2ZW50Q29tcGxldGlvbkNoZWNrc1JlcXVpcmVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFzayBub3QgaW4gc2Vzc2lvbiBzdG9yYWdlLCBwcm9jZWVkIHRvIHN1Ym1pdFxuICAgICAgY29uc3QgY2FzZUV2ZW50RGF0YSA9IHRoaXMuZ2VuZXJhdGVDYXNlRXZlbnREYXRhKHtcbiAgICAgICAgZXZlbnRUcmlnZ2VyLFxuICAgICAgICBmb3JtXG4gICAgICB9KTtcbiAgICAgIHRoaXMuY2FzZVN1Ym1pdCh7Zm9ybSxcbiAgICAgICAgY2FzZUV2ZW50RGF0YSxcbiAgICAgICAgc3VibWl0XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZUlkKGNhc2VEZXRhaWxzOiBDYXNlVmlldyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChjYXNlRGV0YWlscyA/IGNhc2VEZXRhaWxzLmNhc2VfaWQgOiAnJyk7XG4gIH1cblxuICBwcml2YXRlIGdldEV2ZW50SWQoZm9ybTogRm9ybUdyb3VwKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZm9ybS52YWx1ZS5ldmVudC5pZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVDYXNlRXZlbnREYXRhKHsgZXZlbnRUcmlnZ2VyLCBmb3JtIH06IENhc2VFZGl0R2VuZXJhdGVDYXNlRXZlbnREYXRhICk6IENhc2VFdmVudERhdGEge1xuICAgIGNvbnN0IGNhc2VFdmVudERhdGE6IENhc2VFdmVudERhdGEgPSB7XG4gICAgICBkYXRhOiB0aGlzLnJlcGxhY2VFbXB0eUNvbXBsZXhGaWVsZFZhbHVlcyhcbiAgICAgICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnNhbml0aXNlKFxuICAgICAgICAgIHRoaXMucmVwbGFjZUhpZGRlbkZvcm1WYWx1ZXNXaXRoT3JpZ2luYWxDYXNlRGF0YShcbiAgICAgICAgICAgIGZvcm0uZ2V0KCdkYXRhJykgYXMgRm9ybUdyb3VwLCBldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpKSksXG4gICAgICBldmVudDogZm9ybS52YWx1ZS5ldmVudFxuICAgIH0gYXMgQ2FzZUV2ZW50RGF0YTtcbiAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2UuY2xlYXJOb25DYXNlRmllbGRzKGNhc2VFdmVudERhdGEuZGF0YSwgZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzKTtcbiAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2UucmVtb3ZlTnVsbExhYmVscyhjYXNlRXZlbnREYXRhLmRhdGEsIGV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcyk7XG4gICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnJlbW92ZUVtcHR5RG9jdW1lbnRzKGNhc2VFdmVudERhdGEuZGF0YSwgZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzKTtcbiAgICAvLyBSZW1vdmUgY29sbGVjdGlvbiBmaWVsZHMgdGhhdCBoYXZlIFwibWluXCIgdmFsaWRhdGlvbiBvZiBncmVhdGVyIHRoYW4gemVybyBzZXQgb24gdGhlIEZpZWxkVHlwZSBidXQgYXJlIGVtcHR5O1xuICAgIC8vIHRoZXNlIHdpbGwgZmFpbCB2YWxpZGF0aW9uXG4gICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnJlbW92ZUVtcHR5Q29sbGVjdGlvbnNXaXRoTWluVmFsaWRhdGlvbihjYXNlRXZlbnREYXRhLmRhdGEsIGV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcyk7XG4gICAgLy8gRm9yIENhc2UgRmxhZyBzdWJtaXNzaW9ucyAod2hlcmUgYSBGbGFnTGF1bmNoZXIgZmllbGQgaXMgcHJlc2VudCBpbiB0aGUgZXZlbnQgdHJpZ2dlciksIHRoZSBmbGFnIGRldGFpbHMgZGF0YVxuICAgIC8vIG5lZWRzIHBvcHVsYXRpbmcgZm9yIGVhY2ggRmxhZ3MgZmllbGQsIHRoZW4gdGhlIEZsYWdMYXVuY2hlciBmaWVsZCBuZWVkcyByZW1vdmluZ1xuICAgIHRoaXMuZm9ybVZhbHVlU2VydmljZS5yZXBvcHVsYXRlRm9ybURhdGFGcm9tQ2FzZUZpZWxkVmFsdWVzKGNhc2VFdmVudERhdGEuZGF0YSwgZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzKTtcbiAgICAvLyBEYXRhIHBvcHVsYXRpb24gc3RlcCByZXF1aXJlZCBmb3IgTGlua2VkIENhc2VzXG4gICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnBvcHVsYXRlTGlua2VkQ2FzZXNEZXRhaWxzRnJvbUNhc2VGaWVsZHMoY2FzZUV2ZW50RGF0YS5kYXRhLCBldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpO1xuICAgIC8vIFJlbW92ZSBcIkxhdW5jaGVyXCItdHlwZSBmaWVsZHMgKHRoZXNlIGhhdmUgbm8gdmFsdWVzIGFuZCBhcmUgbm90IGludGVuZGVkIHRvIGJlIHBlcnNpc3RlZClcbiAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2UucmVtb3ZlQ2FzZUZpZWxkc09mVHlwZShjYXNlRXZlbnREYXRhLmRhdGEsIGV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcywgWydGbGFnTGF1bmNoZXInLCAnQ29tcG9uZW50TGF1bmNoZXInXSk7XG5cbiAgICAvLyBkZWxldGUgZmllbGRzIHdoaWNoIGFyZSBub3QgcGFydCBvZiB0aGUgY2FzZSBldmVudCBqb3VybmV5IHdpemFyZCBwYWdlcyBjYXNlIGZpZWxkc1xuICAgIHRoaXMudmFsaWRQYWdlTGlzdENhc2VGaWVsZHNTZXJ2aWNlLmRlbGV0ZU5vblZhbGlkYXRlZEZpZWxkcyh0aGlzLnZhbGlkUGFnZUxpc3QsIGNhc2VFdmVudERhdGEuZGF0YSwgZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzLCBmYWxzZSwgZm9ybS5jb250cm9sc1snZGF0YSddLnZhbHVlKTtcbiAgICBjb25zdCBwYWdlTGlzdENhc2VGaWVsZHMgPSB0aGlzLnZhbGlkUGFnZUxpc3RDYXNlRmllbGRzU2VydmljZS52YWxpZFBhZ2VMaXN0Q2FzZUZpZWxkcyh0aGlzLnZhbGlkUGFnZUxpc3QsIGV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcywgZm9ybS5jb250cm9sc1snZGF0YSddLnZhbHVlKTtcbiAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgY2FzZSBmaWVsZHMgd2hpY2ggYXJlIGhpZGRlbiwgb25seSBpZiB0aGUgc3VibWlzc2lvbiBpcyAqbm90KiBmb3IgQ2FzZSBGbGFnc1xuICAgIGlmICghdGhpcy5pc0Nhc2VGbGFnU3VibWlzc2lvbikge1xuICAgICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnJlbW92ZVVubmVjZXNzYXJ5RmllbGRzKGNhc2VFdmVudERhdGEuZGF0YSwgcGFnZUxpc3RDYXNlRmllbGRzLCB0cnVlLCB0cnVlKTtcbiAgICB9XG5cbiAgICBjYXNlRXZlbnREYXRhLmV2ZW50X3Rva2VuID0gZXZlbnRUcmlnZ2VyLmV2ZW50X3Rva2VuO1xuICAgIGNhc2VFdmVudERhdGEuaWdub3JlX3dhcm5pbmcgPSB0aGlzLmlnbm9yZVdhcm5pbmc7XG4gICAgaWYgKHRoaXMuY29uZmlybWF0aW9uKSB7XG4gICAgICBjYXNlRXZlbnREYXRhLmRhdGEgPSB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2FzZUV2ZW50RGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyBub24tYXJyYXkgdmFsdWUgb2JqZWN0cyB3aXRoIGBudWxsYCBmb3IgYW55IENvbXBsZXgtdHlwZSBmaWVsZHMgd2hvc2UgdmFsdWUgaXMgZWZmZWN0aXZlbHkgZW1wdHksIGkuZS5cbiAgICogYWxsIGl0cyBzdWItZmllbGRzIGFuZCBkZXNjZW5kYW50cyBhcmUgYG51bGxgIG9yIGB1bmRlZmluZWRgLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSBUaGUgb2JqZWN0IHRyZWUgcmVwcmVzZW50aW5nIGFsbCB0aGUgZm9ybSBmaWVsZCBkYXRhXG4gICAqIEByZXR1cm5zIFRoZSBmb3JtIGZpZWxkIGRhdGEgbW9kaWZpZWQgYWNjb3JkaW5nbHlcbiAgICovXG4gIHByaXZhdGUgcmVwbGFjZUVtcHR5Q29tcGxleEZpZWxkVmFsdWVzKGRhdGE6IG9iamVjdCk6IG9iamVjdCB7XG4gICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YVtrZXldKSAmJiB0eXBlb2YgZGF0YVtrZXldID09PSAnb2JqZWN0JyAmJiAhRmllbGRzVXRpbHMuY29udGFpbnNOb25FbXB0eVZhbHVlcyhkYXRhW2tleV0pKSB7XG4gICAgICAgIGRhdGFba2V5XSA9IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmF2ZXJzZSAqYWxsKiB2YWx1ZXMgb2YgYSB7QGxpbmsgRm9ybUdyb3VwfSwgaW5jbHVkaW5nIHRob3NlIGZvciBkaXNhYmxlZCBmaWVsZHMgKGkuZS4gaGlkZGVuIG9uZXMpLCByZXBsYWNpbmcgdGhlXG4gICAqIHZhbHVlIG9mIGFueSB0aGF0IGFyZSBoaWRkZW4gQU5EIGhhdmUgYHJldGFpbl9oaWRkZW5fdmFsdWVgIHNldCB0byBgdHJ1ZWAgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYENhc2VGaWVsZGAsIHdpdGhcbiAgICogdGhlICpvcmlnaW5hbCogdmFsdWUgaGVsZCBpbiB0aGUgYENhc2VGaWVsZGAgb2JqZWN0LlxuICAgKlxuICAgKiBUaGlzIGlzIGFzIHBlciBkZXNpZ24gaW4gRVVJLTM2MjIsIHdoZXJlIGFueSB1c2VyLWRyaXZlbiB1cGRhdGVzIHRvIGhpZGRlbiBmaWVsZHMgd2l0aCBgcmV0YWluX2hpZGRlbl92YWx1ZWAgPVxuICAgKiBgdHJ1ZWAgYXJlIGlnbm9yZWQgKHRodXMgcmV0YWluaW5nIHRoZSB2YWx1ZSBkaXNwbGF5ZWQgb3JpZ2luYWxseSkuXG4gICAqXG4gICAqICogRm9yIENvbXBsZXggZmllbGQgdHlwZXMsIHRoZSByZXBsYWNlbWVudCBhYm92ZSBpcyBwZXJmb3JtZWQgcmVjdXJzaXZlbHkgZm9yIGFsbCBoaWRkZW4gc3ViLWZpZWxkcyB3aXRoXG4gICAqIGByZXRhaW5faGlkZGVuX3ZhbHVlYCA9IGB0cnVlYC5cbiAgICpcbiAgICogKiBGb3IgQ29sbGVjdGlvbiBmaWVsZCB0eXBlcywgaW5jbHVkaW5nIGNvbGxlY3Rpb25zIG9mIENvbXBsZXggYW5kIERvY3VtZW50IGZpZWxkIHR5cGVzLCB0aGUgcmVwbGFjZW1lbnQgaXNcbiAgICogcGVyZm9ybWVkIGZvciBhbGwgZmllbGRzIGluIHRoZSBjb2xsZWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gZm9ybUdyb3VwIFRoZSBgRm9ybUdyb3VwYCBpbnN0YW5jZSB3aG9zZSByYXcgdmFsdWVzIGFyZSB0byBiZSB0cmF2ZXJzZWRcbiAgICogQHBhcmFtIGNhc2VGaWVsZHMgVGhlIGFycmF5IG9mIHtAbGluayBDYXNlRmllbGR9IGRvbWFpbiBtb2RlbCBvYmplY3RzIGNvcnJlc3BvbmRpbmcgdG8gZmllbGRzIGluIGBmb3JtR3JvdXBgXG4gICAqIEBwYXJhbSBwYXJlbnRGaWVsZCBSZWZlcmVuY2UgdG8gdGhlIHBhcmVudCBgQ2FzZUZpZWxkYC4gVXNlZCBmb3IgcmV0cmlldmluZyB0aGUgc3ViLWZpZWxkIHZhbHVlcyBvZiBhIENvbXBsZXggZmllbGRcbiAgICogdG8gcGVyZm9ybSByZWN1cnNpdmUgcmVwbGFjZW1lbnQgLSB0aGUgc3ViLWZpZWxkIGBDYXNlRmllbGRgcyB0aGVtc2VsdmVzIGRvICpub3QqIGNvbnRhaW4gYW55IHZhbHVlc1xuICAgKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCB0aGUgKnJhdyogZm9ybSB2YWx1ZSBkYXRhIChhcyBrZXktdmFsdWUgcGFpcnMpLCB3aXRoIGFueSB2YWx1ZSByZXBsYWNlbWVudHMgYXMgbmVjZXNzYXJ5XG4gICAqL1xuICBwcml2YXRlIHJlcGxhY2VIaWRkZW5Gb3JtVmFsdWVzV2l0aE9yaWdpbmFsQ2FzZURhdGEoZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdLCBwYXJlbnRGaWVsZD86IENhc2VGaWVsZCk6IG9iamVjdCB7XG4gICAgLy8gR2V0IHRoZSByYXcgZm9ybSB2YWx1ZSBkYXRhLCB3aGljaCBpbmNsdWRlcyB0aGUgdmFsdWVzIG9mIGFueSBkaXNhYmxlZCBjb250cm9scywgYXMga2V5LXZhbHVlIHBhaXJzXG4gICAgY29uc3QgcmF3Rm9ybVZhbHVlRGF0YSA9IGZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgLy8gUGxhY2UgYWxsIGNhc2UgZmllbGRzIGluIGEgbG9va3VwIG9iamVjdCwgc28gdGhleSBjYW4gYmUgcmV0cmlldmVkIGJ5IGlkXG4gICAgY29uc3QgY2FzZUZpZWxkc0xvb2t1cCA9IHt9O1xuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBjYXNlRmllbGRzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBjYXNlRmllbGRzTG9va3VwW2Nhc2VGaWVsZHNbaV0uaWRdID0gY2FzZUZpZWxkc1tpXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXBsYWNlIGFueSBmb3JtIHZhbHVlIHdpdGggdGhlIG9yaWdpbmFsLCB3aGVyZSBpdHMgQ2FzZUZpZWxkIGlzIGhpZGRlbiBBTkQgaGFzIHRoZSByZXRhaW5faGlkZGVuX3ZhbHVlIGZsYWcgc2V0XG4gICAgICogdG8gdHJ1ZS5cbiAgICAgKlxuICAgICAqIElmIHRoZSBDYXNlRmllbGQncyBgaGlkZGVuYCBhdHRyaWJ1dGUgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZW4gY2hlY2sgdGhpcyBhdHRyaWJ1dGUgaW4gdGhlIHBhcmVudCBDYXNlRmllbGQgKGlmXG4gICAgICogb25lIGV4aXN0cykuIFRoaXMgaXMgb2NjdXJyaW5nIChhbmQgaXMgcG9zc2libHkgYSBidWcpIHdoZW4gYSBDYXNlRmllbGQgaXMgYSBzdWItZmllbGQgb2YgYSBDb21wbGV4IHR5cGUsIG9yIGFuXG4gICAgICogaXRlbSBpbiBhIENvbGxlY3Rpb24gdHlwZS5cbiAgICAgKlxuICAgICAqIElmIHRoZSBmaWVsZCBpcyBhIENvbXBsZXggdHlwZSB3aXRoIHJldGFpbl9oaWRkZW5fdmFsdWUgPSB0cnVlLCBwZXJmb3JtIGEgcmVjdXJzaXZlIHJlcGxhY2VtZW50IGZvciBhbGwgKGhpZGRlbilcbiAgICAgKiBzdWItZmllbGRzIHdpdGggcmV0YWluX2hpZGRlbl92YWx1ZSA9IHRydWUsIHVzaW5nIHRoZWlyIG9yaWdpbmFsIENhc2VGaWVsZCB2YWx1ZXMgKGZyb20gdGhlIGBmb3JtYXR0ZWRfdmFsdWVgXG4gICAgICogYXR0cmlidXRlKS5cbiAgICAgKlxuICAgICAqIElmIHRoZSBmaWVsZCBpcyBhIENvbGxlY3Rpb24gdHlwZSB3aXRoIHJldGFpbl9oaWRkZW5fdmFsdWUgPSB0cnVlLCB0aGUgZW50aXJlIGNvbGxlY3Rpb24gaXMgcmVwbGFjZWQgd2l0aCB0aGVcbiAgICAgKiBvcmlnaW5hbCBmcm9tIGBmb3JtYXR0ZWRfdmFsdWVgLiBUaGlzIGFwcGxpZXMgdG8gKmFsbCogdHlwZXMgb2YgQ29sbGVjdGlvbnMuXG4gICAgICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBPYmplY3Qua2V5cyhyYXdGb3JtVmFsdWVEYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IGNhc2VGaWVsZDogQ2FzZUZpZWxkID0gY2FzZUZpZWxkc0xvb2t1cFtrZXldO1xuICAgICAgLy8gSWYgY2FzZUZpZWxkLmhpZGRlbiBpcyBOT1QgdHJ1dGh5IGFuZCBhbHNvIE5PVCBlcXVhbCB0byBmYWxzZSwgdGhlbiBpdCBtdXN0IGJlIG51bGwvdW5kZWZpbmVkIChyZW1lbWJlciB0aGF0XG4gICAgICAvLyBib3RoIG51bGwgYW5kIHVuZGVmaW5lZCBhcmUgZXF1YWwgdG8gKm5laXRoZXIgZmFsc2Ugbm9yIHRydWUqKVxuICAgICAgaWYgKGNhc2VGaWVsZCAmJiBjYXNlRmllbGQucmV0YWluX2hpZGRlbl92YWx1ZSAmJlxuICAgICAgICAoY2FzZUZpZWxkLmhpZGRlbiB8fCAoY2FzZUZpZWxkLmhpZGRlbiAhPT0gZmFsc2UgJiYgcGFyZW50RmllbGQgJiYgcGFyZW50RmllbGQuaGlkZGVuKSkpIHtcbiAgICAgICAgaWYgKGNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdDb21wbGV4Jykge1xuICAgICAgICAgIC8vIE5vdGU6IERlbGliZXJhdGUgdXNlIG9mIGVxdWFsaXR5ICg9PSkgYW5kIG5vbi1lcXVhbGl0eSAoIT0pIG9wZXJhdG9ycyBmb3IgbnVsbCBjaGVja3MgdGhyb3VnaG91dCwgdG9cbiAgICAgICAgICAvLyBoYW5kbGUgYm90aCBudWxsIGFuZCB1bmRlZmluZWQgdmFsdWVzXG4gICAgICAgICAgaWYgKGNhc2VGaWVsZC52YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAvLyBDYWxsIHRoaXMgZnVuY3Rpb24gcmVjdXJzaXZlbHkgdG8gcmVwbGFjZSB0aGUgQ29tcGxleCBmaWVsZCdzIHN1Yi1maWVsZHMgYXMgbmVjZXNzYXJ5LCBwYXNzaW5nIHRoZVxuICAgICAgICAgICAgLy8gQ2FzZUZpZWxkIGl0c2VsZiAodGhlIHN1Yi1maWVsZHMgZG8gbm90IGNvbnRhaW4gYW55IHZhbHVlcywgc28gdGhlc2UgbmVlZCB0byBiZSBvYnRhaW5lZCBmcm9tIHRoZVxuICAgICAgICAgICAgLy8gcGFyZW50KVxuICAgICAgICAgICAgLy8gVXBkYXRlIHJhd0Zvcm1WYWx1ZURhdGEgZm9yIHRoaXMgZmllbGRcbiAgICAgICAgICAgIC8vIGNyZWF0aW5nIGZvcm0gZ3JvdXAgYW5kIGFkZGluZyBjb250cm9sIGludG8gaXQgaW4gY2FzZSBjYXNlRmllbGQgaXMgb2YgY29tcGxleHQgdHlwZSBhbmQgYW5kIHBhcnQgb2YgZm9ybUdyb3VwXG4gICAgICAgICAgICBjb25zdCBmb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICAgICAgICAgIGlmIChmb3JtR3JvdXAuY29udHJvbHNba2V5XS52YWx1ZSkge1xuICAgICAgICAgICAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHNba2V5XS52YWx1ZSkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGZvcm0uYWRkQ29udHJvbChpdGVtLCBuZXcgRm9ybUNvbnRyb2woZm9ybUdyb3VwLmNvbnRyb2xzW2tleV0udmFsdWVbaXRlbV0pKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByYXdGb3JtVmFsdWVEYXRhW2tleV0gPSB0aGlzLnJlcGxhY2VIaWRkZW5Gb3JtVmFsdWVzV2l0aE9yaWdpbmFsQ2FzZURhdGEoXG4gICAgICAgICAgICAgIGZvcm0sIGNhc2VGaWVsZC5maWVsZF90eXBlLmNvbXBsZXhfZmllbGRzLCBjYXNlRmllbGQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBEZWZhdWx0IGNhc2UgYWxzbyBoYW5kbGVzIGNvbGxlY3Rpb25zIG9mICphbGwqIHR5cGVzOyB0aGUgZW50aXJlIGNvbGxlY3Rpb24gaW4gcmF3Rm9ybVZhbHVlRGF0YSB3aWxsIGJlXG4gICAgICAgICAgLy8gcmVwbGFjZWQgd2l0aCB0aGUgb3JpZ2luYWwgZnJvbSBmb3JtYXR0ZWRfdmFsdWVcbiAgICAgICAgICAvLyBVc2UgdGhlIENhc2VGaWVsZCdzIGV4aXN0aW5nICpmb3JtYXR0ZWRfdmFsdWUqIGZyb20gdGhlIHBhcmVudCwgaWYgYXZhaWxhYmxlLiAoVGhpcyBpcyBuZWNlc3NhcnkgZm9yXG4gICAgICAgICAgLy8gQ29tcGxleCBmaWVsZHMsIHdob3NlIHN1Yi1maWVsZHMgZG8gbm90IGhvbGQgYW55IHZhbHVlcyBpbiB0aGUgbW9kZWwuKSBPdGhlcndpc2UsIHVzZSBmb3JtYXR0ZWRfdmFsdWVcbiAgICAgICAgICAvLyBmcm9tIHRoZSBDYXNlRmllbGQgaXRzZWxmLlxuICAgICAgICAgIGlmIChwYXJlbnRGaWVsZCAmJiBwYXJlbnRGaWVsZC5mb3JtYXR0ZWRfdmFsdWUpIHtcbiAgICAgICAgICAgIHJhd0Zvcm1WYWx1ZURhdGFba2V5XSA9IHBhcmVudEZpZWxkLmZvcm1hdHRlZF92YWx1ZVtjYXNlRmllbGQuaWRdO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIShjYXNlRmllbGQuaGlkZGVuICYmIGNhc2VGaWVsZC5yZXRhaW5faGlkZGVuX3ZhbHVlKSkge1xuICAgICAgICAgICAgICByYXdGb3JtVmFsdWVEYXRhW2tleV0gPSBjYXNlRmllbGQuZm9ybWF0dGVkX3ZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJhd0Zvcm1WYWx1ZURhdGE7XG4gIH1cblxuICBwcml2YXRlIGNhc2VTdWJtaXQoeyBmb3JtLCBjYXNlRXZlbnREYXRhLCBzdWJtaXQgfTogQ2FzZUVkaXRDYXNlU3VibWl0KTogdm9pZCB7XG4gICAgY29uc3QgbG9hZGluZ1NwaW5uZXJUb2tlbiA9IHRoaXMubG9hZGluZ1NlcnZpY2UucmVnaXN0ZXIoKTtcbiAgICAvLyBrZWVwIHRoZSBpbml0aWFsIGV2ZW50IHJlc3BvbnNlIHRvIGZpbmFsaXNlIHByb2Nlc3MgYWZ0ZXIgdGFzayBjb21wbGV0aW9uXG4gICAgbGV0IGV2ZW50UmVzcG9uc2U6IG9iamVjdDtcbiAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKCd0YXNrQ29tcGxldGlvbkVycm9yJywgJ2ZhbHNlJyk7XG4gICAgc3VibWl0KGNhc2VFdmVudERhdGEpLnBpcGUoc3dpdGNoTWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgZXZlbnRSZXNwb25zZSA9IHJlc3BvbnNlO1xuICAgICAgcmV0dXJuIHRoaXMucG9zdENvbXBsZXRlVGFza0lmUmVxdWlyZWQoKTtcbiAgICB9KSxmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UudW5yZWdpc3Rlcihsb2FkaW5nU3Bpbm5lclRva2VuKTtcbiAgICAgIH0pKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmluaXNoRXZlbnRDb21wbGV0aW9uTG9naWMoZXZlbnRSZXNwb25zZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICBpZiAoIWV2ZW50UmVzcG9uc2UpIHtcbiAgICAgICAgICAgIC8vIGV2ZW50IHN1Ym1pc3Npb24gZXJyb3JcbiAgICAgICAgICAgIHRoaXMuZXJyb3IgPSBlcnJvcjtcbiAgICAgICAgICAgIHRoaXMuY2FsbGJhY2tFcnJvcnNTdWJqZWN0Lm5leHQoZXJyb3IpO1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmVycm9yLmRldGFpbHMpIHtcbiAgICAgICAgICAgICAgdGhpcy5mb3JtRXJyb3JTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLm1hcEZpZWxkRXJyb3JzKHRoaXMuZXJyb3IuZGV0YWlscy5maWVsZF9lcnJvcnMsIGZvcm0uY29udHJvbHNbJ2RhdGEnXSBhcyBGb3JtR3JvdXAsICd2YWxpZGF0aW9uJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmlzU3VibWl0dGluZyA9IGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKCd0YXNrQ29tcGxldGlvbkVycm9yJywgJ3RydWUnKTtcbiAgICAgICAgICAgIC8vIHRhc2sgYXNzaWdubWVudC9jb21wbGV0aW9uIGVycm9yIC0gaGFuZGxlZCB3aXRoaW4gd29ya2FsbG9jYXRpb24gc2VydmljZVxuICAgICAgICAgICAgLy8gY291bGQgc2V0IHRhc2sgdG8gYmUgZGVsZXRlZCAob3IgY29tcGxldGVkIGxhdGVyKT9cbiAgICAgICAgICAgIHRoaXMuZmluaXNoRXZlbnRDb21wbGV0aW9uTG9naWMoZXZlbnRSZXNwb25zZSk7XG4gICAgICAgICAgICAvLyBiZWxvdyBhbGxvd3MgZXJyb3IgdG8gYmUgc2hvd24gb24gbmF2aWdhdGlvbiB0byBjb25maXJtYXRpb24gcGFnZVxuICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2V0UHJlc2VydmVBbGVydHModHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcih7cGhyYXNlOiBDb25zdGFudHMuVEFTS19DT01QTEVUSU9OX0VSUk9SfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3N0Q29tcGxldGVUYXNrSWZSZXF1aXJlZCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHRhc2tTdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd0YXNrVG9Db21wbGV0ZScpO1xuICAgIGNvbnN0IGFzc2lnbk5lZWRlZCA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2Fzc2lnbk5lZWRlZCcpID09PSAndHJ1ZSc7XG4gICAgaWYgKHRhc2tTdHIgJiYgYXNzaWduTmVlZGVkKSB7XG4gICAgICBjb25zdCB0YXNrOiBUYXNrID0gSlNPTi5wYXJzZSh0YXNrU3RyKTtcbiAgICAgIHJldHVybiB0aGlzLndvcmtBbGxvY2F0aW9uU2VydmljZS5hc3NpZ25BbmRDb21wbGV0ZVRhc2sodGFzay5pZCk7XG4gICAgfSBlbHNlIGlmICh0YXNrU3RyKSB7XG4gICAgICBjb25zdCB0YXNrOiBUYXNrID0gSlNPTi5wYXJzZSh0YXNrU3RyKTtcbiAgICAgIHJldHVybiB0aGlzLndvcmtBbGxvY2F0aW9uU2VydmljZS5jb21wbGV0ZVRhc2sodGFzay5pZCk7XG4gICAgfVxuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoRXZlbnRDb21wbGV0aW9uTG9naWMoZXZlbnRSZXNwb25zZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcgPSBudWxsO1xuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ2V2ZW50VXJsJyk7XG4gICAgY29uc3QgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb24gPSB0aGlzLmJ1aWxkQ29uZmlybWF0aW9uKGV2ZW50UmVzcG9uc2UpO1xuICAgIGlmIChjb25maXJtYXRpb24gJiYgKGNvbmZpcm1hdGlvbi5nZXRIZWFkZXIoKSB8fCBjb25maXJtYXRpb24uZ2V0Qm9keSgpKSkge1xuICAgICAgdGhpcy5jb25maXJtKGNvbmZpcm1hdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW1pdFN1Ym1pdHRlZChldmVudFJlc3BvbnNlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkQ29uZmlybWF0aW9uKHJlc3BvbnNlOiBvYmplY3QpOiBDb25maXJtYXRpb24ge1xuICAgIGlmIChyZXNwb25zZVsnYWZ0ZXJfc3VibWl0X2NhbGxiYWNrX3Jlc3BvbnNlJ10pIHtcbiAgICAgIHJldHVybiBuZXcgQ29uZmlybWF0aW9uKFxuICAgICAgICByZXNwb25zZVsnaWQnXSxcbiAgICAgICAgcmVzcG9uc2VbJ2NhbGxiYWNrX3Jlc3BvbnNlX3N0YXR1cyddLFxuICAgICAgICByZXNwb25zZVsnYWZ0ZXJfc3VibWl0X2NhbGxiYWNrX3Jlc3BvbnNlJ11bJ2NvbmZpcm1hdGlvbl9oZWFkZXInXSxcbiAgICAgICAgcmVzcG9uc2VbJ2FmdGVyX3N1Ym1pdF9jYWxsYmFja19yZXNwb25zZSddWydjb25maXJtYXRpb25fYm9keSddXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25FdmVudENhbkJlQ29tcGxldGVkKHsgZXZlbnRUcmlnZ2VyLCBldmVudENhbkJlQ29tcGxldGVkLCBjYXNlRGV0YWlscywgZm9ybSwgc3VibWl0IH06IENhc2VFZGl0b25FdmVudENhbkJlQ29tcGxldGVkKTogdm9pZCB7XG4gICAgaWYgKGV2ZW50Q2FuQmVDb21wbGV0ZWQpIHtcbiAgICAgIC8vIFN1Ym1pdFxuICAgICAgY29uc3QgY2FzZUV2ZW50RGF0YSA9IHRoaXMuZ2VuZXJhdGVDYXNlRXZlbnREYXRhKHsgZXZlbnRUcmlnZ2VyLCBmb3JtIH0pO1xuICAgICAgdGhpcy5jYXNlU3VibWl0KHsgZm9ybSwgY2FzZUV2ZW50RGF0YSwgc3VibWl0IH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBOYXZpZ2F0ZSB0byB0YXNrcyB0YWIgb24gY2FzZSBkZXRhaWxzIHBhZ2VcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2Nhc2VzL2Nhc2UtZGV0YWlscy8ke3RoaXMuZ2V0Q2FzZUlkKGNhc2VEZXRhaWxzKX0vdGFza3NgXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRTdGF0dXMocmVzcG9uc2U6IG9iamVjdCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaGFzQ2FsbGJhY2tGYWlsZWQocmVzcG9uc2UpID8gcmVzcG9uc2VbJ2NhbGxiYWNrX3Jlc3BvbnNlX3N0YXR1cyddIDogcmVzcG9uc2VbJ2RlbGV0ZV9kcmFmdF9yZXNwb25zZV9zdGF0dXMnXTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzQ2FsbGJhY2tGYWlsZWQocmVzcG9uc2U6IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZXNwb25zZVsnY2FsbGJhY2tfcmVzcG9uc2Vfc3RhdHVzJ10gIT09ICdDQUxMQkFDS19DT01QTEVURUQnO1xuICB9XG59XG4iLCI8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4iXX0=
|