@dsivd/prestations-ng 17.10.9 → 18.0.0-beta.10
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/CHANGELOG.md +2478 -2466
- package/CONTRIBUTING.md +66 -66
- package/ESLINT_MIGRATION_GUIDE.md +19 -33
- package/MODULES.md +88 -88
- package/MULTI_ETAPES.md +9 -9
- package/README.md +25 -24
- package/README_COMMON.md +10 -10
- package/UPGRADING_V12.md +36 -36
- package/UPGRADING_V13.md +3 -3
- package/UPGRADING_V14.md +2 -2
- package/UPGRADING_V15.md +4 -4
- package/UPGRADING_V16.md +38 -38
- package/UPGRADING_V17.md +51 -51
- package/UPGRADING_V18.md +596 -8
- package/UPGRADING_V8.md +5 -5
- package/abstract-page-component.d.ts +1 -1
- package/dsivd-prestations-ng-18.0.0-beta.10.tgz +0 -0
- package/fesm2022/dsivd-prestations-ng.mjs +903 -868
- package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
- package/foehn-checkables/foehn-checkable-group.component.d.ts +1 -1
- package/foehn-checkables/foehn-checkables.module.d.ts +6 -7
- package/foehn-date-picker/date-picker.helper.d.ts +1 -1
- package/foehn-icons/abstract-icon-component.d.ts +1 -1
- package/foehn-input/foehn-input-string.component.d.ts +1 -1
- package/foehn-input/foehn-input.component.d.ts +1 -1
- package/foehn-menu-prestation/abstract-list-item-detail-page.component.d.ts +1 -1
- package/foehn-menu-prestation/abstract-menu-page.component.d.ts +1 -1
- package/foehn-menu-prestation/abstract-page-from-menu.component.d.ts +1 -1
- package/foehn-navigation/abstract-foehn-navigation.component.d.ts +1 -1
- package/foehn-table/foehn-table.component.d.ts +1 -6
- package/foehn-upload/abstract-foehn-uploader.component.d.ts +1 -2
- package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +1 -3
- package/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.d.ts +1 -1
- package/index.d.ts +1 -1
- package/index.html +1 -1
- package/package.json +15 -17
- package/prestations-ng-core.module.d.ts +5 -4
- package/sdk-appinfo/application-info.service.d.ts +1 -0
- package/sdk-drafts/drafts.module.d.ts +7 -8
- package/sdk-support-alert/support-alert.module.d.ts +2 -3
- package/dsivd-prestations-ng-17.10.9.tgz +0 -0
- package/esm2022/abstract-page-component.mjs +0 -232
- package/esm2022/directives/currency-formatter.directive.mjs +0 -143
- package/esm2022/directives/formatter.module.mjs +0 -37
- package/esm2022/directives/iban-formatter.directive.mjs +0 -29
- package/esm2022/directives/ide-formatter.directive.mjs +0 -37
- package/esm2022/directives/ndc-formatter.directive.mjs +0 -75
- package/esm2022/dsivd-prestations-ng.mjs +0 -5
- package/esm2022/foehn-address/address.type.mjs +0 -10
- package/esm2022/foehn-address/foehn-address.module.mjs +0 -55
- package/esm2022/foehn-address/foehn-display-address.component.mjs +0 -69
- package/esm2022/foehn-address/foehn-input-address.component.mjs +0 -498
- package/esm2022/foehn-address/foehn-input-foreign-locality.component.mjs +0 -66
- package/esm2022/foehn-address/foehn-input-foreign-street.component.mjs +0 -56
- package/esm2022/foehn-agenda/calendar.type.mjs +0 -3
- package/esm2022/foehn-agenda/current-week.type.mjs +0 -4
- package/esm2022/foehn-agenda/day-slots.type.mjs +0 -3
- package/esm2022/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +0 -75
- package/esm2022/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +0 -242
- package/esm2022/foehn-agenda/foehn-agenda.component.mjs +0 -95
- package/esm2022/foehn-agenda/foehn-agenda.module.mjs +0 -62
- package/esm2022/foehn-agenda/pagination-week.type.mjs +0 -3
- package/esm2022/foehn-agenda/selected-slot.type.mjs +0 -3
- package/esm2022/foehn-autocomplete/foehn-autocomplete.component.mjs +0 -684
- package/esm2022/foehn-autocomplete/foehn-autocomplete.module.mjs +0 -40
- package/esm2022/foehn-boolean/foehn-boolean-checkbox.component.mjs +0 -28
- package/esm2022/foehn-boolean/foehn-boolean-radio.component.mjs +0 -40
- package/esm2022/foehn-boolean/foehn-boolean.module.mjs +0 -33
- package/esm2022/foehn-breadcrumb/breadcrumb-event.service.mjs +0 -177
- package/esm2022/foehn-breadcrumb/breadcrumb.mjs +0 -5
- package/esm2022/foehn-breadcrumb/foehn-breadcrumb.component.mjs +0 -106
- package/esm2022/foehn-breadcrumb/foehn-breadcrumb.module.mjs +0 -20
- package/esm2022/foehn-checkables/foehn-checkable-group.component.mjs +0 -291
- package/esm2022/foehn-checkables/foehn-checkables.module.mjs +0 -68
- package/esm2022/foehn-checkables/foehn-checkbox.component.mjs +0 -37
- package/esm2022/foehn-checkables/foehn-radio.component.mjs +0 -64
- package/esm2022/foehn-checkables/foehn-select.component.mjs +0 -55
- package/esm2022/foehn-checkables/form-select-option-group.mjs +0 -3
- package/esm2022/foehn-checkables/form-select-option.mjs +0 -3
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal-content.mjs +0 -7
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal.component.mjs +0 -40
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal.module.mjs +0 -19
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal.service.mjs +0 -53
- package/esm2022/foehn-date-picker/date-picker-navigation.helper.mjs +0 -168
- package/esm2022/foehn-date-picker/date-picker.helper.mjs +0 -132
- package/esm2022/foehn-date-picker/day-month.type.mjs +0 -3
- package/esm2022/foehn-date-picker/focused-day.type.mjs +0 -3
- package/esm2022/foehn-date-picker/foehn-date-picker.component.mjs +0 -392
- package/esm2022/foehn-date-picker/foehn-date-picker.module.mjs +0 -40
- package/esm2022/foehn-date-picker/month-year.type.mjs +0 -3
- package/esm2022/foehn-date-picker-button/foehn-date-picker-button.component.mjs +0 -97
- package/esm2022/foehn-date-picker-button/foehn-date-picker-button.module.mjs +0 -36
- package/esm2022/foehn-debug-summary/foehn-debug-summary.component.mjs +0 -84
- package/esm2022/foehn-debug-summary/foehn-debug-summary.component.module.mjs +0 -20
- package/esm2022/foehn-decision-electronique/foehn-decision-electronique.component.mjs +0 -37
- package/esm2022/foehn-decision-electronique/foehn-decision-electronique.module.mjs +0 -32
- package/esm2022/foehn-dropdown-menu/dropdown-menu-group.type.mjs +0 -3
- package/esm2022/foehn-dropdown-menu/dropdown-menu-item.type.mjs +0 -6
- package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.component.mjs +0 -212
- package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.module.mjs +0 -21
- package/esm2022/foehn-feedback-notification/foehn-feedback-notification.component.mjs +0 -113
- package/esm2022/foehn-feedback-notification/foehn-feedback-notification.module.mjs +0 -32
- package/esm2022/foehn-feedback-notification/foehn-feedback-notification.type.mjs +0 -3
- package/esm2022/foehn-footer/foehn-footer.component.mjs +0 -130
- package/esm2022/foehn-footer/foehn-footer.module.mjs +0 -19
- package/esm2022/foehn-footer/footer-link.type.mjs +0 -3
- package/esm2022/foehn-form/foehn-form.component.mjs +0 -136
- package/esm2022/foehn-form/foehn-form.module.mjs +0 -32
- package/esm2022/foehn-form/register-ng-model.service.mjs +0 -23
- package/esm2022/foehn-growl/foehn-growl.component.mjs +0 -45
- package/esm2022/foehn-growl/foehn-growl.module.mjs +0 -18
- package/esm2022/foehn-growl/growl-broker.service.mjs +0 -37
- package/esm2022/foehn-growl/growl-message.mjs +0 -9
- package/esm2022/foehn-growl/growl-types.mjs +0 -7
- package/esm2022/foehn-header/foehn-header.component.mjs +0 -159
- package/esm2022/foehn-header/foehn-header.module.mjs +0 -40
- package/esm2022/foehn-header/foehn-skip-link.component.mjs +0 -51
- package/esm2022/foehn-help-modal/foehn-help-modal.component.mjs +0 -44
- package/esm2022/foehn-help-modal/foehn-help-modal.module.mjs +0 -20
- package/esm2022/foehn-help-modal/foehn-help-modal.type.mjs +0 -2
- package/esm2022/foehn-icons/abstract-icon-component.mjs +0 -12
- package/esm2022/foehn-icons/foehn-icon-calendar.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-check-square-o.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-check.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-chevron-down.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-chevron-left.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-chevron-right.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-chevron-up.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-clock.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-comment-dots.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-edit.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-external-link-alt.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-file-pdf.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-info-circle.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-lock.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-map-marker.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-minus-circle.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-pencil.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-plus-circle.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-plus-square.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-search.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-times.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-trash-alt.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-unlock-alt.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-user.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icons.module.mjs +0 -139
- package/esm2022/foehn-input/foehn-input-email.component.mjs +0 -74
- package/esm2022/foehn-input/foehn-input-hidden.component.mjs +0 -54
- package/esm2022/foehn-input/foehn-input-number.component.mjs +0 -319
- package/esm2022/foehn-input/foehn-input-password.component.mjs +0 -51
- package/esm2022/foehn-input/foehn-input-phone.component.mjs +0 -99
- package/esm2022/foehn-input/foehn-input-prefixed-text.component.mjs +0 -116
- package/esm2022/foehn-input/foehn-input-string.component.mjs +0 -27
- package/esm2022/foehn-input/foehn-input-text.component.mjs +0 -69
- package/esm2022/foehn-input/foehn-input-textarea.component.mjs +0 -97
- package/esm2022/foehn-input/foehn-input.component.mjs +0 -418
- package/esm2022/foehn-input/foehn-input.module.mjs +0 -98
- package/esm2022/foehn-input/pattern.const.mjs +0 -16
- package/esm2022/foehn-input-date/foehn-input-date.component.mjs +0 -163
- package/esm2022/foehn-input-date-time/foehn-input-date-time.component.mjs +0 -201
- package/esm2022/foehn-input-time/foehn-input-time.component.mjs +0 -89
- package/esm2022/foehn-list/foehn-list.component.mjs +0 -127
- package/esm2022/foehn-list/foehn-list.module.mjs +0 -19
- package/esm2022/foehn-list/page-change-event.mjs +0 -3
- package/esm2022/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +0 -122
- package/esm2022/foehn-menu-prestation/abstract-menu-page.component.mjs +0 -31
- package/esm2022/foehn-menu-prestation/abstract-page-from-menu.component.mjs +0 -87
- package/esm2022/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +0 -25
- package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.mjs +0 -2
- package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-item.mjs +0 -3
- package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +0 -161
- package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +0 -38
- package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +0 -58
- package/esm2022/foehn-menu-prestation/foehn-menu-prestation.module.mjs +0 -67
- package/esm2022/foehn-misc/foehn-abbr.component.mjs +0 -15
- package/esm2022/foehn-misc/foehn-misc.module.mjs +0 -17
- package/esm2022/foehn-modal/foehn-modal.component.mjs +0 -94
- package/esm2022/foehn-modal/foehn-modal.module.mjs +0 -21
- package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +0 -287
- package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +0 -40
- package/esm2022/foehn-nav13/foehn-input-nav13.component.mjs +0 -114
- package/esm2022/foehn-nav13/foehn-input-nav13.module.mjs +0 -32
- package/esm2022/foehn-navigation/abstract-foehn-navigation.component.mjs +0 -55
- package/esm2022/foehn-navigation/foehn-navigation/foehn-navigation.component.mjs +0 -67
- package/esm2022/foehn-navigation/foehn-navigation.module.mjs +0 -37
- package/esm2022/foehn-navigation/foehn-navigation.service.mjs +0 -322
- package/esm2022/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.mjs +0 -26
- package/esm2022/foehn-notfound/foehn-notfound.component.mjs +0 -61
- package/esm2022/foehn-notfound/foehn-notfound.module.mjs +0 -20
- package/esm2022/foehn-page/foehn-page-counter.component.mjs +0 -31
- package/esm2022/foehn-page/foehn-page-expiration-timer/current-session-expiration.mjs +0 -3
- package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.mjs +0 -68
- package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration.service.mjs +0 -53
- package/esm2022/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.mjs +0 -175
- package/esm2022/foehn-page/foehn-page-expiration-timer/interval.helper.mjs +0 -29
- package/esm2022/foehn-page/foehn-page-modal.component.mjs +0 -54
- package/esm2022/foehn-page/foehn-page-modal.service.mjs +0 -38
- package/esm2022/foehn-page/foehn-page.component.mjs +0 -223
- package/esm2022/foehn-page/foehn-page.module.mjs +0 -101
- package/esm2022/foehn-page/foehn-page.service.mjs +0 -54
- package/esm2022/foehn-page/foehn-transmit-waiting-modal/demande-transmit-interceptor.mjs +0 -52
- package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.component.mjs +0 -23
- package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.service.mjs +0 -32
- package/esm2022/foehn-recap-section/foehn-recap-section.component.mjs +0 -98
- package/esm2022/foehn-recap-section/foehn-recap-section.module.mjs +0 -20
- package/esm2022/foehn-recap-section/foehn-recap-section.type.mjs +0 -2
- package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs +0 -50
- package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs +0 -18
- package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +0 -56
- package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +0 -20
- package/esm2022/foehn-table/foehn-table-column-configuration.mjs +0 -3
- package/esm2022/foehn-table/foehn-table-page-change-event.mjs +0 -3
- package/esm2022/foehn-table/foehn-table.component.mjs +0 -190
- package/esm2022/foehn-table/foehn-table.module.mjs +0 -40
- package/esm2022/foehn-table/row-element.type.mjs +0 -3
- package/esm2022/foehn-table/tableSort.mjs +0 -3
- package/esm2022/foehn-upload/abstract-foehn-uploader.component.mjs +0 -242
- package/esm2022/foehn-upload/document-reference.mjs +0 -6
- package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +0 -116
- package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.mjs +0 -6
- package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +0 -199
- package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +0 -40
- package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +0 -250
- package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +0 -40
- package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +0 -125
- package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.type.mjs +0 -6
- package/esm2022/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +0 -163
- package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +0 -178
- package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +0 -44
- package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +0 -83
- package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +0 -21
- package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +0 -66
- package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.type.mjs +0 -7
- package/esm2022/foehn-upload/page-upload-limit.service.mjs +0 -80
- package/esm2022/foehn-upload/pending-upload.type.mjs +0 -3
- package/esm2022/foehn-upload/uploader.helper.mjs +0 -329
- package/esm2022/foehn-user-connected-as/foehn-user-connected-as.component.mjs +0 -21
- package/esm2022/foehn-user-connected-as/foehn-user-connected-as.module.mjs +0 -19
- package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +0 -96
- package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +0 -19
- package/esm2022/foehn-validation-alerts/foehn-validation-alerts.component.mjs +0 -29
- package/esm2022/foehn-validation-alerts/foehn-validation-alerts.module.mjs +0 -18
- package/esm2022/form-error.mjs +0 -2
- package/esm2022/form-post-response.mjs +0 -10
- package/esm2022/gesdem/gesdem-error-handler.service.mjs +0 -85
- package/esm2022/gesdem/gesdem-event.service.mjs +0 -38
- package/esm2022/gesdem/gesdem-handler.service.mjs +0 -201
- package/esm2022/gesdem/gesdem-loader.guard.mjs +0 -25
- package/esm2022/gesdem/gesdem-statut-utils.mjs +0 -25
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +0 -170
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +0 -227
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery.module.mjs +0 -62
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery.service.mjs +0 -97
- package/esm2022/gesdem-action-recovery/reprise-info.mjs +0 -4
- package/esm2022/gesdem-confirmation/gesdem-confirmation.component.mjs +0 -241
- package/esm2022/gesdem-confirmation/gesdem-confirmation.module.mjs +0 -36
- package/esm2022/gesdem-error/gesdem-error.component.mjs +0 -96
- package/esm2022/gesdem-error/gesdem-error.module.mjs +0 -36
- package/esm2022/global.const.mjs +0 -5
- package/esm2022/helpers/demande.helper.mjs +0 -19
- package/esm2022/helpers/object.helper.mjs +0 -124
- package/esm2022/i18n-form.mjs +0 -7
- package/esm2022/pipes/currency.pipe.mjs +0 -18
- package/esm2022/pipes/date.pipe.mjs +0 -43
- package/esm2022/pipes/formatIde.pipe.mjs +0 -22
- package/esm2022/pipes/pipes.module.mjs +0 -18
- package/esm2022/prestations-ng-core.module.mjs +0 -31
- package/esm2022/public_api.mjs +0 -288
- package/esm2022/refinf/model/address-type-light.mjs +0 -3
- package/esm2022/refinf/model/canton.mjs +0 -3
- package/esm2022/refinf/model/district.mjs +0 -3
- package/esm2022/refinf/model/municipality.mjs +0 -3
- package/esm2022/refinf/model/place-of-origin.mjs +0 -3
- package/esm2022/refinf/model/postal-locality.mjs +0 -3
- package/esm2022/sdk-appinfo/application-info.mjs +0 -22
- package/esm2022/sdk-appinfo/application-info.service.mjs +0 -146
- package/esm2022/sdk-currency/currency.helper.mjs +0 -34
- package/esm2022/sdk-date/date.helper.mjs +0 -109
- package/esm2022/sdk-dictionary/default-dictionary.mjs +0 -312
- package/esm2022/sdk-dictionary/sdk-dictionary.module.mjs +0 -16
- package/esm2022/sdk-dictionary/sdk-dictionary.pipe.mjs +0 -28
- package/esm2022/sdk-dictionary/sdk-dictionary.service.mjs +0 -122
- package/esm2022/sdk-drafts/draft.model.mjs +0 -2
- package/esm2022/sdk-drafts/drafts-container.component.mjs +0 -99
- package/esm2022/sdk-drafts/drafts.module.mjs +0 -47
- package/esm2022/sdk-drafts/drafts.service.mjs +0 -51
- package/esm2022/sdk-epayment/model/EPaymentParameters.mjs +0 -2
- package/esm2022/sdk-epayment/pending-payment/pending-payment.component.mjs +0 -24
- package/esm2022/sdk-epayment/sdk-epayment.component.mjs +0 -76
- package/esm2022/sdk-epayment/sdk-epayment.module.mjs +0 -23
- package/esm2022/sdk-epayment/sdk-epayment.service.mjs +0 -51
- package/esm2022/sdk-events-logger/sdk-event-type.mjs +0 -14
- package/esm2022/sdk-events-logger/sdk-event.mjs +0 -3
- package/esm2022/sdk-events-logger/sdk-events-logger.service.mjs +0 -43
- package/esm2022/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs +0 -113
- package/esm2022/sdk-recaptcha/recaptcha.service.mjs +0 -180
- package/esm2022/sdk-recaptcha/sdk-recaptcha.component.mjs +0 -75
- package/esm2022/sdk-recaptcha/sdk-recaptcha.module.mjs +0 -19
- package/esm2022/sdk-redirect/iam-expired-interceptor.service.mjs +0 -62
- package/esm2022/sdk-redirect/redirect.component.mjs +0 -55
- package/esm2022/sdk-redirect/sdk-redirect.module.mjs +0 -19
- package/esm2022/sdk-session-info/session-info-data.mjs +0 -6
- package/esm2022/sdk-session-info/session-info-with-application.service.mjs +0 -68
- package/esm2022/sdk-session-info/session-info.service.mjs +0 -50
- package/esm2022/sdk-statistics/sdk-statistics.service.mjs +0 -74
- package/esm2022/sdk-support-alert/support-alert-container.component.mjs +0 -49
- package/esm2022/sdk-support-alert/support-alert.component.mjs +0 -32
- package/esm2022/sdk-support-alert/support-alert.model.mjs +0 -7
- package/esm2022/sdk-support-alert/support-alert.module.mjs +0 -21
- package/esm2022/sdk-support-alert/support-alert.service.mjs +0 -139
- package/esm2022/service-locator.mjs +0 -4
- package/esm2022/supported-browser.mjs +0 -2
- package/esm2022/validation/validation-handler.service.mjs +0 -44
- /package/{public_api.d.ts → public-api.d.ts} +0 -0
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@angular/cdk/a11y";
|
|
5
|
-
import * as i3 from "../sdk-dictionary/sdk-dictionary.pipe";
|
|
6
|
-
export class FoehnModalComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.closeable = true;
|
|
9
|
-
this.isModalVisibleChange = new EventEmitter();
|
|
10
|
-
this.isVisible = false;
|
|
11
|
-
}
|
|
12
|
-
get isModalVisible() {
|
|
13
|
-
return this.isVisible;
|
|
14
|
-
}
|
|
15
|
-
set isModalVisible(val) {
|
|
16
|
-
// Store the previous value to handle transitions from one state to another.
|
|
17
|
-
const wasOpen = this.isVisible;
|
|
18
|
-
this.isVisible = val;
|
|
19
|
-
this.isModalVisibleChange.emit(this.isVisible);
|
|
20
|
-
this.focusOnContainer(val);
|
|
21
|
-
this.focusOnModalTrigger(wasOpen, val);
|
|
22
|
-
}
|
|
23
|
-
handleKeyboardEvent(event) {
|
|
24
|
-
if (this.closeable && event.key === 'Escape') {
|
|
25
|
-
this.isModalVisible = false;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
focusOnContainer(isVisible) {
|
|
29
|
-
// Has to be a setTimeout as we're affecting the DOM outside of the Angular lifecycle.
|
|
30
|
-
setTimeout(() => {
|
|
31
|
-
if (isVisible) {
|
|
32
|
-
if (this.modalDefaultCloseBtn) {
|
|
33
|
-
this.modalDefaultCloseBtn.nativeElement.focus();
|
|
34
|
-
}
|
|
35
|
-
else if (this.modalBody) {
|
|
36
|
-
this.modalBody.nativeElement.focus();
|
|
37
|
-
}
|
|
38
|
-
// this condition is useless because this.modalTitle should always be here when "isVisible"
|
|
39
|
-
// but not in tests, so we keep it for now
|
|
40
|
-
if (this.modalTitle) {
|
|
41
|
-
this.modalTitle.nativeElement.scrollIntoView();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
focusOnModalTrigger(wasOpen, isVisible) {
|
|
47
|
-
// Focus back on the trigger. No need for a setTimeout as the trigger should still be in the DOM.
|
|
48
|
-
// Only does it when the modal is closed from a open state to avoid to set
|
|
49
|
-
// the focus when the page loads.
|
|
50
|
-
if (wasOpen && !isVisible && this.modalTriggerHtmlElement) {
|
|
51
|
-
this.modalTriggerHtmlElement.focus();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FoehnModalComponent, selector: "foehn-modal", inputs: { id: "id", name: "name", modalSize: "modalSize", modalBodyText: "modalBodyText", modalHeaderText: "modalHeaderText", closeable: "closeable", modalTriggerHtmlElement: "modalTriggerHtmlElement", isModalVisible: "isModalVisible" }, outputs: { isModalVisibleChange: "isModalVisibleChange" }, host: { listeners: { "keyup": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "modalBody", first: true, predicate: ["modalBody"], descendants: true }, { propertyName: "modalTitle", first: true, predicate: ["modalTitle"], descendants: true }, { propertyName: "specificfooter", first: true, predicate: ["specificfooter"], descendants: true }, { propertyName: "modalDefaultCloseBtn", first: true, predicate: ["modalDefaultCloseBtn"], descendants: true }], ngImport: i0, template: "<div\n class=\"modal d-block\"\n [id]=\"id || name\"\n role=\"dialog\"\n aria-labelledby=\"modalTitle\"\n aria-describedby=\"modalBody\"\n *ngIf=\"isModalVisible\"\n cdkTrapFocus\n>\n <div class=\"modal-dialog modal-dialog-centered\" [ngClass]=\"modalSize\">\n <div class=\"modal-content\">\n <div\n class=\"modal-header d-flex\"\n [ngClass]=\"{ 'flex-row-reverse': closeable }\"\n >\n <button\n *ngIf=\"closeable\"\n (click)=\"isModalVisible = false\"\n type=\"button\"\n class=\"btn btn-close\"\n [attr.aria-label]=\"\n 'foehn-modal.btn-close.aria-label' | fromDictionary\n \"\n id=\"closeButton\"\n ></button>\n <h2\n class=\"modal-title h5\"\n id=\"modalTitle\"\n #modalTitle\n [innerHTML]=\"modalHeaderText\"\n ></h2>\n </div>\n <div class=\"modal-body\" id=\"modalBody\" #modalBody tabindex=\"-1\">\n <div *ngIf=\"modalBodyText\" [innerHTML]=\"modalBodyText\"></div>\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer w-100 d-block\">\n <div #specificfooter id=\"specificfooter\">\n <ng-content select=\"[modal-footer]\"></ng-content>\n </div>\n <ng-container *ngIf=\"!specificfooter.innerHTML.trim()\">\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ms-md-auto me-md-2 mb-2 mt-2\">\n <button\n type=\"button\"\n (click)=\"isModalVisible = false\"\n class=\"btn btn-secondary w-100\"\n [attr.aria-label]=\"\n 'foehn-modal.btn-close.aria-label'\n | fromDictionary\n \"\n #modalDefaultCloseBtn\n >\n {{\n 'foehn-modal.btn-close.title'\n | fromDictionary\n }}\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal{top:0;left:0;height:100%;width:100%;position:fixed;z-index:9999;overflow:auto;background-color:#000;background-color:#0006}.modal-title{margin-top:.5em!important}.modal-logo{width:30px}.modal-footer{padding-top:20px}.modal-content{-webkit-animation-name:redirect-animatetop;-webkit-animation-duration:.4s;animation-name:redirect-animatetop;animation-duration:.4s}@-webkit-keyframes redirect-animatetop{0%{top:-300px;opacity:0}to{top:0;opacity:1}}@keyframes redirect-animatetop{0%{top:-300px;opacity:0}to{top:0;opacity:1}}.redirect-modal-header{padding:14px 16px 10px;background-color:#152025;color:#fff}.redirect-modal-body{padding:10px 16px}.redirect-modal-footer{padding:14px 16px 10px;background-color:#152025;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: i3.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
56
|
-
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnModalComponent, decorators: [{
|
|
58
|
-
type: Component,
|
|
59
|
-
args: [{ selector: 'foehn-modal', template: "<div\n class=\"modal d-block\"\n [id]=\"id || name\"\n role=\"dialog\"\n aria-labelledby=\"modalTitle\"\n aria-describedby=\"modalBody\"\n *ngIf=\"isModalVisible\"\n cdkTrapFocus\n>\n <div class=\"modal-dialog modal-dialog-centered\" [ngClass]=\"modalSize\">\n <div class=\"modal-content\">\n <div\n class=\"modal-header d-flex\"\n [ngClass]=\"{ 'flex-row-reverse': closeable }\"\n >\n <button\n *ngIf=\"closeable\"\n (click)=\"isModalVisible = false\"\n type=\"button\"\n class=\"btn btn-close\"\n [attr.aria-label]=\"\n 'foehn-modal.btn-close.aria-label' | fromDictionary\n \"\n id=\"closeButton\"\n ></button>\n <h2\n class=\"modal-title h5\"\n id=\"modalTitle\"\n #modalTitle\n [innerHTML]=\"modalHeaderText\"\n ></h2>\n </div>\n <div class=\"modal-body\" id=\"modalBody\" #modalBody tabindex=\"-1\">\n <div *ngIf=\"modalBodyText\" [innerHTML]=\"modalBodyText\"></div>\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer w-100 d-block\">\n <div #specificfooter id=\"specificfooter\">\n <ng-content select=\"[modal-footer]\"></ng-content>\n </div>\n <ng-container *ngIf=\"!specificfooter.innerHTML.trim()\">\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ms-md-auto me-md-2 mb-2 mt-2\">\n <button\n type=\"button\"\n (click)=\"isModalVisible = false\"\n class=\"btn btn-secondary w-100\"\n [attr.aria-label]=\"\n 'foehn-modal.btn-close.aria-label'\n | fromDictionary\n \"\n #modalDefaultCloseBtn\n >\n {{\n 'foehn-modal.btn-close.title'\n | fromDictionary\n }}\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal{top:0;left:0;height:100%;width:100%;position:fixed;z-index:9999;overflow:auto;background-color:#000;background-color:#0006}.modal-title{margin-top:.5em!important}.modal-logo{width:30px}.modal-footer{padding-top:20px}.modal-content{-webkit-animation-name:redirect-animatetop;-webkit-animation-duration:.4s;animation-name:redirect-animatetop;animation-duration:.4s}@-webkit-keyframes redirect-animatetop{0%{top:-300px;opacity:0}to{top:0;opacity:1}}@keyframes redirect-animatetop{0%{top:-300px;opacity:0}to{top:0;opacity:1}}.redirect-modal-header{padding:14px 16px 10px;background-color:#152025;color:#fff}.redirect-modal-body{padding:10px 16px}.redirect-modal-footer{padding:14px 16px 10px;background-color:#152025;color:#fff}\n"] }]
|
|
60
|
-
}], propDecorators: { id: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], name: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], modalSize: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], modalBodyText: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}], modalHeaderText: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], closeable: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], modalTriggerHtmlElement: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], isModalVisibleChange: [{
|
|
75
|
-
type: Output
|
|
76
|
-
}], modalBody: [{
|
|
77
|
-
type: ViewChild,
|
|
78
|
-
args: ['modalBody']
|
|
79
|
-
}], modalTitle: [{
|
|
80
|
-
type: ViewChild,
|
|
81
|
-
args: ['modalTitle']
|
|
82
|
-
}], specificfooter: [{
|
|
83
|
-
type: ViewChild,
|
|
84
|
-
args: ['specificfooter']
|
|
85
|
-
}], modalDefaultCloseBtn: [{
|
|
86
|
-
type: ViewChild,
|
|
87
|
-
args: ['modalDefaultCloseBtn']
|
|
88
|
-
}], isModalVisible: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], handleKeyboardEvent: [{
|
|
91
|
-
type: HostListener,
|
|
92
|
-
args: ['keyup', ['$event']]
|
|
93
|
-
}] } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW1vZGFsL2ZvZWhuLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tb2RhbC9mb2Vobi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7Ozs7O0FBT3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFzQkksY0FBUyxHQUFHLElBQUksQ0FBQztRQU1qQix5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBY2xDLGNBQVMsR0FBRyxLQUFLLENBQUM7S0FrRDdCO0lBaERHLElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFDSSxjQUFjLENBQUMsR0FBWTtRQUMzQiw0RUFBNEU7UUFDNUUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUUvQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBR0QsbUJBQW1CLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDaEMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxTQUFrQjtRQUN2QyxzRkFBc0Y7UUFDdEYsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDcEQsQ0FBQztxQkFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3pDLENBQUM7Z0JBQ0QsMkZBQTJGO2dCQUMzRiwwQ0FBMEM7Z0JBQzFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbkQsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxPQUFnQixFQUFFLFNBQWtCO1FBQzVELGlHQUFpRztRQUNqRywwRUFBMEU7UUFDMUUsaUNBQWlDO1FBQ2pDLElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQzsrR0F0RlEsbUJBQW1CO21HQUFuQixtQkFBbUIsa3pCQ2ZoQyw2d0ZBbUVBOzs0RkRwRGEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNJLGFBQWE7OEJBTXZCLEVBQUU7c0JBREQsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLHVCQUF1QjtzQkFEdEIsS0FBSztnQkFJTixvQkFBb0I7c0JBRG5CLE1BQU07Z0JBSVAsU0FBUztzQkFEUixTQUFTO3VCQUFDLFdBQVc7Z0JBSXRCLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZO2dCQUl2QixjQUFjO3NCQURiLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUkzQixvQkFBb0I7c0JBRG5CLFNBQVM7dUJBQUMsc0JBQXNCO2dCQVU3QixjQUFjO3NCQURqQixLQUFLO2dCQVlOLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1tb2RhbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi1tb2RhbC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Nb2RhbENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBpZDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1vZGFsU2l6ZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBtb2RhbEJvZHlUZXh0OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1vZGFsSGVhZGVyVGV4dDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBjbG9zZWFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBtb2RhbFRyaWdnZXJIdG1sRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgICBAT3V0cHV0KClcbiAgICBpc01vZGFsVmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ21vZGFsQm9keScpXG4gICAgbW9kYWxCb2R5OiBFbGVtZW50UmVmO1xuXG4gICAgQFZpZXdDaGlsZCgnbW9kYWxUaXRsZScpXG4gICAgbW9kYWxUaXRsZTogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ3NwZWNpZmljZm9vdGVyJylcbiAgICBzcGVjaWZpY2Zvb3RlcjogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ21vZGFsRGVmYXVsdENsb3NlQnRuJylcbiAgICBtb2RhbERlZmF1bHRDbG9zZUJ0bjogRWxlbWVudFJlZjtcblxuICAgIHByaXZhdGUgaXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBnZXQgaXNNb2RhbFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBpc01vZGFsVmlzaWJsZSh2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzIHZhbHVlIHRvIGhhbmRsZSB0cmFuc2l0aW9ucyBmcm9tIG9uZSBzdGF0ZSB0byBhbm90aGVyLlxuICAgICAgICBjb25zdCB3YXNPcGVuID0gdGhpcy5pc1Zpc2libGU7XG5cbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSB2YWw7XG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLmlzVmlzaWJsZSk7XG4gICAgICAgIHRoaXMuZm9jdXNPbkNvbnRhaW5lcih2YWwpO1xuICAgICAgICB0aGlzLmZvY3VzT25Nb2RhbFRyaWdnZXIod2FzT3BlbiwgdmFsKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jbG9zZWFibGUgJiYgZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uQ29udGFpbmVyKGlzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICAvLyBIYXMgdG8gYmUgYSBzZXRUaW1lb3V0IGFzIHdlJ3JlIGFmZmVjdGluZyB0aGUgRE9NIG91dHNpZGUgb2YgdGhlIEFuZ3VsYXIgbGlmZWN5Y2xlLlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tb2RhbERlZmF1bHRDbG9zZUJ0bikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGFsRGVmYXVsdENsb3NlQnRuLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubW9kYWxCb2R5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kYWxCb2R5Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gdGhpcyBjb25kaXRpb24gaXMgdXNlbGVzcyBiZWNhdXNlIHRoaXMubW9kYWxUaXRsZSBzaG91bGQgYWx3YXlzIGJlIGhlcmUgd2hlbiBcImlzVmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IG5vdCBpbiB0ZXN0cywgc28gd2Uga2VlcCBpdCBmb3Igbm93XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubW9kYWxUaXRsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGFsVGl0bGUubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uTW9kYWxUcmlnZ2VyKHdhc09wZW46IGJvb2xlYW4sIGlzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICAvLyBGb2N1cyBiYWNrIG9uIHRoZSB0cmlnZ2VyLiBObyBuZWVkIGZvciBhIHNldFRpbWVvdXQgYXMgdGhlIHRyaWdnZXIgc2hvdWxkIHN0aWxsIGJlIGluIHRoZSBET00uXG4gICAgICAgIC8vIE9ubHkgZG9lcyBpdCB3aGVuIHRoZSBtb2RhbCBpcyBjbG9zZWQgZnJvbSBhIG9wZW4gc3RhdGUgdG8gYXZvaWQgdG8gc2V0XG4gICAgICAgIC8vIHRoZSBmb2N1cyB3aGVuIHRoZSBwYWdlIGxvYWRzLlxuICAgICAgICBpZiAod2FzT3BlbiAmJiAhaXNWaXNpYmxlICYmIHRoaXMubW9kYWxUcmlnZ2VySHRtbEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubW9kYWxUcmlnZ2VySHRtbEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cIm1vZGFsIGQtYmxvY2tcIlxuICAgIFtpZF09XCJpZCB8fCBuYW1lXCJcbiAgICByb2xlPVwiZGlhbG9nXCJcbiAgICBhcmlhLWxhYmVsbGVkYnk9XCJtb2RhbFRpdGxlXCJcbiAgICBhcmlhLWRlc2NyaWJlZGJ5PVwibW9kYWxCb2R5XCJcbiAgICAqbmdJZj1cImlzTW9kYWxWaXNpYmxlXCJcbiAgICBjZGtUcmFwRm9jdXNcbj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIG1vZGFsLWRpYWxvZy1jZW50ZXJlZFwiIFtuZ0NsYXNzXT1cIm1vZGFsU2l6ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9kYWwtaGVhZGVyIGQtZmxleFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnZmxleC1yb3ctcmV2ZXJzZSc6IGNsb3NlYWJsZSB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2xvc2VhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImlzTW9kYWxWaXNpYmxlID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1tb2RhbC5idG4tY2xvc2UuYXJpYS1sYWJlbCcgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cImNsb3NlQnV0dG9uXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGgyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibW9kYWwtdGl0bGUgaDVcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cIm1vZGFsVGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAjbW9kYWxUaXRsZVxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIm1vZGFsSGVhZGVyVGV4dFwiXG4gICAgICAgICAgICAgICAgPjwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCIgaWQ9XCJtb2RhbEJvZHlcIiAjbW9kYWxCb2R5IHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kYWxCb2R5VGV4dFwiIFtpbm5lckhUTUxdPVwibW9kYWxCb2R5VGV4dFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlciB3LTEwMCBkLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAjc3BlY2lmaWNmb290ZXIgaWQ9XCJzcGVjaWZpY2Zvb3RlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbW9kYWwtZm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNwZWNpZmljZm9vdGVyLmlubmVySFRNTC50cmltKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBtb2RhbC1mb290ZXIgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtbWQtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy1tZC1hdXRvIG1lLW1kLTIgbWItMiBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImlzTW9kYWxWaXNpYmxlID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSB3LTEwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1tb2RhbC5idG4tY2xvc2UuYXJpYS1sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNtb2RhbERlZmF1bHRDbG9zZUJ0blxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1tb2RhbC5idG4tY2xvc2UudGl0bGUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { A11yModule } from '@angular/cdk/a11y';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { PipeModule } from '../pipes/pipes.module';
|
|
5
|
-
import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
|
|
6
|
-
import { FoehnModalComponent } from './foehn-modal.component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class FoehnModalModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FoehnModalModule, declarations: [FoehnModalComponent], imports: [CommonModule, A11yModule, PipeModule, SdkDictionaryModule], exports: [FoehnModalComponent] }); }
|
|
11
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnModalModule, imports: [CommonModule, A11yModule, PipeModule, SdkDictionaryModule] }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnModalModule, decorators: [{
|
|
14
|
-
type: NgModule,
|
|
15
|
-
args: [{
|
|
16
|
-
imports: [CommonModule, A11yModule, PipeModule, SdkDictionaryModule],
|
|
17
|
-
declarations: [FoehnModalComponent],
|
|
18
|
-
exports: [FoehnModalComponent]
|
|
19
|
-
}]
|
|
20
|
-
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbW9kYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW1vZGFsL2ZvZWhuLW1vZGFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU85RCxNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7Z0hBQWhCLGdCQUFnQixpQkFIVixtQkFBbUIsYUFEeEIsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLGFBRXpELG1CQUFtQjtnSEFFcEIsZ0JBQWdCLFlBSmYsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsbUJBQW1COzs0RkFJMUQsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixDQUFDO29CQUNwRSxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQaXBlTW9kdWxlIH0gZnJvbSAnLi4vcGlwZXMvcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlNb2R1bGUgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4vZm9laG4tbW9kYWwuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBMTF5TW9kdWxlLCBQaXBlTW9kdWxlLCBTZGtEaWN0aW9uYXJ5TW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtGb2Vobk1vZGFsQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRm9laG5Nb2RhbENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Nb2RhbE1vZHVsZSB7fVxuIl19
|
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { Component, forwardRef, HostBinding, Input, ViewChild, ViewChildren } from '@angular/core';
|
|
3
|
-
import { first } from 'rxjs/operators';
|
|
4
|
-
import { FoehnAutocompleteComponent } from '../foehn-autocomplete/foehn-autocomplete.component';
|
|
5
|
-
import { FoehnInputComponent } from '../foehn-input/foehn-input.component';
|
|
6
|
-
import { ObjectHelper } from '../helpers/object.helper';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../sdk-dictionary/sdk-dictionary.service";
|
|
9
|
-
import * as i2 from "../foehn-autocomplete/foehn-autocomplete.component";
|
|
10
|
-
import * as i3 from "@angular/common";
|
|
11
|
-
import * as i4 from "../foehn-icons/foehn-icon-times.component";
|
|
12
|
-
import * as i5 from "../sdk-dictionary/sdk-dictionary.pipe";
|
|
13
|
-
export class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteComponent {
|
|
14
|
-
constructor(ngZone, dictionaryService) {
|
|
15
|
-
super(ngZone);
|
|
16
|
-
this.dictionaryService = dictionaryService;
|
|
17
|
-
/**
|
|
18
|
-
* The label in the object. Can be a string or a function
|
|
19
|
-
* Defaults to `label`
|
|
20
|
-
*/
|
|
21
|
-
this.elementBadgeLabel = 'label';
|
|
22
|
-
this.selectedItemsListLegend = 'foehn-multiselect-autocomplete.selected-items-list-legend';
|
|
23
|
-
this.noElementsSelectedLabel = 'foehn-multiselect-autocomplete.sr-default-focus.no-element-to-delete';
|
|
24
|
-
this.showEmptyListMessage = false;
|
|
25
|
-
this.srAnnouncements = '';
|
|
26
|
-
this.SR_ANNOUNCEMENT_CLEAR_TIMEOUT_INTERVAL_MS = 2000;
|
|
27
|
-
}
|
|
28
|
-
get defaultElementValues() {
|
|
29
|
-
return this.defaultElementValues_;
|
|
30
|
-
}
|
|
31
|
-
set defaultElementValues(items) {
|
|
32
|
-
this.defaultElementValues_ = [...items];
|
|
33
|
-
if ((!this.model || !this.model.length) && items) {
|
|
34
|
-
this.updateNgModel(items);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
set defaultElementValue(item) {
|
|
38
|
-
this.defaultElementValues = [item];
|
|
39
|
-
}
|
|
40
|
-
ngOnInit() {
|
|
41
|
-
super.ngOnInit();
|
|
42
|
-
// The host is not related to foehn error management but foehn-autocomplete is.
|
|
43
|
-
this.hostId = this.buildId('ParentContainer');
|
|
44
|
-
this.hostName = this.hostId;
|
|
45
|
-
this.excludeFromErrorSummary = true;
|
|
46
|
-
}
|
|
47
|
-
onModelChange(value) {
|
|
48
|
-
super.onModelChange(value);
|
|
49
|
-
if (!value || ObjectHelper.isEmpty(value)) {
|
|
50
|
-
this.manageSuggestionListAndFocusAfterRemovingAnItem(null);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
hasErrorsToDisplay() {
|
|
54
|
-
return !!this.autocompleteComponent
|
|
55
|
-
? this.autocompleteComponent.hasErrorsToDisplay()
|
|
56
|
-
: false;
|
|
57
|
-
}
|
|
58
|
-
updateMultiselectAutocomplete() {
|
|
59
|
-
const validValue = this.getValidValue();
|
|
60
|
-
if (typeof validValue !== 'undefined') {
|
|
61
|
-
this.updateNgModel(validValue);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
handleUserInput() {
|
|
65
|
-
const validValue = this.getValidValue();
|
|
66
|
-
if (typeof validValue !== 'undefined') {
|
|
67
|
-
this.handleChange(validValue);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
addItem(item) {
|
|
71
|
-
if (!!item) {
|
|
72
|
-
if (!this.model) {
|
|
73
|
-
this.model = [];
|
|
74
|
-
}
|
|
75
|
-
const index = this.model.indexOf(item);
|
|
76
|
-
if (index === -1) {
|
|
77
|
-
this.model.push(item);
|
|
78
|
-
this.updateMultiselectAutocomplete();
|
|
79
|
-
this.handleUserInput();
|
|
80
|
-
this.manageSuggestionListAndFocusAfterAddingAnItem();
|
|
81
|
-
this.manageScreenReaderAnnouncement(item, false);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
removeItem(item, index) {
|
|
86
|
-
this.model.splice(index, 1);
|
|
87
|
-
this.updateMultiselectAutocomplete();
|
|
88
|
-
this.handleUserInput();
|
|
89
|
-
this.manageSuggestionListAndFocusAfterRemovingAnItem(index);
|
|
90
|
-
this.manageScreenReaderAnnouncement(item, true);
|
|
91
|
-
this.autocompleteComponent.markAsDirty();
|
|
92
|
-
}
|
|
93
|
-
trackByFn(index) {
|
|
94
|
-
return index;
|
|
95
|
-
}
|
|
96
|
-
getLabel(value) {
|
|
97
|
-
const elem = this.findElementByModelItem(value);
|
|
98
|
-
return super.getLabel(elem);
|
|
99
|
-
}
|
|
100
|
-
canBeDeleted(index) {
|
|
101
|
-
return (!this.disabled &&
|
|
102
|
-
(!this.defaultElementValues ||
|
|
103
|
-
!this.defaultElementValues.includes(this.model[index])));
|
|
104
|
-
}
|
|
105
|
-
onAutocompleteElementsLoaded(elements) {
|
|
106
|
-
// Need to wait for childView to be loaded
|
|
107
|
-
setTimeout(() => {
|
|
108
|
-
if (!!this.autocompleteComponent) {
|
|
109
|
-
this.autocompleteComponent.elements =
|
|
110
|
-
this.filterAutocompleteElements(elements);
|
|
111
|
-
if (!this.disabled &&
|
|
112
|
-
!this.autocompleteComponent.elements.length) {
|
|
113
|
-
this.showAlertMessageAndHideAutocomplete();
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
getDeleteButtonAriaLabel(element) {
|
|
119
|
-
return `${this.dictionaryService.getKeySync('foehn-multiselect-autocomplete.selected.delete', { elementLabel: this.getLabel(element) })}`;
|
|
120
|
-
}
|
|
121
|
-
hasDefaultDeleteFocusArea() {
|
|
122
|
-
return (!this.disabled &&
|
|
123
|
-
!this.defaultElementValues?.length &&
|
|
124
|
-
!this.model?.length);
|
|
125
|
-
}
|
|
126
|
-
getBadgeLabel(element) {
|
|
127
|
-
if (typeof this.elementBadgeLabel === 'string') {
|
|
128
|
-
return this.getLabel(element);
|
|
129
|
-
}
|
|
130
|
-
return this.elementBadgeLabel(element);
|
|
131
|
-
}
|
|
132
|
-
findElementByModelItem(item) {
|
|
133
|
-
if (!!this.elements && !!this.elements.length) {
|
|
134
|
-
const itemValue = typeof item !== 'object' ? item : this.getValue(item);
|
|
135
|
-
const elem = this.elements.find((element) => this.getValue(element) === itemValue);
|
|
136
|
-
if (!!elem) {
|
|
137
|
-
return elem;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return item;
|
|
141
|
-
}
|
|
142
|
-
getValidValue() {
|
|
143
|
-
if (!this.model || !this.model.length) {
|
|
144
|
-
if (this.model_ !== undefined) {
|
|
145
|
-
return null;
|
|
146
|
-
}
|
|
147
|
-
return undefined;
|
|
148
|
-
}
|
|
149
|
-
return this.model;
|
|
150
|
-
}
|
|
151
|
-
focusNextAreaAfterDelete(removedIndex) {
|
|
152
|
-
// Adjust index depending on default elements that are not deletable
|
|
153
|
-
if (!!this.defaultElementValues) {
|
|
154
|
-
removedIndex -= this.defaultElementValues.length;
|
|
155
|
-
}
|
|
156
|
-
const closeButtonsElemRefArray = [...this.selectedElemRef.toArray()];
|
|
157
|
-
// Need to find an element to focus on
|
|
158
|
-
if (removedIndex === closeButtonsElemRefArray.length) {
|
|
159
|
-
if (!!closeButtonsElemRefArray.length) {
|
|
160
|
-
return closeButtonsElemRefArray[removedIndex - 1].nativeElement.focus();
|
|
161
|
-
}
|
|
162
|
-
const defaultElemRefArray = [...this.defaultElemRef.toArray()];
|
|
163
|
-
if (!!defaultElemRefArray.length) {
|
|
164
|
-
return defaultElemRefArray[defaultElemRefArray.length - 1].nativeElement.focus();
|
|
165
|
-
}
|
|
166
|
-
return this.defaultDeleteFocusArea.nativeElement.focus();
|
|
167
|
-
}
|
|
168
|
-
// Otherwise focus element by DOM replacement
|
|
169
|
-
}
|
|
170
|
-
filterAutocompleteElements(elements) {
|
|
171
|
-
const filteredElements = ObjectHelper.deepCopy(elements);
|
|
172
|
-
if (!!this.model && !!this.model.length) {
|
|
173
|
-
this.model.forEach((selected) => {
|
|
174
|
-
for (const [index, value] of filteredElements.entries()) {
|
|
175
|
-
const elem = this.findElementByModelItem(selected);
|
|
176
|
-
if (ObjectHelper.isEqual(elem, value)) {
|
|
177
|
-
filteredElements.splice(index, 1);
|
|
178
|
-
break;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
return filteredElements;
|
|
184
|
-
}
|
|
185
|
-
manageSuggestionListAndFocusAfterAddingAnItem() {
|
|
186
|
-
// Empty autocomplete input
|
|
187
|
-
this.autocompleteInputValue = null;
|
|
188
|
-
// Remove selected item from autocomplete suggestion list
|
|
189
|
-
this.autocompleteComponent.elements = this.filterAutocompleteElements(this.elements);
|
|
190
|
-
// Check if we still have suggestions to display
|
|
191
|
-
if (!this.autocompleteComponent.elements.length) {
|
|
192
|
-
this.showAlertMessageAndHideAutocomplete();
|
|
193
|
-
// Need setTimeout to ensure alert message is on the DOM and can be focusable
|
|
194
|
-
setTimeout(() => {
|
|
195
|
-
const alertMessage = this.alertMessageContainer.nativeElement.querySelector('p');
|
|
196
|
-
if (alertMessage) {
|
|
197
|
-
alertMessage.focus();
|
|
198
|
-
}
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
manageSuggestionListAndFocusAfterRemovingAnItem(removedIndex) {
|
|
203
|
-
// Hide message saying no more suggestions to display
|
|
204
|
-
this.showEmptyListMessage = false;
|
|
205
|
-
if (this.autocompleteComponent) {
|
|
206
|
-
// Manually show autocomplete because there is at least one suggestions to display
|
|
207
|
-
this.autocompleteComponent.inputElement.nativeElement.hidden =
|
|
208
|
-
false;
|
|
209
|
-
// Add back selected item to autocomplete suggestion list
|
|
210
|
-
this.autocompleteComponent.elements =
|
|
211
|
-
this.filterAutocompleteElements(this.elements);
|
|
212
|
-
}
|
|
213
|
-
if (removedIndex !== null) {
|
|
214
|
-
// When deleting a selected item, check were to set focus back when no more items to delete
|
|
215
|
-
// eslint-disable-next-line rxjs-angular/prefer-async-pipe
|
|
216
|
-
this.selectedElemRef.changes.pipe(first()).subscribe(() => {
|
|
217
|
-
this.focusNextAreaAfterDelete(removedIndex);
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
showAlertMessageAndHideAutocomplete() {
|
|
222
|
-
// Show a message to user indicating there is no more suggestions to display
|
|
223
|
-
this.showEmptyListMessage = true;
|
|
224
|
-
// Manually reset and hide autocomplete because there is no more suggestions to display
|
|
225
|
-
this.autocompleteInputValue = null;
|
|
226
|
-
this.autocompleteComponent.inputElement.nativeElement.hidden = true;
|
|
227
|
-
}
|
|
228
|
-
manageScreenReaderAnnouncement(element, isDelete) {
|
|
229
|
-
clearTimeout(this.srAnnouncementClearTimer);
|
|
230
|
-
if (isDelete) {
|
|
231
|
-
this.srAnnouncements += `${this.dictionaryService.getKeySync('foehn-multiselect-autocomplete.sr-announcement.deleted', { elementLabel: this.getLabel(element) })}`;
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
this.srAnnouncements += `${this.dictionaryService.getKeySync('foehn-multiselect-autocomplete.sr-announcement.added', { elementLabel: this.getLabel(element) })}`;
|
|
235
|
-
}
|
|
236
|
-
this.srAnnouncementClearTimer = setTimeout(() => {
|
|
237
|
-
this.srAnnouncements = '';
|
|
238
|
-
}, this.SR_ANNOUNCEMENT_CLEAR_TIMEOUT_INTERVAL_MS);
|
|
239
|
-
}
|
|
240
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnMultiselectAutocompleteComponent, deps: [{ token: i0.NgZone }, { token: i1.SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
241
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FoehnMultiselectAutocompleteComponent, selector: "foehn-multiselect-autocomplete", inputs: { elementBadgeLabel: "elementBadgeLabel", selectedItemsListLegend: "selectedItemsListLegend", noElementsSelectedLabel: "noElementsSelectedLabel", defaultElementValues: "defaultElementValues", defaultElementValue: "defaultElementValue" }, host: { properties: { "attr.name": "this.hostName" } }, providers: [
|
|
242
|
-
{
|
|
243
|
-
provide: FoehnInputComponent,
|
|
244
|
-
useExisting: forwardRef(() => FoehnMultiselectAutocompleteComponent),
|
|
245
|
-
multi: true
|
|
246
|
-
}
|
|
247
|
-
], viewQueries: [{ propertyName: "autocompleteComponent", first: true, predicate: ["autocompleteComponent"], descendants: true }, { propertyName: "alertMessageContainer", first: true, predicate: ["alertMessageContainer"], descendants: true }, { propertyName: "defaultDeleteFocusArea", first: true, predicate: ["defaultDeleteFocusArea"], descendants: true }, { propertyName: "selectedElemRef", predicate: ["selectedElemRef"], descendants: true }, { propertyName: "defaultElemRef", predicate: ["defaultElemRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group container-box\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n>\n <foehn-autocomplete\n #autocompleteComponent\n [name]=\"name\"\n [label]=\"label\"\n [elements]=\"elements\"\n [elementsUrl]=\"elementsUrl\"\n [elementValue]=\"elementValue\"\n [elementLabel]=\"elementLabel\"\n [elementSuggestionLabel]=\"elementSuggestionLabel\"\n [elementValueIdentity]=\"elementValueIdentity\"\n [elementDisabled]=\"elementDisabled\"\n [elementGroup]=\"elementGroup\"\n [allowCustomValue]=\"false\"\n [searchValueMinCharsCount]=\"searchValueMinCharsCount\"\n [customValueModelGenerator]=\"customValueModelGenerator\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n (userInput)=\"addItem($event)\"\n [(model)]=\"autocompleteInputValue\"\n (elementsLoaded)=\"onAutocompleteElementsLoaded($event)\"\n [showErrorWhenDisabled]=\"showErrorWhenDisabled\"\n [hideNotRequiredExtraLabel]=\"hideNotRequiredExtraLabel\"\n [itemHeightInSuggestionListInPx]=\"itemHeightInSuggestionListInPx\"\n [caseSensitiveSearch]=\"caseSensitiveSearch\"\n [isLabelSrOnly]=\"isLabelSrOnly\"\n [isSuggestionListDynamic]=\"isSuggestionListDynamic\"\n >\n <small\n *ngIf=\"!showEmptyListMessage\"\n [attr.id]=\"buildChildId('Help')\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"\n helpText\n ? helpText\n : ('foehn-multiselect-autocomplete.autocomplete.screen-reader.label'\n | fromDictionary)\n \"\n ></small>\n\n <ng-content></ng-content>\n\n <div\n [id]=\"buildChildId('AlertMessageContainer')\"\n role=\"status\"\n #alertMessageContainer\n >\n <p\n *ngIf=\"showEmptyListMessage\"\n class=\"alert alert-info mb-0\"\n tabindex=\"0\"\n >\n {{\n 'foehn-multiselect-autocomplete.autocomplete.empty-message'\n | fromDictionary\n }}\n </p>\n </div>\n </foehn-autocomplete>\n\n <div class=\"selected-list-container pt-2\" tabindex=\"-1\">\n <small\n *ngIf=\"hasDefaultDeleteFocusArea()\"\n class=\"form-text text-secondary my-0\"\n [tabindex]=\"0\"\n [innerHTML]=\"noElementsSelectedLabel | fromDictionary\"\n #defaultDeleteFocusArea\n ></small>\n\n <p\n [id]=\"buildChildId('srOnlyAnnouncements')\"\n class=\"visually-hidden\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {{ srAnnouncements }}\n </p>\n\n <fieldset\n *ngIf=\"!!model?.length\"\n class=\"mb-0\"\n [attr.aria-describedby]=\"buildChildId('Label')\"\n >\n <legend\n [id]=\"buildChildId('Legend')\"\n class=\"form-text text-secondary small mb-0\"\n [innerHTML]=\"selectedItemsListLegend | fromDictionary\"\n ></legend>\n\n <div class=\"selected-list d-flex align-content-stretch flex-wrap\">\n <ng-container\n *ngFor=\"\n let element of model;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <span\n *ngIf=\"!canBeDeleted(index)\"\n class=\"badge rounded-pill bg-secondary me-1 mb-1 py-2 px-3 d-flex align-items-center\"\n [tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-describedby]=\"buildChildId('Legend')\"\n #defaultElemRef\n >\n {{ getBadgeLabel(element) }}\n <span class=\"visually-hidden\">\n {{\n 'foehn-multiselect-autocomplete.sr-default-selected-element'\n | fromDictionary\n }}\n </span>\n </span>\n <button\n *ngIf=\"canBeDeleted(index)\"\n type=\"button\"\n class=\"btn btn-primary badge rounded-pill me-1 mb-1 py-2 px-3 d-flex align-items-center\"\n [tabindex]=\"0\"\n [attr.aria-label]=\"getDeleteButtonAriaLabel(element)\"\n [attr.aria-describedby]=\"buildChildId('Legend')\"\n [title]=\"getDeleteButtonAriaLabel(element)\"\n (click)=\"removeItem(element, index)\"\n #selectedElemRef\n >\n {{ getBadgeLabel(element) }}\n <foehn-icon-times\n aria-hidden=\"true\"\n class=\"ms-2\"\n [title]=\"getDeleteButtonAriaLabel(element)\"\n ></foehn-icon-times>\n </button>\n </ng-container>\n </div>\n </fieldset>\n </div>\n</div>\n", styles: ["foehn-autocomplete p.alert:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem var(--vd-focus)}:host ::ng-deep foehn-autocomplete .form-group{margin-bottom:0!important}.selected-list-container .btn{text-transform:none}:host ::ng-deep .btn .svg-inline--fa{color:#fff!important}.selected-list-container span.rounded-pill:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem var(--vd-focus)}.container-box{border:1px solid #ededed;background-color:#fbfbfb;padding:.5rem}.container-box.vd-form-group-danger{border-left:5px solid var(--vd-danger);padding-left:1rem}:host ::ng-deep foehn-autocomplete div.vd-form-group-danger{border-left:0;padding-left:0}\n"], dependencies: [{ kind: "component", type: i2.FoehnAutocompleteComponent, selector: "foehn-autocomplete", inputs: ["searchValueMinCharsCount", "allowCustomValue", "isSuggestionListDynamic", "customValueModelGenerator", "itemHeightInSuggestionListInPx", "elementSuggestionLabel", "caseSensitiveSearch", "disabled"], outputs: ["userSearchInput"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FoehnIconTimesComponent, selector: "foehn-icon-times" }, { kind: "pipe", type: i5.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
248
|
-
}
|
|
249
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnMultiselectAutocompleteComponent, decorators: [{
|
|
250
|
-
type: Component,
|
|
251
|
-
args: [{ selector: 'foehn-multiselect-autocomplete', providers: [
|
|
252
|
-
{
|
|
253
|
-
provide: FoehnInputComponent,
|
|
254
|
-
useExisting: forwardRef(() => FoehnMultiselectAutocompleteComponent),
|
|
255
|
-
multi: true
|
|
256
|
-
}
|
|
257
|
-
], template: "<div\n class=\"form-group container-box\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n>\n <foehn-autocomplete\n #autocompleteComponent\n [name]=\"name\"\n [label]=\"label\"\n [elements]=\"elements\"\n [elementsUrl]=\"elementsUrl\"\n [elementValue]=\"elementValue\"\n [elementLabel]=\"elementLabel\"\n [elementSuggestionLabel]=\"elementSuggestionLabel\"\n [elementValueIdentity]=\"elementValueIdentity\"\n [elementDisabled]=\"elementDisabled\"\n [elementGroup]=\"elementGroup\"\n [allowCustomValue]=\"false\"\n [searchValueMinCharsCount]=\"searchValueMinCharsCount\"\n [customValueModelGenerator]=\"customValueModelGenerator\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n (userInput)=\"addItem($event)\"\n [(model)]=\"autocompleteInputValue\"\n (elementsLoaded)=\"onAutocompleteElementsLoaded($event)\"\n [showErrorWhenDisabled]=\"showErrorWhenDisabled\"\n [hideNotRequiredExtraLabel]=\"hideNotRequiredExtraLabel\"\n [itemHeightInSuggestionListInPx]=\"itemHeightInSuggestionListInPx\"\n [caseSensitiveSearch]=\"caseSensitiveSearch\"\n [isLabelSrOnly]=\"isLabelSrOnly\"\n [isSuggestionListDynamic]=\"isSuggestionListDynamic\"\n >\n <small\n *ngIf=\"!showEmptyListMessage\"\n [attr.id]=\"buildChildId('Help')\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"\n helpText\n ? helpText\n : ('foehn-multiselect-autocomplete.autocomplete.screen-reader.label'\n | fromDictionary)\n \"\n ></small>\n\n <ng-content></ng-content>\n\n <div\n [id]=\"buildChildId('AlertMessageContainer')\"\n role=\"status\"\n #alertMessageContainer\n >\n <p\n *ngIf=\"showEmptyListMessage\"\n class=\"alert alert-info mb-0\"\n tabindex=\"0\"\n >\n {{\n 'foehn-multiselect-autocomplete.autocomplete.empty-message'\n | fromDictionary\n }}\n </p>\n </div>\n </foehn-autocomplete>\n\n <div class=\"selected-list-container pt-2\" tabindex=\"-1\">\n <small\n *ngIf=\"hasDefaultDeleteFocusArea()\"\n class=\"form-text text-secondary my-0\"\n [tabindex]=\"0\"\n [innerHTML]=\"noElementsSelectedLabel | fromDictionary\"\n #defaultDeleteFocusArea\n ></small>\n\n <p\n [id]=\"buildChildId('srOnlyAnnouncements')\"\n class=\"visually-hidden\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {{ srAnnouncements }}\n </p>\n\n <fieldset\n *ngIf=\"!!model?.length\"\n class=\"mb-0\"\n [attr.aria-describedby]=\"buildChildId('Label')\"\n >\n <legend\n [id]=\"buildChildId('Legend')\"\n class=\"form-text text-secondary small mb-0\"\n [innerHTML]=\"selectedItemsListLegend | fromDictionary\"\n ></legend>\n\n <div class=\"selected-list d-flex align-content-stretch flex-wrap\">\n <ng-container\n *ngFor=\"\n let element of model;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <span\n *ngIf=\"!canBeDeleted(index)\"\n class=\"badge rounded-pill bg-secondary me-1 mb-1 py-2 px-3 d-flex align-items-center\"\n [tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-describedby]=\"buildChildId('Legend')\"\n #defaultElemRef\n >\n {{ getBadgeLabel(element) }}\n <span class=\"visually-hidden\">\n {{\n 'foehn-multiselect-autocomplete.sr-default-selected-element'\n | fromDictionary\n }}\n </span>\n </span>\n <button\n *ngIf=\"canBeDeleted(index)\"\n type=\"button\"\n class=\"btn btn-primary badge rounded-pill me-1 mb-1 py-2 px-3 d-flex align-items-center\"\n [tabindex]=\"0\"\n [attr.aria-label]=\"getDeleteButtonAriaLabel(element)\"\n [attr.aria-describedby]=\"buildChildId('Legend')\"\n [title]=\"getDeleteButtonAriaLabel(element)\"\n (click)=\"removeItem(element, index)\"\n #selectedElemRef\n >\n {{ getBadgeLabel(element) }}\n <foehn-icon-times\n aria-hidden=\"true\"\n class=\"ms-2\"\n [title]=\"getDeleteButtonAriaLabel(element)\"\n ></foehn-icon-times>\n </button>\n </ng-container>\n </div>\n </fieldset>\n </div>\n</div>\n", styles: ["foehn-autocomplete p.alert:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem var(--vd-focus)}:host ::ng-deep foehn-autocomplete .form-group{margin-bottom:0!important}.selected-list-container .btn{text-transform:none}:host ::ng-deep .btn .svg-inline--fa{color:#fff!important}.selected-list-container span.rounded-pill:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem var(--vd-focus)}.container-box{border:1px solid #ededed;background-color:#fbfbfb;padding:.5rem}.container-box.vd-form-group-danger{border-left:5px solid var(--vd-danger);padding-left:1rem}:host ::ng-deep foehn-autocomplete div.vd-form-group-danger{border-left:0;padding-left:0}\n"] }]
|
|
258
|
-
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i1.SdkDictionaryService }], propDecorators: { hostName: [{
|
|
259
|
-
type: HostBinding,
|
|
260
|
-
args: ['attr.name']
|
|
261
|
-
}], autocompleteComponent: [{
|
|
262
|
-
type: ViewChild,
|
|
263
|
-
args: ['autocompleteComponent']
|
|
264
|
-
}], alertMessageContainer: [{
|
|
265
|
-
type: ViewChild,
|
|
266
|
-
args: ['alertMessageContainer']
|
|
267
|
-
}], selectedElemRef: [{
|
|
268
|
-
type: ViewChildren,
|
|
269
|
-
args: ['selectedElemRef']
|
|
270
|
-
}], defaultElemRef: [{
|
|
271
|
-
type: ViewChildren,
|
|
272
|
-
args: ['defaultElemRef']
|
|
273
|
-
}], defaultDeleteFocusArea: [{
|
|
274
|
-
type: ViewChild,
|
|
275
|
-
args: ['defaultDeleteFocusArea']
|
|
276
|
-
}], elementBadgeLabel: [{
|
|
277
|
-
type: Input
|
|
278
|
-
}], selectedItemsListLegend: [{
|
|
279
|
-
type: Input
|
|
280
|
-
}], noElementsSelectedLabel: [{
|
|
281
|
-
type: Input
|
|
282
|
-
}], defaultElementValues: [{
|
|
283
|
-
type: Input
|
|
284
|
-
}], defaultElementValue: [{
|
|
285
|
-
type: Input
|
|
286
|
-
}] } });
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQ0gsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUlMLFNBQVMsRUFDVCxZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQWlCeEQsTUFBTSxPQUFPLHFDQUNULFNBQVEsMEJBQTBCO0lBNENsQyxZQUNJLE1BQWMsRUFDTixpQkFBdUM7UUFFL0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRk4sc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQXpCbkQ7OztXQUdHO1FBRUgsc0JBQWlCLEdBQVEsT0FBTyxDQUFDO1FBR2pDLDRCQUF1QixHQUNuQiwyREFBMkQsQ0FBQztRQUdoRSw0QkFBdUIsR0FDbkIsc0VBQXNFLENBQUM7UUFHM0UseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdC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QUFDLHFDQUFxQyxDQUM5QztnQkFDRCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osbWtCQ2hDTCx3NUtBMklBOzs0RkR6R2EscUNBQXFDO2tCQWRqRCxTQUFTOytCQUNJLGdDQUFnQyxhQUcvQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLEVBQUUsVUFBVSxDQUNuQixHQUFHLEVBQUUsc0NBQXNDLENBQzlDOzRCQUNELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzhHQU9ELFFBQVE7c0JBRFAsV0FBVzt1QkFBQyxXQUFXO2dCQUl4QixxQkFBcUI7c0JBRHBCLFNBQVM7dUJBQUMsdUJBQXVCO2dCQUlsQyxxQkFBcUI7c0JBRHBCLFNBQVM7dUJBQUMsdUJBQXVCO2dCQUlsQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUkvQixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUk5QixzQkFBc0I7c0JBRHJCLFNBQVM7dUJBQUMsd0JBQXdCO2dCQVFuQyxpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sdUJBQXVCO3NCQUR0QixLQUFLO2dCQUtOLHVCQUF1QjtzQkFEdEIsS0FBSztnQkF3QkYsb0JBQW9CO3NCQUR2QixLQUFLO2dCQVNGLG1CQUFtQjtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZvZWhuQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4tYXV0b2NvbXBsZXRlL2ZvZWhuLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYmplY3RIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL29iamVjdC5oZWxwZXInO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZvZWhuSW5wdXRDb21wb25lbnQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZihcbiAgICAgICAgICAgICAgICAoKSA9PiBGb2Vobk11bHRpc2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5NdWx0aXNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgRm9laG5BdXRvY29tcGxldGVDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5uYW1lJylcbiAgICBob3N0TmFtZTogc3RyaW5nO1xuXG4gICAgQFZpZXdDaGlsZCgnYXV0b2NvbXBsZXRlQ29tcG9uZW50JylcbiAgICBhdXRvY29tcGxldGVDb21wb25lbnQ6IEZvZWhuQXV0b2NvbXBsZXRlQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgnYWxlcnRNZXNzYWdlQ29udGFpbmVyJylcbiAgICBhbGVydE1lc3NhZ2VDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkcmVuKCdzZWxlY3RlZEVsZW1SZWYnKVxuICAgIHNlbGVjdGVkRWxlbVJlZjogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gICAgQFZpZXdDaGlsZHJlbignZGVmYXVsdEVsZW1SZWYnKVxuICAgIGRlZmF1bHRFbGVtUmVmOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG5cbiAgICBAVmlld0NoaWxkKCdkZWZhdWx0RGVsZXRlRm9jdXNBcmVhJylcbiAgICBkZWZhdWx0RGVsZXRlRm9jdXNBcmVhOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGluIHRoZSBvYmplY3QuIENhbiBiZSBhIHN0cmluZyBvciBhIGZ1bmN0aW9uXG4gICAgICogRGVmYXVsdHMgdG8gYGxhYmVsYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZWxlbWVudEJhZGdlTGFiZWw6IGFueSA9ICdsYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNlbGVjdGVkSXRlbXNMaXN0TGVnZW5kID1cbiAgICAgICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zZWxlY3RlZC1pdGVtcy1saXN0LWxlZ2VuZCc7XG5cbiAgICBASW5wdXQoKVxuICAgIG5vRWxlbWVudHNTZWxlY3RlZExhYmVsID1cbiAgICAgICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1kZWZhdWx0LWZvY3VzLm5vLWVsZW1lbnQtdG8tZGVsZXRlJztcblxuICAgIGF1dG9jb21wbGV0ZUlucHV0VmFsdWU6IHN0cmluZztcbiAgICBzaG93RW1wdHlMaXN0TWVzc2FnZSA9IGZhbHNlO1xuICAgIHNyQW5ub3VuY2VtZW50cyA9ICcnO1xuXG4gICAgcHJpdmF0ZSBkZWZhdWx0RWxlbWVudFZhbHVlc186IHVua25vd25bXTtcbiAgICBwcml2YXRlIHNyQW5ub3VuY2VtZW50Q2xlYXJUaW1lcjogYW55O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgU1JfQU5OT1VOQ0VNRU5UX0NMRUFSX1RJTUVPVVRfSU5URVJWQUxfTVMgPSAyMDAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIGRpY3Rpb25hcnlTZXJ2aWNlOiBTZGtEaWN0aW9uYXJ5U2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihuZ1pvbmUpO1xuICAgIH1cblxuICAgIGdldCBkZWZhdWx0RWxlbWVudFZhbHVlcygpOiB1bmtub3duW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlc187XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZGVmYXVsdEVsZW1lbnRWYWx1ZXMoaXRlbXM6IHVua25vd25bXSkge1xuICAgICAgICB0aGlzLmRlZmF1bHRFbGVtZW50VmFsdWVzXyA9IFsuLi5pdGVtc107XG4gICAgICAgIGlmICgoIXRoaXMubW9kZWwgfHwgIXRoaXMubW9kZWwubGVuZ3RoKSAmJiBpdGVtcykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOZ01vZGVsKGl0ZW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRlZmF1bHRFbGVtZW50VmFsdWUoaXRlbTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEVsZW1lbnRWYWx1ZXMgPSBbaXRlbV07XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIC8vIFRoZSBob3N0IGlzIG5vdCByZWxhdGVkIHRvIGZvZWhuIGVycm9yIG1hbmFnZW1lbnQgYnV0IGZvZWhuLWF1dG9jb21wbGV0ZSBpcy5cbiAgICAgICAgdGhpcy5ob3N0SWQgPSB0aGlzLmJ1aWxkSWQoJ1BhcmVudENvbnRhaW5lcicpO1xuICAgICAgICB0aGlzLmhvc3ROYW1lID0gdGhpcy5ob3N0SWQ7XG4gICAgICAgIHRoaXMuZXhjbHVkZUZyb21FcnJvclN1bW1hcnkgPSB0cnVlO1xuICAgIH1cblxuICAgIG9uTW9kZWxDaGFuZ2UodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBzdXBlci5vbk1vZGVsQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgaWYgKCF2YWx1ZSB8fCBPYmplY3RIZWxwZXIuaXNFbXB0eSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMubWFuYWdlU3VnZ2VzdGlvbkxpc3RBbmRGb2N1c0FmdGVyUmVtb3ZpbmdBbkl0ZW0obnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYXNFcnJvcnNUb0Rpc3BsYXkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gICAgICAgICAgICA/IHRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50Lmhhc0Vycm9yc1RvRGlzcGxheSgpXG4gICAgICAgICAgICA6IGZhbHNlO1xuICAgIH1cblxuICAgIHVwZGF0ZU11bHRpc2VsZWN0QXV0b2NvbXBsZXRlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZFZhbHVlID0gdGhpcy5nZXRWYWxpZFZhbHVlKCk7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsaWRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTmdNb2RlbCh2YWxpZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZVVzZXJJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsaWRWYWx1ZSA9IHRoaXMuZ2V0VmFsaWRWYWx1ZSgpO1xuICAgICAgICBpZiAodHlwZW9mIHZhbGlkVmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZSh2YWxpZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFkZEl0ZW0oaXRlbTogdW5rbm93bik6IHZvaWQge1xuICAgICAgICBpZiAoISFpdGVtKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMubW9kZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsID0gW107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb2RlbC5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU11bHRpc2VsZWN0QXV0b2NvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVVc2VySW5wdXQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1hbmFnZVN1Z2dlc3Rpb25MaXN0QW5kRm9jdXNBZnRlckFkZGluZ0FuSXRlbSgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWFuYWdlU2NyZWVuUmVhZGVyQW5ub3VuY2VtZW50KGl0ZW0sIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUl0ZW0oaXRlbTogdW5rbm93biwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLm1vZGVsLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMudXBkYXRlTXVsdGlzZWxlY3RBdXRvY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5oYW5kbGVVc2VySW5wdXQoKTtcbiAgICAgICAgdGhpcy5tYW5hZ2VTdWdnZXN0aW9uTGlzdEFuZEZvY3VzQWZ0ZXJSZW1vdmluZ0FuSXRlbShpbmRleCk7XG4gICAgICAgIHRoaXMubWFuYWdlU2NyZWVuUmVhZGVyQW5ub3VuY2VtZW50KGl0ZW0sIHRydWUpO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudC5tYXJrQXNEaXJ0eSgpO1xuICAgIH1cblxuICAgIHRyYWNrQnlGbihpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIGdldExhYmVsKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBlbGVtID0gdGhpcy5maW5kRWxlbWVudEJ5TW9kZWxJdGVtKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldExhYmVsKGVsZW0pO1xuICAgIH1cblxuICAgIGNhbkJlRGVsZXRlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5kaXNhYmxlZCAmJlxuICAgICAgICAgICAgKCF0aGlzLmRlZmF1bHRFbGVtZW50VmFsdWVzIHx8XG4gICAgICAgICAgICAgICAgIXRoaXMuZGVmYXVsdEVsZW1lbnRWYWx1ZXMuaW5jbHVkZXModGhpcy5tb2RlbFtpbmRleF0pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uQXV0b2NvbXBsZXRlRWxlbWVudHNMb2FkZWQoZWxlbWVudHM6IFtdKTogdm9pZCB7XG4gICAgICAgIC8vIE5lZWQgdG8gd2FpdCBmb3IgY2hpbGRWaWV3IHRvIGJlIGxvYWRlZFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICghIXRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuZWxlbWVudHMgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckF1dG9jb21wbGV0ZUVsZW1lbnRzKGVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICF0aGlzLmRpc2FibGVkICYmXG4gICAgICAgICAgICAgICAgICAgICF0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudC5lbGVtZW50cy5sZW5ndGhcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QWxlcnRNZXNzYWdlQW5kSGlkZUF1dG9jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0RGVsZXRlQnV0dG9uQXJpYUxhYmVsKGVsZW1lbnQ6IHVua25vd24pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zZWxlY3RlZC5kZWxldGUnLFxuICAgICAgICAgICAgeyBlbGVtZW50TGFiZWw6IHRoaXMuZ2V0TGFiZWwoZWxlbWVudCkgfVxuICAgICAgICApfWA7XG4gICAgfVxuXG4gICAgaGFzRGVmYXVsdERlbGV0ZUZvY3VzQXJlYSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLmRpc2FibGVkICYmXG4gICAgICAgICAgICAhdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlcz8ubGVuZ3RoICYmXG4gICAgICAgICAgICAhdGhpcy5tb2RlbD8ubGVuZ3RoXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QmFkZ2VMYWJlbChlbGVtZW50OiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZWxlbWVudEJhZGdlTGFiZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMYWJlbChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50QmFkZ2VMYWJlbChlbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRFbGVtZW50QnlNb2RlbEl0ZW0oaXRlbTogdW5rbm93bik6IHVua25vd24ge1xuICAgICAgICBpZiAoISF0aGlzLmVsZW1lbnRzICYmICEhdGhpcy5lbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1WYWx1ZTogdW5rbm93biA9XG4gICAgICAgICAgICAgICAgdHlwZW9mIGl0ZW0gIT09ICdvYmplY3QnID8gaXRlbSA6IHRoaXMuZ2V0VmFsdWUoaXRlbSk7XG4gICAgICAgICAgICBjb25zdCBlbGVtID0gdGhpcy5lbGVtZW50cy5maW5kKFxuICAgICAgICAgICAgICAgIChlbGVtZW50OiB1bmtub3duKSA9PiB0aGlzLmdldFZhbHVlKGVsZW1lbnQpID09PSBpdGVtVmFsdWVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoISFlbGVtKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVsZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWYWxpZFZhbHVlKCk6IG51bWJlcltdIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghdGhpcy5tb2RlbCB8fCAhdGhpcy5tb2RlbC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsXyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c05leHRBcmVhQWZ0ZXJEZWxldGUocmVtb3ZlZEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgLy8gQWRqdXN0IGluZGV4IGRlcGVuZGluZyBvbiBkZWZhdWx0IGVsZW1lbnRzIHRoYXQgYXJlIG5vdCBkZWxldGFibGVcbiAgICAgICAgaWYgKCEhdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlcykge1xuICAgICAgICAgICAgcmVtb3ZlZEluZGV4IC09IHRoaXMuZGVmYXVsdEVsZW1lbnRWYWx1ZXMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNsb3NlQnV0dG9uc0VsZW1SZWZBcnJheSA9IFsuLi50aGlzLnNlbGVjdGVkRWxlbVJlZi50b0FycmF5KCldO1xuICAgICAgICAvLyBOZWVkIHRvIGZpbmQgYW4gZWxlbWVudCB0byBmb2N1cyBvblxuICAgICAgICBpZiAocmVtb3ZlZEluZGV4ID09PSBjbG9zZUJ1dHRvbnNFbGVtUmVmQXJyYXkubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAoISFjbG9zZUJ1dHRvbnNFbGVtUmVmQXJyYXkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNsb3NlQnV0dG9uc0VsZW1SZWZBcnJheVtcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlZEluZGV4IC0gMVxuICAgICAgICAgICAgICAgIF0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZGVmYXVsdEVsZW1SZWZBcnJheSA9IFsuLi50aGlzLmRlZmF1bHRFbGVtUmVmLnRvQXJyYXkoKV07XG4gICAgICAgICAgICBpZiAoISFkZWZhdWx0RWxlbVJlZkFycmF5Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkZWZhdWx0RWxlbVJlZkFycmF5W1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RWxlbVJlZkFycmF5Lmxlbmd0aCAtIDFcbiAgICAgICAgICAgICAgICBdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHREZWxldGVGb2N1c0FyZWEubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIC8vIE90aGVyd2lzZSBmb2N1cyBlbGVtZW50IGJ5IERPTSByZXBsYWNlbWVudFxuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyQXV0b2NvbXBsZXRlRWxlbWVudHMoZWxlbWVudHM6IFtdKTogdW5rbm93biB7XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkRWxlbWVudHMgPSBPYmplY3RIZWxwZXIuZGVlcENvcHkoZWxlbWVudHMpO1xuICAgICAgICBpZiAoISF0aGlzLm1vZGVsICYmICEhdGhpcy5tb2RlbC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMubW9kZWwuZm9yRWFjaCgoc2VsZWN0ZWQ6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtpbmRleCwgdmFsdWVdIG9mIGZpbHRlcmVkRWxlbWVudHMuZW50cmllcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmZpbmRFbGVtZW50QnlNb2RlbEl0ZW0oc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0SGVscGVyLmlzRXF1YWwoZWxlbSwgdmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJlZEVsZW1lbnRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWx0ZXJlZEVsZW1lbnRzO1xuICAgIH1cblxuICAgIHByaXZhdGUgbWFuYWdlU3VnZ2VzdGlvbkxpc3RBbmRGb2N1c0FmdGVyQWRkaW5nQW5JdGVtKCk6IHZvaWQge1xuICAgICAgICAvLyBFbXB0eSBhdXRvY29tcGxldGUgaW5wdXRcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVJbnB1dFZhbHVlID0gbnVsbDtcbiAgICAgICAgLy8gUmVtb3ZlIHNlbGVjdGVkIGl0ZW0gZnJvbSBhdXRvY29tcGxldGUgc3VnZ2VzdGlvbiBsaXN0XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50LmVsZW1lbnRzID0gdGhpcy5maWx0ZXJBdXRvY29tcGxldGVFbGVtZW50cyhcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudHNcbiAgICAgICAgKTtcbiAgICAgICAgLy8gQ2hlY2sgaWYgd2Ugc3RpbGwgaGF2ZSBzdWdnZXN0aW9ucyB0byBkaXNwbGF5XG4gICAgICAgIGlmICghdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuZWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dBbGVydE1lc3NhZ2VBbmRIaWRlQXV0b2NvbXBsZXRlKCk7XG4gICAgICAgICAgICAvLyBOZWVkIHNldFRpbWVvdXQgdG8gZW5zdXJlIGFsZXJ0IG1lc3NhZ2UgaXMgb24gdGhlIERPTSBhbmQgY2FuIGJlIGZvY3VzYWJsZVxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWxlcnRNZXNzYWdlOiBIVE1MRWxlbWVudCA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRNZXNzYWdlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigncCcpO1xuICAgICAgICAgICAgICAgIGlmIChhbGVydE1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgYWxlcnRNZXNzYWdlLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1hbmFnZVN1Z2dlc3Rpb25MaXN0QW5kRm9jdXNBZnRlclJlbW92aW5nQW5JdGVtKFxuICAgICAgICByZW1vdmVkSW5kZXg6IG51bWJlclxuICAgICk6IHZvaWQge1xuICAgICAgICAvLyBIaWRlIG1lc3NhZ2Ugc2F5aW5nIG5vIG1vcmUgc3VnZ2VzdGlvbnMgdG8gZGlzcGxheVxuICAgICAgICB0aGlzLnNob3dFbXB0eUxpc3RNZXNzYWdlID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgLy8gTWFudWFsbHkgc2hvdyBhdXRvY29tcGxldGUgYmVjYXVzZSB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgc3VnZ2VzdGlvbnMgdG8gZGlzcGxheVxuICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaGlkZGVuID1cbiAgICAgICAgICAgICAgICBmYWxzZTtcbiAgICAgICAgICAgIC8vIEFkZCBiYWNrIHNlbGVjdGVkIGl0ZW0gdG8gYXV0b2NvbXBsZXRlIHN1Z2dlc3Rpb24gbGlzdFxuICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuZWxlbWVudHMgPVxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQXV0b2NvbXBsZXRlRWxlbWVudHModGhpcy5lbGVtZW50cyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVtb3ZlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBXaGVuIGRlbGV0aW5nIGEgc2VsZWN0ZWQgaXRlbSwgY2hlY2sgd2VyZSB0byBzZXQgZm9jdXMgYmFjayB3aGVuIG5vIG1vcmUgaXRlbXMgdG8gZGVsZXRlXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRWxlbVJlZi5jaGFuZ2VzLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzTmV4dEFyZWFBZnRlckRlbGV0ZShyZW1vdmVkSW5kZXgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dBbGVydE1lc3NhZ2VBbmRIaWRlQXV0b2NvbXBsZXRlKCk6IHZvaWQge1xuICAgICAgICAvLyBTaG93IGEgbWVzc2FnZSB0byB1c2VyIGluZGljYXRpbmcgdGhlcmUgaXMgbm8gbW9yZSBzdWdnZXN0aW9ucyB0byBkaXNwbGF5XG4gICAgICAgIHRoaXMuc2hvd0VtcHR5TGlzdE1lc3NhZ2UgPSB0cnVlO1xuICAgICAgICAvLyBNYW51YWxseSByZXNldCBhbmQgaGlkZSBhdXRvY29tcGxldGUgYmVjYXVzZSB0aGVyZSBpcyBubyBtb3JlIHN1Z2dlc3Rpb25zIHRvIGRpc3BsYXlcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVJbnB1dFZhbHVlID0gbnVsbDtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaGlkZGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1hbmFnZVNjcmVlblJlYWRlckFubm91bmNlbWVudChcbiAgICAgICAgZWxlbWVudDogdW5rbm93bixcbiAgICAgICAgaXNEZWxldGU6IGJvb2xlYW5cbiAgICApOiB2b2lkIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc3JBbm5vdW5jZW1lbnRDbGVhclRpbWVyKTtcbiAgICAgICAgaWYgKGlzRGVsZXRlKSB7XG4gICAgICAgICAgICB0aGlzLnNyQW5ub3VuY2VtZW50cyArPSBgJHt0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAgICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1hbm5vdW5jZW1lbnQuZGVsZXRlZCcsXG4gICAgICAgICAgICAgICAgeyBlbGVtZW50TGFiZWw6IHRoaXMuZ2V0TGFiZWwoZWxlbWVudCkgfVxuICAgICAgICAgICAgKX1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zckFubm91bmNlbWVudHMgKz0gYCR7dGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItYW5ub3VuY2VtZW50LmFkZGVkJyxcbiAgICAgICAgICAgICAgICB7IGVsZW1lbnRMYWJlbDogdGhpcy5nZXRMYWJlbChlbGVtZW50KSB9XG4gICAgICAgICAgICApfWA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zckFubm91bmNlbWVudENsZWFyVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3JBbm5vdW5jZW1lbnRzID0gJyc7XG4gICAgICAgIH0sIHRoaXMuU1JfQU5OT1VOQ0VNRU5UX0NMRUFSX1RJTUVPVVRfSU5URVJWQUxfTVMpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXAgY29udGFpbmVyLWJveFwiXG4gICAgW2NsYXNzLmhhcy1kYW5nZXJdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgIFtjbGFzcy52ZC1mb3JtLWdyb3VwLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4+XG4gICAgPGZvZWhuLWF1dG9jb21wbGV0ZVxuICAgICAgICAjYXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgICAgICBbZWxlbWVudHNdPVwiZWxlbWVudHNcIlxuICAgICAgICBbZWxlbWVudHNVcmxdPVwiZWxlbWVudHNVcmxcIlxuICAgICAgICBbZWxlbWVudFZhbHVlXT1cImVsZW1lbnRWYWx1ZVwiXG4gICAgICAgIFtlbGVtZW50TGFiZWxdPVwiZWxlbWVudExhYmVsXCJcbiAgICAgICAgW2VsZW1lbnRTdWdnZXN0aW9uTGFiZWxdPVwiZWxlbWVudFN1Z2dlc3Rpb25MYWJlbFwiXG4gICAgICAgIFtlbGVtZW50VmFsdWVJZGVudGl0eV09XCJlbGVtZW50VmFsdWVJZGVudGl0eVwiXG4gICAgICAgIFtlbGVtZW50RGlzYWJsZWRdPVwiZWxlbWVudERpc2FibGVkXCJcbiAgICAgICAgW2VsZW1lbnRHcm91cF09XCJlbGVtZW50R3JvdXBcIlxuICAgICAgICBbYWxsb3dDdXN0b21WYWx1ZV09XCJmYWxzZVwiXG4gICAgICAgIFtzZWFyY2hWYWx1ZU1pbkNoYXJzQ291bnRdPVwic2VhcmNoVmFsdWVNaW5DaGFyc0NvdW50XCJcbiAgICAgICAgW2N1c3RvbVZhbHVlTW9kZWxHZW5lcmF0b3JdPVwiY3VzdG9tVmFsdWVNb2RlbEdlbmVyYXRvclwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICh1c2VySW5wdXQpPVwiYWRkSXRlbSgkZXZlbnQpXCJcbiAgICAgICAgWyhtb2RlbCldPVwiYXV0b2NvbXBsZXRlSW5wdXRWYWx1ZVwiXG4gICAgICAgIChlbGVtZW50c0xvYWRlZCk9XCJvbkF1dG9jb21wbGV0ZUVsZW1lbnRzTG9hZGVkKCRldmVudClcIlxuICAgICAgICBbc2hvd0Vycm9yV2hlbkRpc2FibGVkXT1cInNob3dFcnJvcldoZW5EaXNhYmxlZFwiXG4gICAgICAgIFtoaWRlTm90UmVxdWlyZWRFeHRyYUxhYmVsXT1cImhpZGVOb3RSZXF1aXJlZEV4dHJhTGFiZWxcIlxuICAgICAgICBbaXRlbUhlaWdodEluU3VnZ2VzdGlvbkxpc3RJblB4XT1cIml0ZW1IZWlnaHRJblN1Z2dlc3Rpb25MaXN0SW5QeFwiXG4gICAgICAgIFtjYXNlU2Vuc2l0aXZlU2VhcmNoXT1cImNhc2VTZW5zaXRpdmVTZWFyY2hcIlxuICAgICAgICBbaXNMYWJlbFNyT25seV09XCJpc0xhYmVsU3JPbmx5XCJcbiAgICAgICAgW2lzU3VnZ2VzdGlvbkxpc3REeW5hbWljXT1cImlzU3VnZ2VzdGlvbkxpc3REeW5hbWljXCJcbiAgICA+XG4gICAgICAgIDxzbWFsbFxuICAgICAgICAgICAgKm5nSWY9XCIhc2hvd0VtcHR5TGlzdE1lc3NhZ2VcIlxuICAgICAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRDaGlsZElkKCdIZWxwJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICBoZWxwVGV4dFxuICAgICAgICAgICAgICAgICAgICA/IGhlbHBUZXh0XG4gICAgICAgICAgICAgICAgICAgIDogKCdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuYXV0b2NvbXBsZXRlLnNjcmVlbi1yZWFkZXIubGFiZWwnXG4gICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeSlcbiAgICAgICAgICAgIFwiXG4gICAgICAgID48L3NtYWxsPlxuXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZElkKCdBbGVydE1lc3NhZ2VDb250YWluZXInKVwiXG4gICAgICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgICAgICNhbGVydE1lc3NhZ2VDb250YWluZXJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dFbXB0eUxpc3RNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm8gbWItMFwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZS5lbXB0eS1tZXNzYWdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZm9laG4tYXV0b2NvbXBsZXRlPlxuXG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWxpc3QtY29udGFpbmVyIHB0LTJcIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIDxzbWFsbFxuICAgICAgICAgICAgKm5nSWY9XCJoYXNEZWZhdWx0RGVsZXRlRm9jdXNBcmVhKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnkgbXktMFwiXG4gICAgICAgICAgICBbdGFiaW5kZXhdPVwiMFwiXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cIm5vRWxlbWVudHNTZWxlY3RlZExhYmVsIHwgZnJvbURpY3Rpb25hcnlcIlxuICAgICAgICAgICAgI2RlZmF1bHREZWxldGVGb2N1c0FyZWFcbiAgICAgICAgPjwvc21hbGw+XG5cbiAgICAgICAgPHBcbiAgICAgICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoJ3NyT25seUFubm91bmNlbWVudHMnKVwiXG4gICAgICAgICAgICBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICAgICAgYXJpYS1hdG9taWM9XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgc3JBbm5vdW5jZW1lbnRzIH19XG4gICAgICAgIDwvcD5cblxuICAgICAgICA8ZmllbGRzZXRcbiAgICAgICAgICAgICpuZ0lmPVwiISFtb2RlbD8ubGVuZ3RoXCJcbiAgICAgICAgICAgIGNsYXNzPVwibWItMFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImJ1aWxkQ2hpbGRJZCgnTGFiZWwnKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxsZWdlbmRcbiAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZElkKCdMZWdlbmQnKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnkgc21hbGwgbWItMFwiXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJzZWxlY3RlZEl0ZW1zTGlzdExlZ2VuZCB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICAgICAgICAgID48L2xlZ2VuZD5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWxpc3QgZC1mbGV4IGFsaWduLWNvbnRlbnQtc3RyZXRjaCBmbGV4LXdyYXBcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGVsZW1lbnQgb2YgbW9kZWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgaW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlGblxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNhbkJlRGVsZXRlZChpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYWRnZSByb3VuZGVkLXBpbGwgYmctc2Vjb25kYXJ5IG1lLTEgbWItMSBweS0yIHB4LTMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiZGlzYWJsZWQgPyAtMSA6IDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJidWlsZENoaWxkSWQoJ0xlZ2VuZCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICNkZWZhdWx0RWxlbVJlZlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRCYWRnZUxhYmVsKGVsZW1lbnQpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItZGVmYXVsdC1zZWxlY3RlZC1lbGVtZW50J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjYW5CZURlbGV0ZWQoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYmFkZ2Ugcm91bmRlZC1waWxsIG1lLTEgbWItMSBweS0yIHB4LTMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldERlbGV0ZUJ1dHRvbkFyaWFMYWJlbChlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImJ1aWxkQ2hpbGRJZCgnTGVnZW5kJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImdldERlbGV0ZUJ1dHRvbkFyaWFMYWJlbChlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlSXRlbShlbGVtZW50LCBpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI3NlbGVjdGVkRWxlbVJlZlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRCYWRnZUxhYmVsKGVsZW1lbnQpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi10aW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZ2V0RGVsZXRlQnV0dG9uQXJpYUxhYmVsKGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2ZvZWhuLWljb24tdGltZXM+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { FoehnAutocompleteModule } from '../foehn-autocomplete/foehn-autocomplete.module';
|
|
5
|
-
import { FoehnIconsModule } from '../foehn-icons/foehn-icons.module';
|
|
6
|
-
import { FoehnValidationAlertsModule } from '../foehn-validation-alerts/foehn-validation-alerts.module';
|
|
7
|
-
import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
|
|
8
|
-
import { FoehnMultiselectAutocompleteComponent } from './foehn-multiselect-autocomplete.component';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class FoehnMultiselectAutocompleteModule {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnMultiselectAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FoehnMultiselectAutocompleteModule, declarations: [FoehnMultiselectAutocompleteComponent], imports: [FoehnAutocompleteModule,
|
|
13
|
-
SdkDictionaryModule,
|
|
14
|
-
FoehnValidationAlertsModule,
|
|
15
|
-
CommonModule,
|
|
16
|
-
FoehnIconsModule,
|
|
17
|
-
FormsModule], exports: [FoehnMultiselectAutocompleteComponent] }); }
|
|
18
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnMultiselectAutocompleteModule, imports: [FoehnAutocompleteModule,
|
|
19
|
-
SdkDictionaryModule,
|
|
20
|
-
FoehnValidationAlertsModule,
|
|
21
|
-
CommonModule,
|
|
22
|
-
FoehnIconsModule,
|
|
23
|
-
FormsModule] }); }
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnMultiselectAutocompleteModule, decorators: [{
|
|
26
|
-
type: NgModule,
|
|
27
|
-
args: [{
|
|
28
|
-
imports: [
|
|
29
|
-
FoehnAutocompleteModule,
|
|
30
|
-
SdkDictionaryModule,
|
|
31
|
-
FoehnValidationAlertsModule,
|
|
32
|
-
CommonModule,
|
|
33
|
-
FoehnIconsModule,
|
|
34
|
-
FormsModule
|
|
35
|
-
],
|
|
36
|
-
declarations: [FoehnMultiselectAutocompleteComponent],
|
|
37
|
-
exports: [FoehnMultiselectAutocompleteComponent]
|
|
38
|
-
}]
|
|
39
|
-
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDeEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBY25HLE1BQU0sT0FBTyxrQ0FBa0M7K0dBQWxDLGtDQUFrQztnSEFBbEMsa0NBQWtDLGlCQUg1QixxQ0FBcUMsYUFQaEQsdUJBQXVCO1lBQ3ZCLG1CQUFtQjtZQUNuQiwyQkFBMkI7WUFDM0IsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixXQUFXLGFBR0wscUNBQXFDO2dIQUV0QyxrQ0FBa0MsWUFWdkMsdUJBQXVCO1lBQ3ZCLG1CQUFtQjtZQUNuQiwyQkFBMkI7WUFDM0IsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixXQUFXOzs0RkFLTixrQ0FBa0M7a0JBWjlDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixXQUFXO3FCQUNkO29CQUNELFlBQVksRUFBRSxDQUFDLHFDQUFxQyxDQUFDO29CQUNyRCxPQUFPLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztpQkFDbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGb2VobkF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWF1dG9jb21wbGV0ZS9mb2Vobi1hdXRvY29tcGxldGUubW9kdWxlJztcbmltcG9ydCB7IEZvZWhuSWNvbnNNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi1pY29ucy9mb2Vobi1pY29ucy5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5WYWxpZGF0aW9uQWxlcnRzTW9kdWxlIH0gZnJvbSAnLi4vZm9laG4tdmFsaWRhdGlvbi1hbGVydHMvZm9laG4tdmFsaWRhdGlvbi1hbGVydHMubW9kdWxlJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlNb2R1bGUgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5NdWx0aXNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb2VobkF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZSxcbiAgICAgICAgRm9laG5WYWxpZGF0aW9uQWxlcnRzTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvZWhuSWNvbnNNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtGb2Vobk11bHRpc2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRm9laG5NdWx0aXNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5NdWx0aXNlbGVjdEF1dG9jb21wbGV0ZU1vZHVsZSB7fVxuIl19
|