@hmcts/rpx-xui-common-lib 2.1.2-angular-upgrade-11 → 2.1.2-google-analytics
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/README.md +1 -1
- package/esm2022/hmcts-rpx-xui-common-lib.mjs +5 -0
- package/esm2022/lib/components/accessibility/accessibility.component.mjs +833 -0
- package/esm2022/lib/components/checkbox-list/checkbox-list.component.mjs +232 -0
- package/esm2022/lib/components/contact-details/contact-details.component.mjs +123 -0
- package/esm2022/lib/components/cookie-banner/cookie-banner.component.mjs +151 -0
- package/esm2022/lib/components/due-date/due-date.component.mjs +141 -0
- package/esm2022/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +80 -0
- package/esm2022/lib/components/find-location/find-location.component.mjs +220 -0
- package/esm2022/lib/components/find-person/find-person.component.mjs +234 -0
- package/esm2022/lib/components/find-service/find-service.component.mjs +193 -0
- package/esm2022/lib/components/find-task-name/find-task-name.component.mjs +200 -0
- package/esm2022/lib/components/generic-filter/generic-filter-utils.mjs +21 -0
- package/esm2022/lib/components/generic-filter/generic-filter.component.mjs +1224 -0
- package/esm2022/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +56 -0
- package/esm2022/lib/components/index.mjs +2 -0
- package/esm2022/lib/components/invite-user-form/invite-user-form.component.mjs +51 -0
- package/esm2022/lib/components/invite-user-permissions/invite-user-permission.component.mjs +54 -0
- package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +33 -0
- package/esm2022/lib/components/pagination/pagination.component.mjs +92 -0
- package/esm2022/lib/components/public_api.mjs +39 -0
- package/esm2022/lib/components/search-judicials/search-judicials.component.mjs +185 -0
- package/esm2022/lib/components/search-location/search-location.component.mjs +240 -0
- package/esm2022/lib/components/search-service/search-service.component.mjs +94 -0
- package/esm2022/lib/components/search-venue/search-venue.component.mjs +188 -0
- package/esm2022/lib/components/selected-case/selected-case.component.mjs +381 -0
- package/esm2022/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +135 -0
- package/esm2022/lib/components/selected-case-list/selected-case-list.component.mjs +98 -0
- package/esm2022/lib/components/service-message/service-message.component.mjs +62 -0
- package/esm2022/lib/components/service-messages/service-messages.component.mjs +165 -0
- package/esm2022/lib/components/share-case/share-case.component.mjs +427 -0
- package/esm2022/lib/components/share-case-confirm/share-case-confirm.component.mjs +85 -0
- package/esm2022/lib/components/tab/tab.component.mjs +40 -0
- package/esm2022/lib/components/tc-confirm/tc-confirm.component.mjs +66 -0
- package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +17 -0
- package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +17 -0
- package/esm2022/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +58 -0
- package/esm2022/lib/components/user-details/user-details.component.mjs +276 -0
- package/esm2022/lib/components/user-list/user-list.component.mjs +100 -0
- package/esm2022/lib/components/user-select/user-select.component.mjs +94 -0
- package/esm2022/lib/components/write-address/write-address.component.mjs +342 -0
- package/esm2022/lib/components/write-address-inputs/write-address-inputs.component.mjs +165 -0
- package/esm2022/lib/directives/feature-toggle/feature-toggle.directive.mjs +41 -0
- package/esm2022/lib/directives/index.mjs +2 -0
- package/esm2022/lib/directives/let/let.directive.mjs +29 -0
- package/esm2022/lib/directives/public-api.mjs +3 -0
- package/esm2022/lib/exui-common-lib.module.mjs +313 -0
- package/esm2022/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +55 -0
- package/esm2022/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +137 -0
- package/esm2022/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +127 -0
- package/esm2022/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +46 -0
- package/esm2022/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +79 -0
- package/esm2022/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +79 -0
- package/esm2022/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +45 -0
- package/esm2022/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +71 -0
- package/esm2022/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +84 -0
- package/esm2022/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +48 -0
- package/esm2022/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +42 -0
- package/esm2022/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +80 -0
- package/esm2022/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +185 -0
- package/esm2022/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +57 -0
- package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.mjs +2 -0
- package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +111 -0
- package/esm2022/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +140 -0
- package/esm2022/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +34 -0
- package/esm2022/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +129 -0
- package/esm2022/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +204 -0
- package/esm2022/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +60 -0
- package/esm2022/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +58 -0
- package/esm2022/lib/gov-ui/components/index.mjs +2 -0
- package/esm2022/lib/gov-ui/components/public_api.mjs +22 -0
- package/esm2022/lib/gov-ui/directives/remove-host.directive.mjs +30 -0
- package/esm2022/lib/gov-ui/gov-ui.service.mjs +14 -0
- package/esm2022/lib/gov-ui/index.mjs +2 -0
- package/esm2022/lib/gov-ui/models/checkboxes-model.mjs +2 -0
- package/esm2022/lib/gov-ui/models/error-messages-model.mjs +2 -0
- package/esm2022/lib/gov-ui/models/gov-ui-config-model.mjs +2 -0
- package/esm2022/lib/gov-ui/models/index.mjs +2 -0
- package/esm2022/lib/gov-ui/models/public_api.mjs +7 -0
- package/esm2022/lib/gov-ui/models/radio-buttons.model.mjs +2 -0
- package/esm2022/lib/gov-ui/public_api.mjs +8 -0
- package/esm2022/lib/gov-ui/util/helpers/html-templates.helper.mjs +22 -0
- package/esm2022/lib/gov-ui/validators/checkboxes-be-checked.validator.mjs +18 -0
- package/esm2022/lib/gov-ui/validators/date.validator.mjs +15 -0
- package/esm2022/lib/gov-ui/validators/index.mjs +2 -0
- package/esm2022/lib/gov-ui/validators/public_api.mjs +7 -0
- package/esm2022/lib/gov-ui/validators/radio-group.validator.mjs +15 -0
- package/esm2022/lib/models/address-message.enum.mjs +11 -0
- package/esm2022/lib/models/address-option.model.mjs +21 -0
- package/esm2022/lib/models/address.model.mjs +4 -0
- package/esm2022/lib/models/case-share.model.mjs +7 -0
- package/esm2022/lib/models/contact-details.model.mjs +7 -0
- package/esm2022/lib/models/due-date.model.mjs +8 -0
- package/esm2022/lib/models/feature-user.mjs +5 -0
- package/esm2022/lib/models/filter.model.mjs +3 -0
- package/esm2022/lib/models/idle-config.model.mjs +2 -0
- package/esm2022/lib/models/index.mjs +19 -0
- package/esm2022/lib/models/location.model.mjs +7 -0
- package/esm2022/lib/models/pagination.model.mjs +2 -0
- package/esm2022/lib/models/person.model.mjs +19 -0
- package/esm2022/lib/models/public_api.mjs +7 -0
- package/esm2022/lib/models/search-options.model.mjs +2 -0
- package/esm2022/lib/models/service-message.model.mjs +2 -0
- package/esm2022/lib/models/task-name.model.mjs +2 -0
- package/esm2022/lib/models/tcDocument.model.mjs +2 -0
- package/esm2022/lib/models/timeout-notification.model.mjs +2 -0
- package/esm2022/lib/models/user-access-type.model.mjs +2 -0
- package/esm2022/lib/models/user-details.model.mjs +2 -0
- package/esm2022/lib/models/user.model.mjs +2 -0
- package/esm2022/lib/pipes/capitalize/capitalize.pipe.mjs +15 -0
- package/esm2022/lib/pipes/index.mjs +2 -0
- package/esm2022/lib/services/address/address-parser.mjs +76 -0
- package/esm2022/lib/services/address/address-type.enum.mjs +7 -0
- package/esm2022/lib/services/address/address.service.mjs +55 -0
- package/esm2022/lib/services/case-sharing-state/case-sharing-state.service.mjs +170 -0
- package/esm2022/lib/services/cookie/cookie.service.mjs +48 -0
- package/esm2022/lib/services/feature-toggle/feature-toggle.guard.mjs +37 -0
- package/esm2022/lib/services/feature-toggle/feature-toggle.service.mjs +33 -0
- package/esm2022/lib/services/feature-toggle/launch-darkly.service.mjs +65 -0
- package/esm2022/lib/services/filter/filter.service.mjs +95 -0
- package/esm2022/lib/services/find-person/find-person.service.mjs +92 -0
- package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +73 -0
- package/esm2022/lib/services/google-tag-manager/google-tag-manager.service.mjs +85 -0
- package/esm2022/lib/services/index.mjs +2 -0
- package/esm2022/lib/services/loading/loading.service.mjs +41 -0
- package/esm2022/lib/services/locations/location.service.mjs +38 -0
- package/esm2022/lib/services/manage-session/manage-session.services.mjs +50 -0
- package/esm2022/lib/services/public-api.mjs +18 -0
- package/esm2022/lib/services/ref-data/index.mjs +4 -0
- package/esm2022/lib/services/ref-data/models/ref-data-htmcs-service.model.mjs +2 -0
- package/esm2022/lib/services/ref-data/models/ref-data-region.model.mjs +2 -0
- package/esm2022/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.mjs +2 -0
- package/esm2022/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +33 -0
- package/esm2022/lib/services/ref-data/ref-data.service.mjs +34 -0
- package/esm2022/lib/services/role-guard/role.guard.mjs +43 -0
- package/esm2022/lib/services/role-guard/role.service.mjs +22 -0
- package/esm2022/lib/services/storage/session-storage/session-storage.service.mjs +43 -0
- package/esm2022/lib/services/task-name/task-name.service.mjs +35 -0
- package/esm2022/lib/services/timeout-notifications/timeout-notifications.service.mjs +103 -0
- package/esm2022/lib/window.mjs +4 -0
- package/esm2022/public-api.mjs +12 -0
- package/fesm2022/hmcts-rpx-xui-common-lib.mjs +10377 -0
- package/fesm2022/hmcts-rpx-xui-common-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/accessibility/accessibility.component.d.ts +7 -1
- package/lib/components/checkbox-list/checkbox-list.component.d.ts +14 -7
- package/lib/components/contact-details/contact-details.component.d.ts +3 -0
- package/lib/components/cookie-banner/cookie-banner.component.d.ts +5 -1
- package/lib/components/due-date/due-date.component.d.ts +12 -6
- package/lib/components/exui-main-wrapper/exui-page-wrapper.component.d.ts +3 -0
- package/lib/components/find-location/find-location.component.d.ts +16 -8
- package/lib/components/find-person/find-person.component.d.ts +5 -2
- package/lib/components/find-service/find-service.component.d.ts +29 -0
- package/lib/components/find-task-name/find-task-name.component.d.ts +44 -0
- package/lib/components/generic-filter/generic-filter-utils.d.ts +2 -5
- package/lib/components/generic-filter/generic-filter.component.d.ts +29 -8
- package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +3 -0
- package/lib/components/invite-user-form/invite-user-form.component.d.ts +4 -1
- package/lib/components/invite-user-permissions/invite-user-permission.component.d.ts +3 -0
- package/lib/components/loading-spinner/loading-spinner.component.d.ts +8 -1
- package/lib/components/pagination/pagination.component.d.ts +3 -0
- package/lib/components/public_api.d.ts +11 -0
- package/lib/components/search-judicials/search-judicials.component.d.ts +4 -1
- package/lib/components/search-location/search-location.component.d.ts +27 -20
- package/lib/components/search-service/search-service.component.d.ts +20 -0
- package/lib/components/search-venue/search-venue.component.d.ts +4 -2
- package/lib/components/selected-case/selected-case.component.d.ts +4 -1
- package/lib/components/selected-case-confirm/selected-case-confirm.component.d.ts +3 -0
- package/lib/components/selected-case-list/selected-case-list.component.d.ts +4 -0
- package/lib/components/service-message/service-message.component.d.ts +9 -4
- package/lib/components/service-messages/service-messages.component.d.ts +15 -5
- package/lib/components/share-case/share-case.component.d.ts +41 -2
- package/lib/components/share-case-confirm/share-case-confirm.component.d.ts +3 -0
- package/lib/components/tab/tab.component.d.ts +3 -0
- package/lib/components/tc-confirm/tc-confirm.component.d.ts +3 -0
- package/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.d.ts +3 -0
- package/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.d.ts +3 -0
- package/lib/components/terms-and-conditions/terms-and-conditions.component.d.ts +3 -0
- package/lib/components/user-details/user-details.component.d.ts +4 -0
- package/lib/components/user-list/user-list.component.d.ts +3 -0
- package/lib/components/user-select/user-select.component.d.ts +5 -3
- package/lib/components/write-address/write-address.component.d.ts +45 -0
- package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +16 -0
- package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +4 -1
- package/lib/directives/let/let.directive.d.ts +4 -1
- package/lib/exui-common-lib.module.d.ts +83 -4
- package/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +17 -5
- package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +4 -2
- package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +4 -0
- package/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +5 -2
- package/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.d.ts +3 -0
- package/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.d.ts +3 -0
- package/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.d.ts +7 -0
- package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +7 -2
- package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +4 -1
- package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +4 -1
- package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +6 -3
- package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +3 -0
- package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +4 -1
- package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +3 -0
- package/lib/gov-ui/components/public_api.d.ts +20 -0
- package/lib/gov-ui/directives/remove-host.directive.d.ts +3 -0
- package/lib/gov-ui/gov-ui.service.d.ts +3 -0
- package/lib/gov-ui/models/checkboxes-model.d.ts +4 -7
- package/lib/gov-ui/models/gov-ui-config-model.d.ts +2 -0
- package/lib/gov-ui/models/public_api.d.ts +0 -1
- package/lib/gov-ui/models/radio-buttons.model.d.ts +9 -0
- package/lib/gov-ui/public_api.d.ts +1 -0
- package/lib/models/address-message.enum.d.ts +9 -0
- package/lib/models/address-option.model.d.ts +9 -0
- package/lib/models/address.model.d.ts +9 -0
- package/lib/models/case-share.model.d.ts +5 -0
- package/lib/models/contact-details.model.d.ts +4 -0
- package/lib/models/feature-user.d.ts +4 -6
- package/lib/models/filter.model.d.ts +43 -9
- package/lib/models/index.d.ts +4 -0
- package/lib/models/location.model.d.ts +12 -12
- package/lib/models/person.model.d.ts +3 -0
- package/lib/models/public_api.d.ts +1 -0
- package/lib/models/search-options.model.d.ts +1 -1
- package/lib/models/service-message.model.d.ts +8 -0
- package/lib/models/task-name.model.d.ts +4 -0
- package/lib/models/user-access-type.model.d.ts +6 -0
- package/lib/models/user-details.model.d.ts +2 -0
- package/lib/pipes/capitalize/capitalize.pipe.d.ts +7 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/services/address/address-parser.d.ts +17 -0
- package/lib/services/address/address-type.enum.d.ts +5 -0
- package/lib/services/address/address.service.d.ts +15 -0
- package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +5 -2
- package/lib/services/cookie/cookie.service.d.ts +3 -0
- package/lib/services/feature-toggle/feature-toggle.guard.d.ts +8 -2
- package/lib/services/feature-toggle/feature-toggle.service.d.ts +4 -0
- package/lib/services/feature-toggle/launch-darkly.service.d.ts +14 -10
- package/lib/services/filter/filter.service.d.ts +6 -0
- package/lib/services/find-person/find-person.service.d.ts +5 -2
- package/lib/services/google-analytics/google-analytics.service.d.ts +4 -1
- package/lib/services/google-tag-manager/google-tag-manager.service.d.ts +5 -1
- package/lib/services/loading/loading.service.d.ts +5 -2
- package/lib/services/locations/location.service.d.ts +4 -1
- package/lib/services/manage-session/manage-session.services.d.ts +3 -0
- package/lib/services/public-api.d.ts +2 -4
- package/lib/services/ref-data/index.d.ts +3 -0
- package/lib/services/ref-data/models/ref-data-htmcs-service.model.d.ts +13 -0
- package/lib/services/ref-data/models/ref-data-region.model.d.ts +4 -0
- package/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.d.ts +8 -0
- package/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.d.ts +18 -0
- package/lib/services/ref-data/ref-data.service.d.ts +17 -0
- package/lib/services/role-guard/role.guard.d.ts +7 -3
- package/lib/services/role-guard/role.service.d.ts +9 -4
- package/lib/services/{session-storage → storage/session-storage}/session-storage.service.d.ts +3 -0
- package/lib/services/task-name/task-name.service.d.ts +17 -0
- package/lib/services/timeout-notifications/timeout-notifications.service.d.ts +8 -2
- package/lib/window.d.ts +1 -1
- package/package.json +22 -22
- package/public-api.d.ts +1 -0
- package/bundles/hmcts-rpx-xui-common-lib.umd.js +0 -9742
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +0 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +0 -16
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +0 -1
- package/esm2015/hmcts-rpx-xui-common-lib.js +0 -73
- package/esm2015/lib/components/accessibility/accessibility.component.js +0 -20
- package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +0 -275
- package/esm2015/lib/components/contact-details/contact-details.component.js +0 -27
- package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +0 -129
- package/esm2015/lib/components/due-date/due-date.component.js +0 -210
- package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +0 -42
- package/esm2015/lib/components/find-location/find-location.component.js +0 -240
- package/esm2015/lib/components/find-person/find-person.component.js +0 -259
- package/esm2015/lib/components/generic-filter/generic-filter-utils.js +0 -65
- package/esm2015/lib/components/generic-filter/generic-filter.component.js +0 -636
- package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +0 -42
- package/esm2015/lib/components/index.js +0 -7
- package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +0 -45
- package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +0 -44
- package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +0 -27
- package/esm2015/lib/components/pagination/pagination.component.js +0 -50
- package/esm2015/lib/components/public_api.js +0 -33
- package/esm2015/lib/components/search-judicials/search-judicials.component.js +0 -249
- package/esm2015/lib/components/search-location/search-location.component.js +0 -294
- package/esm2015/lib/components/search-venue/search-venue.component.js +0 -246
- package/esm2015/lib/components/selected-case/selected-case.component.js +0 -316
- package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +0 -74
- package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +0 -94
- package/esm2015/lib/components/service-message/service-message.component.js +0 -40
- package/esm2015/lib/components/service-messages/service-messages.component.js +0 -106
- package/esm2015/lib/components/share-case/share-case.component.js +0 -172
- package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +0 -67
- package/esm2015/lib/components/tab/tab.component.js +0 -45
- package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +0 -37
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +0 -19
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +0 -19
- package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +0 -26
- package/esm2015/lib/components/user-details/user-details.component.js +0 -78
- package/esm2015/lib/components/user-list/user-list.component.js +0 -63
- package/esm2015/lib/components/user-select/user-select.component.js +0 -105
- package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +0 -95
- package/esm2015/lib/directives/index.js +0 -7
- package/esm2015/lib/directives/let/let.directive.js +0 -68
- package/esm2015/lib/directives/public-api.js +0 -8
- package/esm2015/lib/exui-common-lib.module.js +0 -162
- package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +0 -51
- package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +0 -32
- package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +0 -114
- package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +0 -34
- package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -43
- package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +0 -57
- package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +0 -37
- package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +0 -54
- package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +0 -31
- package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +0 -51
- package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +0 -32
- package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +0 -46
- package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +0 -69
- package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +0 -43
- package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +0 -35
- package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +0 -90
- package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +0 -33
- package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +0 -75
- package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +0 -49
- package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +0 -43
- package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +0 -42
- package/esm2015/lib/gov-ui/components/index.js +0 -7
- package/esm2015/lib/gov-ui/components/public_api.js +0 -7
- package/esm2015/lib/gov-ui/directives/remove-host.directive.js +0 -50
- package/esm2015/lib/gov-ui/gov-ui.service.js +0 -19
- package/esm2015/lib/gov-ui/index.js +0 -7
- package/esm2015/lib/gov-ui/models/banner-data-model.js +0 -16
- package/esm2015/lib/gov-ui/models/checkboxes-model.js +0 -22
- package/esm2015/lib/gov-ui/models/error-messages-model.js +0 -16
- package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +0 -36
- package/esm2015/lib/gov-ui/models/index.js +0 -7
- package/esm2015/lib/gov-ui/models/isession-storage.interface.js +0 -24
- package/esm2015/lib/gov-ui/models/public_api.js +0 -13
- package/esm2015/lib/gov-ui/public_api.js +0 -12
- package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +0 -32
- package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +0 -58
- package/esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js +0 -37
- package/esm2015/lib/gov-ui/validators/date.validator.js +0 -32
- package/esm2015/lib/gov-ui/validators/index.js +0 -7
- package/esm2015/lib/gov-ui/validators/public_api.js +0 -12
- package/esm2015/lib/gov-ui/validators/radio-group.validator.js +0 -27
- package/esm2015/lib/models/case-share.model.js +0 -26
- package/esm2015/lib/models/contact-details.model.js +0 -31
- package/esm2015/lib/models/due-date.model.js +0 -15
- package/esm2015/lib/models/feature-user.js +0 -20
- package/esm2015/lib/models/filter.model.js +0 -120
- package/esm2015/lib/models/idle-config.model.js +0 -20
- package/esm2015/lib/models/index.js +0 -20
- package/esm2015/lib/models/location.model.js +0 -129
- package/esm2015/lib/models/pagination.model.js +0 -18
- package/esm2015/lib/models/person.model.js +0 -92
- package/esm2015/lib/models/public_api.js +0 -11
- package/esm2015/lib/models/search-options.model.js +0 -22
- package/esm2015/lib/models/tcDocument.model.js +0 -18
- package/esm2015/lib/models/timeout-notification.model.js +0 -18
- package/esm2015/lib/models/user-details.model.js +0 -22
- package/esm2015/lib/models/user.model.js +0 -25
- package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +0 -218
- package/esm2015/lib/services/cookie/cookie.service.js +0 -110
- package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +0 -74
- package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +0 -53
- package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +0 -141
- package/esm2015/lib/services/filter/filter.service.js +0 -118
- package/esm2015/lib/services/find-person/find-person.service.js +0 -214
- package/esm2015/lib/services/google-analytics/google-analytics.service.js +0 -123
- package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +0 -125
- package/esm2015/lib/services/index.js +0 -7
- package/esm2015/lib/services/loading/loading.service.js +0 -78
- package/esm2015/lib/services/locations/location.service.js +0 -57
- package/esm2015/lib/services/manage-session/manage-session.services.js +0 -105
- package/esm2015/lib/services/public-api.js +0 -25
- package/esm2015/lib/services/role-guard/role.guard.js +0 -78
- package/esm2015/lib/services/role-guard/role.service.js +0 -39
- package/esm2015/lib/services/session-storage/session-storage.service.js +0 -55
- package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +0 -158
- package/esm2015/lib/window.js +0 -13
- package/esm2015/public-api.js +0 -16
- package/esm5/hmcts-rpx-xui-common-lib.js +0 -73
- package/esm5/lib/components/accessibility/accessibility.component.js +0 -22
- package/esm5/lib/components/checkbox-list/checkbox-list.component.js +0 -391
- package/esm5/lib/components/contact-details/contact-details.component.js +0 -29
- package/esm5/lib/components/cookie-banner/cookie-banner.component.js +0 -154
- package/esm5/lib/components/due-date/due-date.component.js +0 -254
- package/esm5/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +0 -45
- package/esm5/lib/components/find-location/find-location.component.js +0 -293
- package/esm5/lib/components/find-person/find-person.component.js +0 -286
- package/esm5/lib/components/generic-filter/generic-filter-utils.js +0 -66
- package/esm5/lib/components/generic-filter/generic-filter.component.js +0 -839
- package/esm5/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +0 -47
- package/esm5/lib/components/index.js +0 -7
- package/esm5/lib/components/invite-user-form/invite-user-form.component.js +0 -54
- package/esm5/lib/components/invite-user-permissions/invite-user-permission.component.js +0 -46
- package/esm5/lib/components/loading-spinner/loading-spinner.component.js +0 -29
- package/esm5/lib/components/pagination/pagination.component.js +0 -58
- package/esm5/lib/components/public_api.js +0 -33
- package/esm5/lib/components/search-judicials/search-judicials.component.js +0 -291
- package/esm5/lib/components/search-location/search-location.component.js +0 -330
- package/esm5/lib/components/search-venue/search-venue.component.js +0 -290
- package/esm5/lib/components/selected-case/selected-case.component.js +0 -430
- package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +0 -84
- package/esm5/lib/components/selected-case-list/selected-case-list.component.js +0 -109
- package/esm5/lib/components/service-message/service-message.component.js +0 -46
- package/esm5/lib/components/service-messages/service-messages.component.js +0 -122
- package/esm5/lib/components/share-case/share-case.component.js +0 -223
- package/esm5/lib/components/share-case-confirm/share-case-confirm.component.js +0 -70
- package/esm5/lib/components/tab/tab.component.js +0 -51
- package/esm5/lib/components/tc-confirm/tc-confirm.component.js +0 -42
- package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +0 -22
- package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +0 -22
- package/esm5/lib/components/terms-and-conditions/terms-and-conditions.component.js +0 -29
- package/esm5/lib/components/user-details/user-details.component.js +0 -92
- package/esm5/lib/components/user-list/user-list.component.js +0 -76
- package/esm5/lib/components/user-select/user-select.component.js +0 -131
- package/esm5/lib/directives/feature-toggle/feature-toggle.directive.js +0 -104
- package/esm5/lib/directives/index.js +0 -7
- package/esm5/lib/directives/let/let.directive.js +0 -78
- package/esm5/lib/directives/public-api.js +0 -8
- package/esm5/lib/exui-common-lib.module.js +0 -162
- package/esm5/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +0 -56
- package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +0 -36
- package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +0 -135
- package/esm5/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +0 -37
- package/esm5/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -49
- package/esm5/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +0 -65
- package/esm5/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +0 -40
- package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +0 -66
- package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +0 -34
- package/esm5/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +0 -67
- package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +0 -36
- package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +0 -52
- package/esm5/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +0 -77
- package/esm5/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +0 -50
- package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +0 -38
- package/esm5/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +0 -108
- package/esm5/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +0 -40
- package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +0 -87
- package/esm5/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +0 -51
- package/esm5/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +0 -49
- package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +0 -46
- package/esm5/lib/gov-ui/components/index.js +0 -7
- package/esm5/lib/gov-ui/components/public_api.js +0 -7
- package/esm5/lib/gov-ui/directives/remove-host.directive.js +0 -52
- package/esm5/lib/gov-ui/gov-ui.service.js +0 -22
- package/esm5/lib/gov-ui/index.js +0 -7
- package/esm5/lib/gov-ui/models/banner-data-model.js +0 -16
- package/esm5/lib/gov-ui/models/checkboxes-model.js +0 -22
- package/esm5/lib/gov-ui/models/error-messages-model.js +0 -16
- package/esm5/lib/gov-ui/models/gov-ui-config-model.js +0 -36
- package/esm5/lib/gov-ui/models/index.js +0 -7
- package/esm5/lib/gov-ui/models/isession-storage.interface.js +0 -24
- package/esm5/lib/gov-ui/models/public_api.js +0 -13
- package/esm5/lib/gov-ui/public_api.js +0 -12
- package/esm5/lib/gov-ui/util/helpers/html-templates.helper.js +0 -57
- package/esm5/lib/gov-ui/util/session-storage/session-storage-utils.js +0 -58
- package/esm5/lib/gov-ui/validators/checkboxes-be-checked.validator.js +0 -38
- package/esm5/lib/gov-ui/validators/date.validator.js +0 -32
- package/esm5/lib/gov-ui/validators/index.js +0 -7
- package/esm5/lib/gov-ui/validators/public_api.js +0 -12
- package/esm5/lib/gov-ui/validators/radio-group.validator.js +0 -27
- package/esm5/lib/models/case-share.model.js +0 -26
- package/esm5/lib/models/contact-details.model.js +0 -31
- package/esm5/lib/models/due-date.model.js +0 -15
- package/esm5/lib/models/feature-user.js +0 -28
- package/esm5/lib/models/filter.model.js +0 -124
- package/esm5/lib/models/idle-config.model.js +0 -20
- package/esm5/lib/models/index.js +0 -20
- package/esm5/lib/models/location.model.js +0 -129
- package/esm5/lib/models/pagination.model.js +0 -18
- package/esm5/lib/models/person.model.js +0 -92
- package/esm5/lib/models/public_api.js +0 -11
- package/esm5/lib/models/search-options.model.js +0 -22
- package/esm5/lib/models/tcDocument.model.js +0 -18
- package/esm5/lib/models/timeout-notification.model.js +0 -18
- package/esm5/lib/models/user-details.model.js +0 -22
- package/esm5/lib/models/user.model.js +0 -25
- package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +0 -289
- package/esm5/lib/services/cookie/cookie.service.js +0 -136
- package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +0 -89
- package/esm5/lib/services/feature-toggle/feature-toggle.service.js +0 -90
- package/esm5/lib/services/feature-toggle/launch-darkly.service.js +0 -187
- package/esm5/lib/services/filter/filter.service.js +0 -153
- package/esm5/lib/services/find-person/find-person.service.js +0 -238
- package/esm5/lib/services/google-analytics/google-analytics.service.js +0 -128
- package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +0 -135
- package/esm5/lib/services/index.js +0 -7
- package/esm5/lib/services/loading/loading.service.js +0 -109
- package/esm5/lib/services/locations/location.service.js +0 -86
- package/esm5/lib/services/manage-session/manage-session.services.js +0 -111
- package/esm5/lib/services/public-api.js +0 -25
- package/esm5/lib/services/role-guard/role.guard.js +0 -81
- package/esm5/lib/services/role-guard/role.service.js +0 -45
- package/esm5/lib/services/session-storage/session-storage.service.js +0 -96
- package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +0 -190
- package/esm5/lib/window.js +0 -13
- package/esm5/public-api.js +0 -16
- package/fesm2015/hmcts-rpx-xui-common-lib.js +0 -7973
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +0 -1
- package/fesm5/hmcts-rpx-xui-common-lib.js +0 -9423
- package/fesm5/hmcts-rpx-xui-common-lib.js.map +0 -1
- package/hmcts-rpx-xui-common-lib.d.ts +0 -67
- package/hmcts-rpx-xui-common-lib.metadata.json +0 -1
- package/lib/gov-ui/models/banner-data-model.d.ts +0 -4
- package/lib/gov-ui/models/isession-storage.interface.d.ts +0 -4
- package/lib/gov-ui/util/session-storage/session-storage-utils.d.ts +0 -6
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/components/due-date/due-date.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { formatDate } from '@angular/common';
|
|
7
|
-
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
8
|
-
import { DateBadgeColour, SECONDS_IN_A_DAY } from '../../models/due-date.model';
|
|
9
|
-
export class DueDateComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
/**
|
|
12
|
-
* This should be considered HIGH urgency if there are fewer than this
|
|
13
|
-
* many days until the due date.
|
|
14
|
-
* * Set to 0 if you want it to show HIGH if it was due yesterday.
|
|
15
|
-
* * Set to 1 if you want it to show HIGH if it's due today.
|
|
16
|
-
* * Set to 2 if you want it to show HIGH if it's due tomorrow.
|
|
17
|
-
*
|
|
18
|
-
* Defaults to 0 (ZERO), which means it won't show as HIGH urgency until the
|
|
19
|
-
* due date is in the past.
|
|
20
|
-
*
|
|
21
|
-
* NOTE: If this is higher than the mediumUrgencyCutoff value, MEDIUM urgency
|
|
22
|
-
* will never be shown.
|
|
23
|
-
*
|
|
24
|
-
* ALSO NOTE: Anything overdue is automatically considered HIGH urgency.
|
|
25
|
-
*/
|
|
26
|
-
this.highUrgencyCutoff = 0; // Default
|
|
27
|
-
// Default
|
|
28
|
-
/**
|
|
29
|
-
* This should be considered MEDIUM urgency if there are fewer than this
|
|
30
|
-
* many days until the due date.
|
|
31
|
-
* * Set to 1 if you want it to show MEDIUM if it's due today.
|
|
32
|
-
* * Set to 2 if you want it to show MEDIUM if it's due tomorrow.
|
|
33
|
-
* * Set to 3 if you want it to show MEDIUM if it's due the day after tomorrow.
|
|
34
|
-
*
|
|
35
|
-
* Defaults to 2, which means it won't show as MEDIUM urgency unless the
|
|
36
|
-
* due date is today or tomorrow.
|
|
37
|
-
*
|
|
38
|
-
* NOTE: If this is lower than the highUrgencyCutoff value, MEDIUM urgency
|
|
39
|
-
* will never be shown.
|
|
40
|
-
*/
|
|
41
|
-
this.mediumUrgencyCutoff = 2;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* @return {?}
|
|
45
|
-
*/
|
|
46
|
-
get badge() {
|
|
47
|
-
return this.pBadge;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* @return {?}
|
|
51
|
-
*/
|
|
52
|
-
get label() {
|
|
53
|
-
return this.pLabel;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* @return {?}
|
|
57
|
-
*/
|
|
58
|
-
get accessibleLabel() {
|
|
59
|
-
return this.pAccessibleLabel;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* @return {?}
|
|
63
|
-
*/
|
|
64
|
-
get daysDiff() {
|
|
65
|
-
return this.pDaysDiff;
|
|
66
|
-
}
|
|
67
|
-
// Catch any changes to any of the Input() properties.
|
|
68
|
-
/**
|
|
69
|
-
* @return {?}
|
|
70
|
-
*/
|
|
71
|
-
ngOnChanges() {
|
|
72
|
-
this.handleInputChanges();
|
|
73
|
-
}
|
|
74
|
-
// Set up the label, urgency class, and accessibility fields.
|
|
75
|
-
/**
|
|
76
|
-
* @private
|
|
77
|
-
* @return {?}
|
|
78
|
-
*/
|
|
79
|
-
handleInputChanges() {
|
|
80
|
-
// If we don't have a dueDate, skip out of here.
|
|
81
|
-
if (!this.dueDate) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
// How many days from today is the due date?
|
|
85
|
-
// Already happened means daysDiff > 0;
|
|
86
|
-
// Today means daysDiff = 0;
|
|
87
|
-
// Yet to come means daysDiff < 0;
|
|
88
|
-
this.pDaysDiff = this.getDaysDifference(this.dueDate, new Date());
|
|
89
|
-
// Is it overdue?
|
|
90
|
-
if (this.daysDiff > 0) {
|
|
91
|
-
this.pBadge = DateBadgeColour.RED;
|
|
92
|
-
/** @type {?} */
|
|
93
|
-
const daysLabel = this.daysDiff === 1 ? 'day' : 'days';
|
|
94
|
-
this.pLabel = `+${this.daysDiff} ${daysLabel}`;
|
|
95
|
-
this.pAccessibleLabel = `This task is ${this.daysDiff} ${daysLabel} past its due date`;
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
// Special label for "Today".
|
|
99
|
-
if (this.daysDiff === 0) {
|
|
100
|
-
this.pLabel = 'TODAY';
|
|
101
|
-
this.pAccessibleLabel = 'This task is due to be completed today';
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
this.pLabel = `${formatDate(this.dueDate, 'd MMM', 'en-GB')}`;
|
|
105
|
-
this.pAccessibleLabel = `This task is due to be completed by ${formatDate(this.dueDate, 'd MMMM y', 'en-GB')}`;
|
|
106
|
-
}
|
|
107
|
-
if (this.daysDiff + this.highUrgencyCutoff > 0) {
|
|
108
|
-
this.pBadge = DateBadgeColour.RED;
|
|
109
|
-
}
|
|
110
|
-
else if (this.daysDiff + this.mediumUrgencyCutoff > 0) {
|
|
111
|
-
this.pBadge = DateBadgeColour.ORANGE;
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
this.pBadge = DateBadgeColour.GREEN;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
// This will return the difference between two dates.
|
|
119
|
-
// If fromDate is BEFORE toDate, it will be a positive number.
|
|
120
|
-
// If fromDate is AFTER toDate, it will be a negative number.
|
|
121
|
-
/**
|
|
122
|
-
* @private
|
|
123
|
-
* @param {?} fromDate
|
|
124
|
-
* @param {?} toDate
|
|
125
|
-
* @return {?}
|
|
126
|
-
*/
|
|
127
|
-
getDaysDifference(fromDate, toDate) {
|
|
128
|
-
/** @type {?} */
|
|
129
|
-
const fromEpoch = fromDate.getTime();
|
|
130
|
-
/** @type {?} */
|
|
131
|
-
const toEpoch = toDate.getTime();
|
|
132
|
-
/** @type {?} */
|
|
133
|
-
const diffSecs = Math.floor((toEpoch - fromEpoch) / 1000);
|
|
134
|
-
return Math.floor(diffSecs / SECONDS_IN_A_DAY);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
DueDateComponent.decorators = [
|
|
138
|
-
{ type: Component, args: [{
|
|
139
|
-
selector: 'xuilib-due-date',
|
|
140
|
-
template: "<span *ngIf=\"dueDate\" class=\"due-date hmcts-badge\" [ngClass]=\"badge\"\n [title]=\"accessibleLabel\" [attr.aria-label]=\"accessibleLabel\">\n {{label}}\n</span>",
|
|
141
|
-
encapsulation: ViewEncapsulation.None,
|
|
142
|
-
styles: [".due-date{white-space:nowrap}.due-date.hmcts-badge--orange{color:#f47738;border-color:#f47738}"]
|
|
143
|
-
}] }
|
|
144
|
-
];
|
|
145
|
-
DueDateComponent.propDecorators = {
|
|
146
|
-
dueDate: [{ type: Input }],
|
|
147
|
-
highUrgencyCutoff: [{ type: Input }],
|
|
148
|
-
mediumUrgencyCutoff: [{ type: Input }]
|
|
149
|
-
};
|
|
150
|
-
if (false) {
|
|
151
|
-
/**
|
|
152
|
-
* The due date to use as the basis for rendering this component. It is
|
|
153
|
-
* compared to the current date and displayed accordingly.
|
|
154
|
-
* @type {?}
|
|
155
|
-
*/
|
|
156
|
-
DueDateComponent.prototype.dueDate;
|
|
157
|
-
/**
|
|
158
|
-
* This should be considered HIGH urgency if there are fewer than this
|
|
159
|
-
* many days until the due date.
|
|
160
|
-
* * Set to 0 if you want it to show HIGH if it was due yesterday.
|
|
161
|
-
* * Set to 1 if you want it to show HIGH if it's due today.
|
|
162
|
-
* * Set to 2 if you want it to show HIGH if it's due tomorrow.
|
|
163
|
-
*
|
|
164
|
-
* Defaults to 0 (ZERO), which means it won't show as HIGH urgency until the
|
|
165
|
-
* due date is in the past.
|
|
166
|
-
*
|
|
167
|
-
* NOTE: If this is higher than the mediumUrgencyCutoff value, MEDIUM urgency
|
|
168
|
-
* will never be shown.
|
|
169
|
-
*
|
|
170
|
-
* ALSO NOTE: Anything overdue is automatically considered HIGH urgency.
|
|
171
|
-
* @type {?}
|
|
172
|
-
*/
|
|
173
|
-
DueDateComponent.prototype.highUrgencyCutoff;
|
|
174
|
-
/**
|
|
175
|
-
* This should be considered MEDIUM urgency if there are fewer than this
|
|
176
|
-
* many days until the due date.
|
|
177
|
-
* * Set to 1 if you want it to show MEDIUM if it's due today.
|
|
178
|
-
* * Set to 2 if you want it to show MEDIUM if it's due tomorrow.
|
|
179
|
-
* * Set to 3 if you want it to show MEDIUM if it's due the day after tomorrow.
|
|
180
|
-
*
|
|
181
|
-
* Defaults to 2, which means it won't show as MEDIUM urgency unless the
|
|
182
|
-
* due date is today or tomorrow.
|
|
183
|
-
*
|
|
184
|
-
* NOTE: If this is lower than the highUrgencyCutoff value, MEDIUM urgency
|
|
185
|
-
* will never be shown.
|
|
186
|
-
* @type {?}
|
|
187
|
-
*/
|
|
188
|
-
DueDateComponent.prototype.mediumUrgencyCutoff;
|
|
189
|
-
/**
|
|
190
|
-
* @type {?}
|
|
191
|
-
* @private
|
|
192
|
-
*/
|
|
193
|
-
DueDateComponent.prototype.pBadge;
|
|
194
|
-
/**
|
|
195
|
-
* @type {?}
|
|
196
|
-
* @private
|
|
197
|
-
*/
|
|
198
|
-
DueDateComponent.prototype.pLabel;
|
|
199
|
-
/**
|
|
200
|
-
* @type {?}
|
|
201
|
-
* @private
|
|
202
|
-
*/
|
|
203
|
-
DueDateComponent.prototype.pAccessibleLabel;
|
|
204
|
-
/**
|
|
205
|
-
* @type {?}
|
|
206
|
-
* @private
|
|
207
|
-
*/
|
|
208
|
-
DueDateComponent.prototype.pDaysDiff;
|
|
209
|
-
}
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVlLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2R1ZS1kYXRlL2R1ZS1kYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFRaEYsTUFBTSxPQUFPLGdCQUFnQjtJQU43Qjs7Ozs7Ozs7Ozs7Ozs7OztRQTZCa0Isc0JBQWlCLEdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVTs7Ozs7Ozs7Ozs7Ozs7O1FBZXpDLHdCQUFtQixHQUFXLENBQUMsQ0FBQztJQThFbEQsQ0FBQzs7OztJQTFFQyxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQzs7OztJQUlELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDOzs7O0lBSUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7Ozs7SUFJRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7Ozs7O0lBR00sV0FBVztRQUNoQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7Ozs7SUFHTyxrQkFBa0I7UUFDeEIsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUVELDRDQUE0QztRQUM1Qyx1Q0FBdUM7UUFDdkMsNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVsRSxpQkFBaUI7UUFDakIsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUM7O2tCQUM1QixTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTTtZQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxvQkFBb0IsQ0FBQztTQUN4RjthQUFNO1lBQ0wsNkJBQTZCO1lBQzdCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO2dCQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsd0NBQXdDLENBQUM7YUFDbEU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUM5RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsdUNBQXVDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2FBQ2hIO1lBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQzthQUNuQztpQkFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsRUFBRTtnQkFDdkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQ3RDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQzthQUNyQztTQUNGO0lBQ0gsQ0FBQzs7Ozs7Ozs7OztJQUtPLGlCQUFpQixDQUFDLFFBQWMsRUFBRSxNQUFZOztjQUM5QyxTQUFTLEdBQUcsUUFBUSxDQUFDLE9BQU8sRUFBRTs7Y0FDOUIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUU7O2NBQzFCLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLENBQUM7SUFDakQsQ0FBQzs7O1lBekhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixzTEFBc0M7Z0JBRXRDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOzthQUN0Qzs7O3NCQU9FLEtBQUs7Z0NBaUJMLEtBQUs7a0NBZUwsS0FBSzs7Ozs7Ozs7SUFoQ04sbUNBQThCOzs7Ozs7Ozs7Ozs7Ozs7OztJQWlCOUIsNkNBQThDOzs7Ozs7Ozs7Ozs7Ozs7SUFlOUMsK0NBQWdEOzs7OztJQUdoRCxrQ0FBdUI7Ozs7O0lBTXZCLGtDQUF1Qjs7Ozs7SUFNdkIsNENBQWlDOzs7OztJQU1qQyxxQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRGF0ZUJhZGdlQ29sb3VyLCBTRUNPTkRTX0lOX0FfREFZIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R1ZS1kYXRlLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLWR1ZS1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICdkdWUtZGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydkdWUtZGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIER1ZURhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIC8qKlxuICAgKiBUaGUgZHVlIGRhdGUgdG8gdXNlIGFzIHRoZSBiYXNpcyBmb3IgcmVuZGVyaW5nIHRoaXMgY29tcG9uZW50LiBJdCBpc1xuICAgKiBjb21wYXJlZCB0byB0aGUgY3VycmVudCBkYXRlIGFuZCBkaXNwbGF5ZWQgYWNjb3JkaW5nbHkuXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgZHVlRGF0ZTogRGF0ZTtcblxuICAvKipcbiAgICogVGhpcyBzaG91bGQgYmUgY29uc2lkZXJlZCBISUdIIHVyZ2VuY3kgaWYgdGhlcmUgYXJlIGZld2VyIHRoYW4gdGhpc1xuICAgKiBtYW55IGRheXMgdW50aWwgdGhlIGR1ZSBkYXRlLlxuICAgKiAgICAqIFNldCB0byAwIGlmIHlvdSB3YW50IGl0IHRvIHNob3cgSElHSCBpZiBpdCB3YXMgZHVlIHllc3RlcmRheS5cbiAgICogICAgKiBTZXQgdG8gMSBpZiB5b3Ugd2FudCBpdCB0byBzaG93IEhJR0ggaWYgaXQncyBkdWUgdG9kYXkuXG4gICAqICAgICogU2V0IHRvIDIgaWYgeW91IHdhbnQgaXQgdG8gc2hvdyBISUdIIGlmIGl0J3MgZHVlIHRvbW9ycm93LlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byAwIChaRVJPKSwgd2hpY2ggbWVhbnMgaXQgd29uJ3Qgc2hvdyBhcyBISUdIIHVyZ2VuY3kgdW50aWwgdGhlXG4gICAqIGR1ZSBkYXRlIGlzIGluIHRoZSBwYXN0LlxuICAgKlxuICAgKiBOT1RFOiBJZiB0aGlzIGlzIGhpZ2hlciB0aGFuIHRoZSBtZWRpdW1VcmdlbmN5Q3V0b2ZmIHZhbHVlLCBNRURJVU0gdXJnZW5jeVxuICAgKiB3aWxsIG5ldmVyIGJlIHNob3duLlxuICAgKlxuICAgKiBBTFNPIE5PVEU6IEFueXRoaW5nIG92ZXJkdWUgaXMgYXV0b21hdGljYWxseSBjb25zaWRlcmVkIEhJR0ggdXJnZW5jeS5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWdoVXJnZW5jeUN1dG9mZjogbnVtYmVyID0gMDsgLy8gRGVmYXVsdFxuXG4gIC8qKlxuICAgKiBUaGlzIHNob3VsZCBiZSBjb25zaWRlcmVkIE1FRElVTSB1cmdlbmN5IGlmIHRoZXJlIGFyZSBmZXdlciB0aGFuIHRoaXNcbiAgICogbWFueSBkYXlzIHVudGlsIHRoZSBkdWUgZGF0ZS5cbiAgICogICAgKiBTZXQgdG8gMSBpZiB5b3Ugd2FudCBpdCB0byBzaG93IE1FRElVTSBpZiBpdCdzIGR1ZSB0b2RheS5cbiAgICogICAgKiBTZXQgdG8gMiBpZiB5b3Ugd2FudCBpdCB0byBzaG93IE1FRElVTSBpZiBpdCdzIGR1ZSB0b21vcnJvdy5cbiAgICogICAgKiBTZXQgdG8gMyBpZiB5b3Ugd2FudCBpdCB0byBzaG93IE1FRElVTSBpZiBpdCdzIGR1ZSB0aGUgZGF5IGFmdGVyIHRvbW9ycm93LlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byAyLCB3aGljaCBtZWFucyBpdCB3b24ndCBzaG93IGFzIE1FRElVTSB1cmdlbmN5IHVubGVzcyB0aGVcbiAgICogZHVlIGRhdGUgaXMgdG9kYXkgb3IgdG9tb3Jyb3cuXG4gICAqXG4gICAqIE5PVEU6IElmIHRoaXMgaXMgbG93ZXIgdGhhbiB0aGUgaGlnaFVyZ2VuY3lDdXRvZmYgdmFsdWUsIE1FRElVTSB1cmdlbmN5XG4gICAqIHdpbGwgbmV2ZXIgYmUgc2hvd24uXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgbWVkaXVtVXJnZW5jeUN1dG9mZjogbnVtYmVyID0gMjtcblxuICAvLyBUaGUgSE1DVFMgYmFkZ2UgY2xhc3MsIHVzZWQgZm9yIGNvbG91cmF0aW9uLlxuICBwcml2YXRlIHBCYWRnZTogc3RyaW5nO1xuICBwdWJsaWMgZ2V0IGJhZGdlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucEJhZGdlO1xuICB9XG5cbiAgLy8gVGhlIHRleHR1YWwgbGFiZWwgdG8gZGlzcGxheSBpbiB0aGUgY29tcG9uZW50LlxuICBwcml2YXRlIHBMYWJlbDogc3RyaW5nO1xuICBwdWJsaWMgZ2V0IGxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucExhYmVsO1xuICB9XG5cbiAgLy8gVGhlIGFjY2Vzc2libGUgbGFiZWwsIHdoaWNoIGlzIGFsc28gdXNlZCBmb3IgdGhlIHRvb2x0aXAuXG4gIHByaXZhdGUgcEFjY2Vzc2libGVMYWJlbDogc3RyaW5nO1xuICBwdWJsaWMgZ2V0IGFjY2Vzc2libGVMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBBY2Nlc3NpYmxlTGFiZWw7XG4gIH1cblxuICAvLyBIb3cgbWFueSBkYXlzIHRoZSBkdWVEYXRlIHZhcmllcyBmcm9tIHRvZGF5LlxuICBwcml2YXRlIHBEYXlzRGlmZjogbnVtYmVyO1xuICBwdWJsaWMgZ2V0IGRheXNEaWZmKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucERheXNEaWZmO1xuICB9XG5cbiAgLy8gQ2F0Y2ggYW55IGNoYW5nZXMgdG8gYW55IG9mIHRoZSBJbnB1dCgpIHByb3BlcnRpZXMuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZUlucHV0Q2hhbmdlcygpO1xuICB9XG5cbiAgLy8gU2V0IHVwIHRoZSBsYWJlbCwgdXJnZW5jeSBjbGFzcywgYW5kIGFjY2Vzc2liaWxpdHkgZmllbGRzLlxuICBwcml2YXRlIGhhbmRsZUlucHV0Q2hhbmdlcygpIHtcbiAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgZHVlRGF0ZSwgc2tpcCBvdXQgb2YgaGVyZS5cbiAgICBpZiAoIXRoaXMuZHVlRGF0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEhvdyBtYW55IGRheXMgZnJvbSB0b2RheSBpcyB0aGUgZHVlIGRhdGU/XG4gICAgLy8gQWxyZWFkeSBoYXBwZW5lZCBtZWFucyBkYXlzRGlmZiA+IDA7XG4gICAgLy8gVG9kYXkgbWVhbnMgZGF5c0RpZmYgPSAwO1xuICAgIC8vIFlldCB0byBjb21lIG1lYW5zIGRheXNEaWZmIDwgMDtcbiAgICB0aGlzLnBEYXlzRGlmZiA9IHRoaXMuZ2V0RGF5c0RpZmZlcmVuY2UodGhpcy5kdWVEYXRlLCBuZXcgRGF0ZSgpKTtcblxuICAgIC8vIElzIGl0IG92ZXJkdWU/XG4gICAgaWYgKHRoaXMuZGF5c0RpZmYgPiAwKSB7XG4gICAgICB0aGlzLnBCYWRnZSA9IERhdGVCYWRnZUNvbG91ci5SRUQ7XG4gICAgICBjb25zdCBkYXlzTGFiZWwgPSB0aGlzLmRheXNEaWZmID09PSAxID8gJ2RheScgOiAnZGF5cyc7XG4gICAgICB0aGlzLnBMYWJlbCA9IGArJHt0aGlzLmRheXNEaWZmfSAke2RheXNMYWJlbH1gO1xuICAgICAgdGhpcy5wQWNjZXNzaWJsZUxhYmVsID0gYFRoaXMgdGFzayBpcyAke3RoaXMuZGF5c0RpZmZ9ICR7ZGF5c0xhYmVsfSBwYXN0IGl0cyBkdWUgZGF0ZWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNwZWNpYWwgbGFiZWwgZm9yIFwiVG9kYXlcIi5cbiAgICAgIGlmICh0aGlzLmRheXNEaWZmID09PSAwKSB7XG4gICAgICAgIHRoaXMucExhYmVsID0gJ1RPREFZJztcbiAgICAgICAgdGhpcy5wQWNjZXNzaWJsZUxhYmVsID0gJ1RoaXMgdGFzayBpcyBkdWUgdG8gYmUgY29tcGxldGVkIHRvZGF5JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucExhYmVsID0gYCR7Zm9ybWF0RGF0ZSh0aGlzLmR1ZURhdGUsICdkIE1NTScsICdlbi1HQicpfWA7XG4gICAgICAgIHRoaXMucEFjY2Vzc2libGVMYWJlbCA9IGBUaGlzIHRhc2sgaXMgZHVlIHRvIGJlIGNvbXBsZXRlZCBieSAke2Zvcm1hdERhdGUodGhpcy5kdWVEYXRlLCAnZCBNTU1NIHknLCAnZW4tR0InKX1gO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZGF5c0RpZmYgKyB0aGlzLmhpZ2hVcmdlbmN5Q3V0b2ZmID4gMCkge1xuICAgICAgICB0aGlzLnBCYWRnZSA9IERhdGVCYWRnZUNvbG91ci5SRUQ7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZGF5c0RpZmYgKyB0aGlzLm1lZGl1bVVyZ2VuY3lDdXRvZmYgPiAwKSB7XG4gICAgICAgIHRoaXMucEJhZGdlID0gRGF0ZUJhZGdlQ29sb3VyLk9SQU5HRTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucEJhZGdlID0gRGF0ZUJhZGdlQ29sb3VyLkdSRUVOO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZXR1cm4gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0d28gZGF0ZXMuXG4gIC8vIElmIGZyb21EYXRlIGlzIEJFRk9SRSB0b0RhdGUsIGl0IHdpbGwgYmUgYSBwb3NpdGl2ZSBudW1iZXIuXG4gIC8vIElmIGZyb21EYXRlIGlzIEFGVEVSIHRvRGF0ZSwgaXQgd2lsbCBiZSBhIG5lZ2F0aXZlIG51bWJlci5cbiAgcHJpdmF0ZSBnZXREYXlzRGlmZmVyZW5jZShmcm9tRGF0ZTogRGF0ZSwgdG9EYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICBjb25zdCBmcm9tRXBvY2ggPSBmcm9tRGF0ZS5nZXRUaW1lKCk7XG4gICAgY29uc3QgdG9FcG9jaCA9IHRvRGF0ZS5nZXRUaW1lKCk7XG4gICAgY29uc3QgZGlmZlNlY3MgPSBNYXRoLmZsb29yKCh0b0Vwb2NoIC0gZnJvbUVwb2NoKSAvIDEwMDApO1xuICAgIHJldHVybiBNYXRoLmZsb29yKGRpZmZTZWNzIC8gU0VDT05EU19JTl9BX0RBWSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/components/exui-main-wrapper/exui-page-wrapper.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Component, Input } from '@angular/core';
|
|
7
|
-
/**
|
|
8
|
-
* Main Page Wrapper
|
|
9
|
-
* Responsible for:
|
|
10
|
-
* Wrapping content within the gov-uk html elements bellow
|
|
11
|
-
* \@prop showBackLink - switch for back link
|
|
12
|
-
* \@prop appHeaderTitle = appHeaderTitle
|
|
13
|
-
* \@prop appFunctionalTitle = appFunctionalTitle
|
|
14
|
-
* \@prop summaryErrors list of errors
|
|
15
|
-
* \@prop back link, appHeaderTitle (appHeaderTitle), summaryErrors (array of errors)
|
|
16
|
-
*/
|
|
17
|
-
export class ExuiPageWrapperComponent {
|
|
18
|
-
constructor() { }
|
|
19
|
-
}
|
|
20
|
-
ExuiPageWrapperComponent.decorators = [
|
|
21
|
-
{ type: Component, args: [{
|
|
22
|
-
selector: 'exui-page-wrapper',
|
|
23
|
-
template: "<div class=\"page\">\n <a *ngIf=\"backLink\" [routerLink]=\"backLink\" class=\"govuk-back-link\">Back</a>\n <div class=\"govuk-width-container\">\n <main id=\"content\" role=\"main\" class=\"govuk-main-wrapper\">\n <div class=\"govuk-grid-row\">\n <h1 *ngIf=\"title\" class=\"govuk-heading-xl\">\n <span *ngIf=\"fnTitle\" class=\"govuk-caption-xl\">{{fnTitle}}</span>\n {{title}}\n </h1>\n <ng-content>\n\n </ng-content>\n </div>\n </main>\n </div>\n</div>\n",
|
|
24
|
-
styles: [".page{width:100%}"]
|
|
25
|
-
}] }
|
|
26
|
-
];
|
|
27
|
-
/** @nocollapse */
|
|
28
|
-
ExuiPageWrapperComponent.ctorParameters = () => [];
|
|
29
|
-
ExuiPageWrapperComponent.propDecorators = {
|
|
30
|
-
backLink: [{ type: Input }],
|
|
31
|
-
title: [{ type: Input }],
|
|
32
|
-
fnTitle: [{ type: Input }]
|
|
33
|
-
};
|
|
34
|
-
if (false) {
|
|
35
|
-
/** @type {?} */
|
|
36
|
-
ExuiPageWrapperComponent.prototype.backLink;
|
|
37
|
-
/** @type {?} */
|
|
38
|
-
ExuiPageWrapperComponent.prototype.title;
|
|
39
|
-
/** @type {?} */
|
|
40
|
-
ExuiPageWrapperComponent.prototype.fnTitle;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh1aS1wYWdlLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2V4dWktbWFpbi13cmFwcGVyL2V4dWktcGFnZS13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQWdCL0MsTUFBTSxPQUFPLHdCQUF3QjtJQU1uQyxnQkFBZ0IsQ0FBQzs7O1lBWGxCLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3Qix1aEJBQStDOzthQUVoRDs7Ozs7dUJBR0UsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUs7Ozs7SUFGTiw0Q0FBaUM7O0lBQ2pDLHlDQUE4Qjs7SUFDOUIsMkNBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8qKlxuICogTWFpbiBQYWdlIFdyYXBwZXJcbiAqIFJlc3BvbnNpYmxlIGZvcjpcbiAqIFdyYXBwaW5nIGNvbnRlbnQgd2l0aGluIHRoZSBnb3YtdWsgaHRtbCBlbGVtZW50cyBiZWxsb3dcbiAqIEBwcm9wIHNob3dCYWNrTGluayAtIHN3aXRjaCBmb3IgYmFjayBsaW5rXG4gKiBAcHJvcCBhcHBIZWFkZXJUaXRsZSA9IGFwcEhlYWRlclRpdGxlXG4gKiBAcHJvcCBhcHBGdW5jdGlvbmFsVGl0bGUgPSBhcHBGdW5jdGlvbmFsVGl0bGVcbiAqIEBwcm9wIHN1bW1hcnlFcnJvcnMgbGlzdCBvZiBlcnJvcnNcbiAqIEBwcm9wIGJhY2sgbGluaywgYXBwSGVhZGVyVGl0bGUgKGFwcEhlYWRlclRpdGxlKSwgc3VtbWFyeUVycm9ycyAoYXJyYXkgb2YgZXJyb3JzKVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdleHVpLXBhZ2Utd3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnZXh1aS1wYWdlLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnZXh1aS1wYWdlLXdyYXBwZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFeHVpUGFnZVdyYXBwZXJDb21wb25lbnQgIHtcblxuICBASW5wdXQoKSBwdWJsaWMgYmFja0xpbms6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBmblRpdGxlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxufVxuIl19
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/components/find-location/find-location.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
7
|
-
import { FormControl, FormGroup } from '@angular/forms';
|
|
8
|
-
import { getValues } from '../generic-filter/generic-filter-utils';
|
|
9
|
-
import { SearchLocationComponent } from '../search-location/search-location.component';
|
|
10
|
-
export class FindLocationComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.locationFieldChanged = new EventEmitter();
|
|
13
|
-
this.selectedLocations = [];
|
|
14
|
-
this.submitted = true;
|
|
15
|
-
this.enableAddLocationButton = true;
|
|
16
|
-
this.locationTitle = 'Search for a location by name';
|
|
17
|
-
this.disableInputField = false;
|
|
18
|
-
this.locations = [];
|
|
19
|
-
this.tempSelectedLocation = null;
|
|
20
|
-
this.serviceIds = 'SSCS,IA';
|
|
21
|
-
this.pServices = [];
|
|
22
|
-
this.pDisabled = false;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* @return {?}
|
|
26
|
-
*/
|
|
27
|
-
get disabled() {
|
|
28
|
-
return this.pDisabled;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* @param {?} value
|
|
32
|
-
* @return {?}
|
|
33
|
-
*/
|
|
34
|
-
set disabled(value) {
|
|
35
|
-
if (value) {
|
|
36
|
-
this.searchLocationComponent.resetSearchTerm();
|
|
37
|
-
this.removeSelectedValues();
|
|
38
|
-
}
|
|
39
|
-
this.pDisabled = this.disableInputField === true ? true : null;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* @return {?}
|
|
43
|
-
*/
|
|
44
|
-
get services() {
|
|
45
|
-
return this.pServices;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* @param {?} value
|
|
49
|
-
* @return {?}
|
|
50
|
-
*/
|
|
51
|
-
set services(value) {
|
|
52
|
-
this.pServices = value;
|
|
53
|
-
/** @type {?} */
|
|
54
|
-
const field = this.fields.find((/**
|
|
55
|
-
* @param {?} f
|
|
56
|
-
* @return {?}
|
|
57
|
-
*/
|
|
58
|
-
f => f.name === this.field.findLocationField));
|
|
59
|
-
if (field) {
|
|
60
|
-
if (typeof value === 'string') {
|
|
61
|
-
this.serviceIds = value;
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
this.serviceIds = getValues(field.options, value).filter((/**
|
|
65
|
-
* @param {?} x
|
|
66
|
-
* @return {?}
|
|
67
|
-
*/
|
|
68
|
-
x => x !== 'services_all')).join(',');
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* @return {?}
|
|
74
|
-
*/
|
|
75
|
-
ngOnInit() {
|
|
76
|
-
// implemented to get rid of undefined values
|
|
77
|
-
this.selectedLocations = this.selectedLocations.filter((/**
|
|
78
|
-
* @param {?} location
|
|
79
|
-
* @return {?}
|
|
80
|
-
*/
|
|
81
|
-
location => location.epimms_id));
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* @return {?}
|
|
85
|
-
*/
|
|
86
|
-
addLocation() {
|
|
87
|
-
if (this.tempSelectedLocation) {
|
|
88
|
-
this.selectedLocations = [...this.selectedLocations, this.tempSelectedLocation];
|
|
89
|
-
this.addSelectedLocationsToForm([this.tempSelectedLocation]);
|
|
90
|
-
this.tempSelectedLocation = null;
|
|
91
|
-
this.locations = [];
|
|
92
|
-
this.searchLocationComponent.resetSearchTerm();
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* @param {?} location
|
|
97
|
-
* @return {?}
|
|
98
|
-
*/
|
|
99
|
-
removeLocation(location) {
|
|
100
|
-
if (location.epimms_id) {
|
|
101
|
-
this.selectedLocations = this.selectedLocations.filter((/**
|
|
102
|
-
* @param {?} selectedLocation
|
|
103
|
-
* @return {?}
|
|
104
|
-
*/
|
|
105
|
-
selectedLocation => selectedLocation.epimms_id !== location.epimms_id));
|
|
106
|
-
/** @type {?} */
|
|
107
|
-
const formArray = (/** @type {?} */ (this.form.get(this.field.name)));
|
|
108
|
-
/** @type {?} */
|
|
109
|
-
const index = ((/** @type {?} */ (formArray.value))).findIndex((/**
|
|
110
|
-
* @param {?} selectedLocation
|
|
111
|
-
* @return {?}
|
|
112
|
-
*/
|
|
113
|
-
selectedLocation => selectedLocation.epimms_id === location.epimms_id));
|
|
114
|
-
if (index > -1) {
|
|
115
|
-
formArray.removeAt(index);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* @param {?} term
|
|
121
|
-
* @return {?}
|
|
122
|
-
*/
|
|
123
|
-
onInputChanged(term) {
|
|
124
|
-
// if the filter is in single mode clear the selected locations
|
|
125
|
-
if (typeof term === 'string' && this.field.maxSelected === 1) {
|
|
126
|
-
this.removeSelectedValues();
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* @return {?}
|
|
131
|
-
*/
|
|
132
|
-
onSearchInputChanged() {
|
|
133
|
-
this.locationFieldChanged.emit();
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* @param {?} location
|
|
137
|
-
* @return {?}
|
|
138
|
-
*/
|
|
139
|
-
onLocationSelected(location) {
|
|
140
|
-
if (this.field.maxSelected === 1) {
|
|
141
|
-
this.removeSelectedValues();
|
|
142
|
-
this.addSelectedLocationsToForm([location]);
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
if (!this.selectedLocations.find((/**
|
|
146
|
-
* @param {?} x
|
|
147
|
-
* @return {?}
|
|
148
|
-
*/
|
|
149
|
-
x => x.epimms_id === location.epimms_id))) {
|
|
150
|
-
if (location.epimms_id) {
|
|
151
|
-
this.tempSelectedLocation = location;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* @private
|
|
158
|
-
* @return {?}
|
|
159
|
-
*/
|
|
160
|
-
removeSelectedValues() {
|
|
161
|
-
/** @type {?} */
|
|
162
|
-
const formArray = (/** @type {?} */ (this.form.get(this.field.name)));
|
|
163
|
-
for (let i = 0; i < formArray.length; i++) {
|
|
164
|
-
formArray.removeAt(i);
|
|
165
|
-
}
|
|
166
|
-
this.selectedLocations = [];
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* @private
|
|
170
|
-
* @param {?} locations
|
|
171
|
-
* @return {?}
|
|
172
|
-
*/
|
|
173
|
-
addSelectedLocationsToForm(locations) {
|
|
174
|
-
/** @type {?} */
|
|
175
|
-
const formArray = (/** @type {?} */ (this.form.get(this.field.name)));
|
|
176
|
-
for (const location of locations) {
|
|
177
|
-
formArray.push(new FormControl(location));
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
FindLocationComponent.decorators = [
|
|
182
|
-
{ type: Component, args: [{
|
|
183
|
-
selector: 'xuilib-find-location',
|
|
184
|
-
template: "<div class=\"location-picker-custom\">\n <div class=\"search-location\">\n <div>\n <label id=\"input-selected-location-label\" *ngIf=\"locationTitle\">{{locationTitle}}</label>\n </div>\n <exui-search-location class=\"search-location\"\n [locations]=\"locations\"\n [selectedLocations]=\"selectedLocations\"\n [singleMode]=\"field.maxSelected === 1\"\n [bookingCheck]=\"field.bookingCheckType\"\n [delay]=\"300\"\n [disabled]=\"disabled\"\n [serviceIds]=\"serviceIds\"\n (locationInputChanged)=\"onInputChanged($event)\"\n (locationSelected)=\"onLocationSelected($event)\"\n (searchLocationChanged)=\"onSearchInputChanged()\"\n [locationType]=\"'case-management'\"></exui-search-location>\n <a href=\"javascript:void(0)\" (click)=\"addLocation()\" class=\"govuk-button\" data-module=\"govuk-button\" *ngIf=\"enableAddLocationButton\">\n Add location\n </a>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedLocations\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeLocation(selection)\" href=\"javascript:void(0)\">\n {{ selection.site_name }}\n </a>\n </li>\n </ul>\n</div>\n",
|
|
185
|
-
styles: [""]
|
|
186
|
-
}] }
|
|
187
|
-
];
|
|
188
|
-
FindLocationComponent.propDecorators = {
|
|
189
|
-
locationFieldChanged: [{ type: Output }],
|
|
190
|
-
selectedLocations: [{ type: Input }],
|
|
191
|
-
submitted: [{ type: Input }],
|
|
192
|
-
enableAddLocationButton: [{ type: Input }],
|
|
193
|
-
form: [{ type: Input }],
|
|
194
|
-
field: [{ type: Input }],
|
|
195
|
-
fields: [{ type: Input }],
|
|
196
|
-
locationTitle: [{ type: Input }],
|
|
197
|
-
disableInputField: [{ type: Input }],
|
|
198
|
-
searchLocationComponent: [{ type: ViewChild, args: [SearchLocationComponent, { static: true },] }],
|
|
199
|
-
disabled: [{ type: Input }],
|
|
200
|
-
services: [{ type: Input }]
|
|
201
|
-
};
|
|
202
|
-
if (false) {
|
|
203
|
-
/** @type {?} */
|
|
204
|
-
FindLocationComponent.prototype.locationFieldChanged;
|
|
205
|
-
/** @type {?} */
|
|
206
|
-
FindLocationComponent.prototype.selectedLocations;
|
|
207
|
-
/** @type {?} */
|
|
208
|
-
FindLocationComponent.prototype.submitted;
|
|
209
|
-
/** @type {?} */
|
|
210
|
-
FindLocationComponent.prototype.enableAddLocationButton;
|
|
211
|
-
/** @type {?} */
|
|
212
|
-
FindLocationComponent.prototype.form;
|
|
213
|
-
/** @type {?} */
|
|
214
|
-
FindLocationComponent.prototype.field;
|
|
215
|
-
/** @type {?} */
|
|
216
|
-
FindLocationComponent.prototype.fields;
|
|
217
|
-
/** @type {?} */
|
|
218
|
-
FindLocationComponent.prototype.locationTitle;
|
|
219
|
-
/** @type {?} */
|
|
220
|
-
FindLocationComponent.prototype.disableInputField;
|
|
221
|
-
/** @type {?} */
|
|
222
|
-
FindLocationComponent.prototype.locations;
|
|
223
|
-
/** @type {?} */
|
|
224
|
-
FindLocationComponent.prototype.tempSelectedLocation;
|
|
225
|
-
/** @type {?} */
|
|
226
|
-
FindLocationComponent.prototype.serviceIds;
|
|
227
|
-
/** @type {?} */
|
|
228
|
-
FindLocationComponent.prototype.searchLocationComponent;
|
|
229
|
-
/**
|
|
230
|
-
* @type {?}
|
|
231
|
-
* @private
|
|
232
|
-
*/
|
|
233
|
-
FindLocationComponent.prototype.pServices;
|
|
234
|
-
/**
|
|
235
|
-
* @type {?}
|
|
236
|
-
* @private
|
|
237
|
-
*/
|
|
238
|
-
FindLocationComponent.prototype.pDisabled;
|
|
239
|
-
}
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZmluZC1sb2NhdGlvbi9maW5kLWxvY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBWSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHakUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBT3JGLE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNbUIseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNqRCxzQkFBaUIsR0FBNEIsRUFBRSxDQUFDO1FBQ2hELGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsNEJBQXVCLEdBQVksSUFBSSxDQUFDO1FBSXhDLGtCQUFhLEdBQUcsK0JBQStCLENBQUM7UUFDaEQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQ25DLGNBQVMsR0FBNEIsRUFBRSxDQUFDO1FBQ3hDLHlCQUFvQixHQUEwQixJQUFJLENBQUM7UUFDbkQsZUFBVSxHQUFXLFNBQVMsQ0FBQztRQUU5QixjQUFTLEdBQWEsRUFBRSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFnR3JDLENBQUM7Ozs7SUE5RkMsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDOzs7OztJQUVELElBQ1csUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsdUJBQXVCLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDN0I7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2pFLENBQUM7Ozs7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7Ozs7O0lBRUQsSUFDVyxRQUFRLENBQUMsS0FBZTtRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQzs7Y0FDakIsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFDO1FBQzVFLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTTs7OztnQkFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxjQUFjLEVBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDL0Y7U0FDRjtJQUNILENBQUM7Ozs7SUFFTSxRQUFRO1FBQ2IsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTTs7OztRQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBQyxDQUFDO0lBQ3pGLENBQUM7Ozs7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztZQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsdUJBQXVCLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDaEQ7SUFDSCxDQUFDOzs7OztJQUVNLGNBQWMsQ0FBQyxRQUErQjtRQUNuRCxJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNOzs7O1lBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsU0FBUyxFQUFDLENBQUM7O2tCQUN4SCxTQUFTLEdBQUcsbUJBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBYTs7a0JBQ3ZELEtBQUssR0FBRyxDQUFDLG1CQUFBLFNBQVMsQ0FBQyxLQUFLLEVBQTJCLENBQUMsQ0FBQyxTQUFTOzs7O1lBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsU0FBUyxFQUFDO1lBQzNJLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNkLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0I7U0FDRjtJQUNILENBQUM7Ozs7O0lBRU0sY0FBYyxDQUFDLElBQVk7UUFDaEMsK0RBQStEO1FBQy9ELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxLQUFLLENBQUMsRUFBRTtZQUMxRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7Ozs7SUFFTSxvQkFBb0I7UUFDekIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7Ozs7O0lBRU0sa0JBQWtCLENBQUMsUUFBK0I7UUFDdkQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsS0FBSyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUM3QzthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJOzs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxTQUFTLEVBQUMsRUFBRTtnQkFDekUsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFO29CQUN0QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDO2lCQUN0QzthQUNGO1NBQ0Y7SUFDSCxDQUFDOzs7OztJQUVPLG9CQUFvQjs7Y0FDcEIsU0FBUyxHQUFHLG1CQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQWE7UUFDN0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7Ozs7O0lBRU8sMEJBQTBCLENBQUMsU0FBa0M7O2NBQzdELFNBQVMsR0FBRyxtQkFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFhO1FBQzdELEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFO1lBQ2hDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7OztZQW5IRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsZ2dEQUE2Qzs7YUFFOUM7OzttQ0FFRSxNQUFNO2dDQUNOLEtBQUs7d0JBQ0wsS0FBSztzQ0FDTCxLQUFLO21CQUNMLEtBQUs7b0JBQ0wsS0FBSztxQkFDTCxLQUFLOzRCQUNMLEtBQUs7Z0NBQ0wsS0FBSztzQ0FJTCxTQUFTLFNBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3VCQVFuRCxLQUFLO3VCQWFMLEtBQUs7Ozs7SUFqQ04scURBQWlFOztJQUNqRSxrREFBZ0U7O0lBQ2hFLDBDQUEwQzs7SUFDMUMsd0RBQXdEOztJQUN4RCxxQ0FBZ0M7O0lBQ2hDLHNDQUF5Qzs7SUFDekMsdUNBQTRDOztJQUM1Qyw4Q0FBZ0U7O0lBQ2hFLGtEQUEwQzs7SUFDMUMsMENBQStDOztJQUMvQyxxREFBMEQ7O0lBQzFELDJDQUFzQzs7SUFDdEMsd0RBQThHOzs7OztJQUM5RywwQ0FBaUM7Ozs7O0lBQ2pDLDBDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0ZpbHRlckZpZWxkQ29uZmlnfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtMb2NhdGlvbkJ5RVBJTU1TTW9kZWx9IGZyb20gJy4uLy4uL21vZGVscy9sb2NhdGlvbi5tb2RlbCc7XG5pbXBvcnQge2dldFZhbHVlc30gZnJvbSAnLi4vZ2VuZXJpYy1maWx0ZXIvZ2VuZXJpYy1maWx0ZXItdXRpbHMnO1xuaW1wb3J0IHtTZWFyY2hMb2NhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vc2VhcmNoLWxvY2F0aW9uL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItZmluZC1sb2NhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maW5kLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmluZC1sb2NhdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpbmRMb2NhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9jYXRpb25GaWVsZENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZExvY2F0aW9uczogTG9jYXRpb25CeUVQSU1NU01vZGVsW10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdHRlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVBZGRMb2NhdGlvbkJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZDogRmlsdGVyRmllbGRDb25maWc7XG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpbHRlckZpZWxkQ29uZmlnW107XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2NhdGlvblRpdGxlID0gJ1NlYXJjaCBmb3IgYSBsb2NhdGlvbiBieSBuYW1lJztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVJbnB1dEZpZWxkID0gZmFsc2U7XG4gIHB1YmxpYyBsb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdID0gW107XG4gIHB1YmxpYyB0ZW1wU2VsZWN0ZWRMb2NhdGlvbjogTG9jYXRpb25CeUVQSU1NU01vZGVsID0gbnVsbDtcbiAgcHVibGljIHNlcnZpY2VJZHM6IHN0cmluZyA9ICdTU0NTLElBJztcbiAgQFZpZXdDaGlsZChTZWFyY2hMb2NhdGlvbkNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIHNlYXJjaExvY2F0aW9uQ29tcG9uZW50OiBTZWFyY2hMb2NhdGlvbkNvbXBvbmVudDtcbiAgcHJpdmF0ZSBwU2VydmljZXM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgcERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wRGlzYWJsZWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaExvY2F0aW9uQ29tcG9uZW50LnJlc2V0U2VhcmNoVGVybSgpO1xuICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFZhbHVlcygpO1xuICAgIH1cbiAgICB0aGlzLnBEaXNhYmxlZCA9IHRoaXMuZGlzYWJsZUlucHV0RmllbGQgPT09IHRydWUgPyB0cnVlIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VydmljZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnBTZXJ2aWNlcztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VydmljZXModmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5wU2VydmljZXMgPSB2YWx1ZTtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGRzLmZpbmQoZiA9PiBmLm5hbWUgPT09IHRoaXMuZmllbGQuZmluZExvY2F0aW9uRmllbGQpO1xuICAgIGlmIChmaWVsZCkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlSWRzID0gdmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlcnZpY2VJZHMgPSBnZXRWYWx1ZXMoZmllbGQub3B0aW9ucywgdmFsdWUpLmZpbHRlcih4ID0+IHggIT09ICdzZXJ2aWNlc19hbGwnKS5qb2luKCcsJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIGltcGxlbWVudGVkIHRvIGdldCByaWQgb2YgdW5kZWZpbmVkIHZhbHVlc1xuICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMgPSB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLmZpbHRlcihsb2NhdGlvbiA9PiBsb2NhdGlvbi5lcGltbXNfaWQpO1xuICB9XG5cbiAgcHVibGljIGFkZExvY2F0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRlbXBTZWxlY3RlZExvY2F0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb25zID0gWy4uLnRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMsIHRoaXMudGVtcFNlbGVjdGVkTG9jYXRpb25dO1xuICAgICAgdGhpcy5hZGRTZWxlY3RlZExvY2F0aW9uc1RvRm9ybShbdGhpcy50ZW1wU2VsZWN0ZWRMb2NhdGlvbl0pO1xuICAgICAgdGhpcy50ZW1wU2VsZWN0ZWRMb2NhdGlvbiA9IG51bGw7XG4gICAgICB0aGlzLmxvY2F0aW9ucyA9IFtdO1xuICAgICAgdGhpcy5zZWFyY2hMb2NhdGlvbkNvbXBvbmVudC5yZXNldFNlYXJjaFRlcm0oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlTG9jYXRpb24obG9jYXRpb246IExvY2F0aW9uQnlFUElNTVNNb2RlbCk6IHZvaWQge1xuICAgIGlmIChsb2NhdGlvbi5lcGltbXNfaWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMgPSB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLmZpbHRlcihzZWxlY3RlZExvY2F0aW9uID0+IHNlbGVjdGVkTG9jYXRpb24uZXBpbW1zX2lkICE9PSBsb2NhdGlvbi5lcGltbXNfaWQpO1xuICAgICAgY29uc3QgZm9ybUFycmF5ID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLm5hbWUpIGFzIEZvcm1BcnJheTtcbiAgICAgIGNvbnN0IGluZGV4ID0gKGZvcm1BcnJheS52YWx1ZSBhcyBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSkuZmluZEluZGV4KHNlbGVjdGVkTG9jYXRpb24gPT4gc2VsZWN0ZWRMb2NhdGlvbi5lcGltbXNfaWQgPT09IGxvY2F0aW9uLmVwaW1tc19pZCk7XG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICBmb3JtQXJyYXkucmVtb3ZlQXQoaW5kZXgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbklucHV0Q2hhbmdlZCh0ZXJtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyBpZiB0aGUgZmlsdGVyIGlzIGluIHNpbmdsZSBtb2RlIGNsZWFyIHRoZSBzZWxlY3RlZCBsb2NhdGlvbnNcbiAgICBpZiAodHlwZW9mIHRlcm0gPT09ICdzdHJpbmcnICYmIHRoaXMuZmllbGQubWF4U2VsZWN0ZWQgPT09IDEpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFZhbHVlcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblNlYXJjaElucHV0Q2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvY2F0aW9uRmllbGRDaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkxvY2F0aW9uU2VsZWN0ZWQobG9jYXRpb246IExvY2F0aW9uQnlFUElNTVNNb2RlbCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpZWxkLm1heFNlbGVjdGVkID09PSAxKSB7XG4gICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkVmFsdWVzKCk7XG4gICAgICB0aGlzLmFkZFNlbGVjdGVkTG9jYXRpb25zVG9Gb3JtKFtsb2NhdGlvbl0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMuZmluZCh4ID0+IHguZXBpbW1zX2lkID09PSBsb2NhdGlvbi5lcGltbXNfaWQpKSB7XG4gICAgICAgIGlmIChsb2NhdGlvbi5lcGltbXNfaWQpIHtcbiAgICAgICAgICB0aGlzLnRlbXBTZWxlY3RlZExvY2F0aW9uID0gbG9jYXRpb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVNlbGVjdGVkVmFsdWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5uYW1lKSBhcyBGb3JtQXJyYXk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmb3JtQXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZvcm1BcnJheS5yZW1vdmVBdChpKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZExvY2F0aW9ucyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRTZWxlY3RlZExvY2F0aW9uc1RvRm9ybShsb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUFycmF5ID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLm5hbWUpIGFzIEZvcm1BcnJheTtcbiAgICBmb3IgKGNvbnN0IGxvY2F0aW9uIG9mIGxvY2F0aW9ucykge1xuICAgICAgZm9ybUFycmF5LnB1c2gobmV3IEZvcm1Db250cm9sKGxvY2F0aW9uKSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|