@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,55 +0,0 @@
|
|
|
1
|
-
import { Component, forwardRef, Input } from '@angular/core';
|
|
2
|
-
import { FoehnInputComponent } from '../foehn-input/foehn-input.component';
|
|
3
|
-
import { FoehnCheckableGroupComponent } from './foehn-checkable-group.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "@angular/forms";
|
|
7
|
-
import * as i3 from "../foehn-validation-alerts/foehn-validation-alerts.component";
|
|
8
|
-
import * as i4 from "../foehn-help-modal/foehn-help-modal.component";
|
|
9
|
-
import * as i5 from "../sdk-dictionary/sdk-dictionary.pipe";
|
|
10
|
-
export class FoehnSelectComponent extends FoehnCheckableGroupComponent {
|
|
11
|
-
constructor(zone) {
|
|
12
|
-
super(zone);
|
|
13
|
-
this.zone = zone;
|
|
14
|
-
this.noSelectionLabel = 'foehn-select.no-selection.label';
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Angular uses object identity to select option. It's possible for the identities of items to change while the data does not.
|
|
18
|
-
* This can happen, for example, if the items are produced from an RPC to the server, and that RPC is re-run.
|
|
19
|
-
* Even if the data hasn't changed, the second response will produce objects with different identities.
|
|
20
|
-
* (see: https://angular.io/api/forms/SelectControlValueAccessor#customizing-option-selection)
|
|
21
|
-
* @param value1 as first value to compare to
|
|
22
|
-
* @param value2 as value to be compared to
|
|
23
|
-
* @returns boolean
|
|
24
|
-
*/
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
26
|
-
compareFn(value1, value2) {
|
|
27
|
-
return this.areValuesEquals(value1, value2);
|
|
28
|
-
}
|
|
29
|
-
showEmptyOption() {
|
|
30
|
-
return this.required && this.isEmpty(this.model);
|
|
31
|
-
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnSelectComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FoehnSelectComponent, selector: "foehn-select", inputs: { multiple: "multiple", noSelectionLabel: "noSelectionLabel" }, providers: [
|
|
34
|
-
{
|
|
35
|
-
provide: FoehnInputComponent,
|
|
36
|
-
useExisting: forwardRef(() => FoehnSelectComponent),
|
|
37
|
-
multi: true
|
|
38
|
-
}
|
|
39
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <div *ngIf=\"!elements\">Chargement...</div>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <select\n *ngIf=\"!multiple\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option *ngIf=\"showEmptyOption()\" [ngValue]=\"null\">\n <!-- empty option displayed even if required=true as long as there's no model to fix https://github.com/angular/angular/issues/14505 -->\n </option>\n <option *ngIf=\"!required\" [ngValue]=\"null\">\n {{ noSelectionLabel | fromDictionary }}\n </option>\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.disabled]=\"getDisabled(element) ? 'disabled' : null\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n <select\n *ngIf=\"multiple\"\n multiple\n [attr.aria-multiselectable]=\"true\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.aria-selected]=\"isElementSelected(element)\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n</div>\n", styles: [".form-group select{appearance:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "component", type: i4.FoehnHelpModalComponent, selector: "foehn-help-modal", inputs: ["modalContent"] }, { kind: "pipe", type: i5.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnSelectComponent, decorators: [{
|
|
42
|
-
type: Component,
|
|
43
|
-
args: [{ selector: 'foehn-select', providers: [
|
|
44
|
-
{
|
|
45
|
-
provide: FoehnInputComponent,
|
|
46
|
-
useExisting: forwardRef(() => FoehnSelectComponent),
|
|
47
|
-
multi: true
|
|
48
|
-
}
|
|
49
|
-
], template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <div *ngIf=\"!elements\">Chargement...</div>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <select\n *ngIf=\"!multiple\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option *ngIf=\"showEmptyOption()\" [ngValue]=\"null\">\n <!-- empty option displayed even if required=true as long as there's no model to fix https://github.com/angular/angular/issues/14505 -->\n </option>\n <option *ngIf=\"!required\" [ngValue]=\"null\">\n {{ noSelectionLabel | fromDictionary }}\n </option>\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.disabled]=\"getDisabled(element) ? 'disabled' : null\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n <select\n *ngIf=\"multiple\"\n multiple\n [attr.aria-multiselectable]=\"true\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.aria-selected]=\"isElementSelected(element)\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n</div>\n", styles: [".form-group select{appearance:none}\n"] }]
|
|
50
|
-
}], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { multiple: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}], noSelectionLabel: [{
|
|
53
|
-
type: Input
|
|
54
|
-
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1jaGVja2FibGVzL2ZvZWhuLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tY2hlY2thYmxlcy9mb2Vobi1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUU3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQWNqRixNQUFNLE9BQU8sb0JBQ1QsU0FBUSw0QkFBNEI7SUFTcEMsWUFBb0IsSUFBWTtRQUM1QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFESSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBRmhDLHFCQUFnQixHQUFHLGlDQUFpQyxDQUFDO0lBSXJELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILDhEQUE4RDtJQUM5RCxTQUFTLENBQUMsTUFBVyxFQUFFLE1BQVc7UUFDOUIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRCxDQUFDOytHQTlCUSxvQkFBb0I7bUdBQXBCLG9CQUFvQiwrR0FSbEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsbUJBQW1CO2dCQUM1QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNuRCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osaURDZkwsMnZIQXdHQTs7NEZEdkZhLG9CQUFvQjtrQkFaaEMsU0FBUzsrQkFDSSxjQUFjLGFBR2I7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzJFQU9ELFFBQVE7c0JBRFAsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE5nWm9uZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZvZWhuSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5DaGVja2FibGVHcm91cENvbXBvbmVudCB9IGZyb20gJy4vZm9laG4tY2hlY2thYmxlLWdyb3VwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi1zZWxlY3QuY29tcG9uZW50LmNzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGb2VobklucHV0Q29tcG9uZW50LFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9laG5TZWxlY3RDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5TZWxlY3RDb21wb25lbnRcbiAgICBleHRlbmRzIEZvZWhuQ2hlY2thYmxlR3JvdXBDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICAgIEBJbnB1dCgpXG4gICAgbXVsdGlwbGU6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIG5vU2VsZWN0aW9uTGFiZWwgPSAnZm9laG4tc2VsZWN0Lm5vLXNlbGVjdGlvbi5sYWJlbCc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHpvbmU6IE5nWm9uZSkge1xuICAgICAgICBzdXBlcih6b25lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbmd1bGFyIHVzZXMgb2JqZWN0IGlkZW50aXR5IHRvIHNlbGVjdCBvcHRpb24uIEl0J3MgcG9zc2libGUgZm9yIHRoZSBpZGVudGl0aWVzIG9mIGl0ZW1zIHRvIGNoYW5nZSB3aGlsZSB0aGUgZGF0YSBkb2VzIG5vdC5cbiAgICAgKiBUaGlzIGNhbiBoYXBwZW4sIGZvciBleGFtcGxlLCBpZiB0aGUgaXRlbXMgYXJlIHByb2R1Y2VkIGZyb20gYW4gUlBDIHRvIHRoZSBzZXJ2ZXIsIGFuZCB0aGF0IFJQQyBpcyByZS1ydW4uXG4gICAgICogRXZlbiBpZiB0aGUgZGF0YSBoYXNuJ3QgY2hhbmdlZCwgdGhlIHNlY29uZCByZXNwb25zZSB3aWxsIHByb2R1Y2Ugb2JqZWN0cyB3aXRoIGRpZmZlcmVudCBpZGVudGl0aWVzLlxuICAgICAqIChzZWU6IGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3IjY3VzdG9taXppbmctb3B0aW9uLXNlbGVjdGlvbilcbiAgICAgKiBAcGFyYW0gdmFsdWUxIGFzIGZpcnN0IHZhbHVlIHRvIGNvbXBhcmUgdG9cbiAgICAgKiBAcGFyYW0gdmFsdWUyIGFzIHZhbHVlIHRvIGJlIGNvbXBhcmVkIHRvXG4gICAgICogQHJldHVybnMgYm9vbGVhblxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgY29tcGFyZUZuKHZhbHVlMTogYW55LCB2YWx1ZTI6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcmVWYWx1ZXNFcXVhbHModmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIHNob3dFbXB0eU9wdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWlyZWQgJiYgdGhpcy5pc0VtcHR5KHRoaXMubW9kZWwpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxuICAgIFtjbGFzcy5oYXMtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICBbY2xhc3MudmQtZm9ybS1ncm91cC1kYW5nZXJdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgIFthdHRyLmlkXT1cImJ1aWxkSWQoJ0NvbnRhaW5lcicpXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWxhYmVsXCJcbiAgICAgICAgICAgIFthdHRyLmZvcl09XCJidWlsZENoaWxkSWQoKVwiXG4gICAgICAgICAgICAqbmdJZj1cIiEhbGFiZWxcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXNMYWJlbFNyT25seSA/ICd2aXN1YWxseS1oaWRkZW4nIDogbGFiZWxTdHlsZU1vZGlmaWVyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJsYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhcmVxdWlyZWQgJiYgIWhpZGVOb3RSZXF1aXJlZEV4dHJhTGFiZWxcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgJ2ZvZWhuLWlucHV0Lm9wdGlvbmFsJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxmb2Vobi1oZWxwLW1vZGFsXG4gICAgICAgICAgICBjbGFzcz1cInJlbW92ZVBhZGRpbmdCdXR0b25cIlxuICAgICAgICAgICAgKm5nSWY9XCIhIWhlbHBNb2RhbFwiXG4gICAgICAgICAgICBbbW9kYWxDb250ZW50XT1cImhlbHBNb2RhbFwiXG4gICAgICAgID48L2ZvZWhuLWhlbHAtbW9kYWw+XG4gICAgPC9kaXY+XG5cbiAgICA8Zm9laG4tdmFsaWRhdGlvbi1hbGVydHMgW2NvbXBvbmVudF09XCJ0aGlzXCI+PC9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cz5cblxuICAgIDxkaXYgKm5nSWY9XCIhZWxlbWVudHNcIj5DaGFyZ2VtZW50Li4uPC9kaXY+XG5cbiAgICA8c21hbGxcbiAgICAgICAgKm5nSWY9XCJoZWxwVGV4dFwiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpICsgJ0hlbHAnXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImhlbHBUZXh0XCJcbiAgICA+PC9zbWFsbD5cblxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgIDxzZWxlY3RcbiAgICAgICAgKm5nSWY9XCIhbXVsdGlwbGVcIlxuICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKSB8fCBoYXNJbmhlcml0RXJyb3JGcm9tUGFyZW50KClcIlxuICAgICAgICBjbGFzcz1cImZvcm0tc2VsZWN0XCJcbiAgICAgICAgW25hbWVdPVwibmFtZSB8fCBsYWJlbFwiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpXCJcbiAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZ2V0RGVzY3JpYmVkQnkoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKSB8fCBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZCB8fCBudWxsXCJcbiAgICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImdldEF1dG9Db21wbGV0ZSgpXCJcbiAgICAgICAgW25nTW9kZWxdPVwibW9kZWxcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVOZ01vZGVsKCRldmVudClcIlxuICAgICAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUZuLmJpbmQodGhpcylcIlxuICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZShtb2RlbClcIlxuICAgICAgICAjZW50cnlDb21wb25lbnRcbiAgICAgICAgbmdEZWZhdWx0Q29udHJvbFxuICAgID5cbiAgICAgICAgPG9wdGlvbiAqbmdJZj1cInNob3dFbXB0eU9wdGlvbigpXCIgW25nVmFsdWVdPVwibnVsbFwiPlxuICAgICAgICAgICAgPCEtLSBlbXB0eSBvcHRpb24gZGlzcGxheWVkIGV2ZW4gaWYgcmVxdWlyZWQ9dHJ1ZSBhcyBsb25nIGFzIHRoZXJlJ3Mgbm8gbW9kZWwgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE0NTA1IC0tPlxuICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiAqbmdJZj1cIiFyZXF1aXJlZFwiIFtuZ1ZhbHVlXT1cIm51bGxcIj5cbiAgICAgICAgICAgIHt7IG5vU2VsZWN0aW9uTGFiZWwgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgZWxlbWVudHNcIlxuICAgICAgICAgICAgW25nVmFsdWVdPVwiZ2V0VmFsdWUoZWxlbWVudClcIlxuICAgICAgICAgICAgW2F0dHIuc2VsZWN0ZWRdPVwiaXNFbGVtZW50U2VsZWN0ZWQoZWxlbWVudCkgPyAnc2VsZWN0ZWQnIDogbnVsbFwiXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJnZXREaXNhYmxlZChlbGVtZW50KSA/ICdkaXNhYmxlZCcgOiBudWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgZ2V0TGFiZWwoZWxlbWVudCkgfX1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gICAgPHNlbGVjdFxuICAgICAgICAqbmdJZj1cIm11bHRpcGxlXCJcbiAgICAgICAgbXVsdGlwbGVcbiAgICAgICAgW2F0dHIuYXJpYS1tdWx0aXNlbGVjdGFibGVdPVwidHJ1ZVwiXG4gICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IGhhc0luaGVyaXRFcnJvckZyb21QYXJlbnQoKVwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1zZWxlY3RcIlxuICAgICAgICBbbmFtZV09XCJuYW1lIHx8IGxhYmVsXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRDaGlsZElkKClcIlxuICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJnZXREZXNjcmliZWRCeSgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkIHx8IG51bGxcIlxuICAgICAgICBbbmdNb2RlbF09XCJtb2RlbFwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZU5nTW9kZWwoJGV2ZW50KVwiXG4gICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm4uYmluZCh0aGlzKVwiXG4gICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKG1vZGVsKVwiXG4gICAgICAgICNlbnRyeUNvbXBvbmVudFxuICAgICAgICBuZ0RlZmF1bHRDb250cm9sXG4gICAgPlxuICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBlbGVtZW50c1wiXG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJnZXRWYWx1ZShlbGVtZW50KVwiXG4gICAgICAgICAgICBbYXR0ci5zZWxlY3RlZF09XCJpc0VsZW1lbnRTZWxlY3RlZChlbGVtZW50KSA/ICdzZWxlY3RlZCcgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXNFbGVtZW50U2VsZWN0ZWQoZWxlbWVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBnZXRMYWJlbChlbGVtZW50KSB9fVxuICAgICAgICA8L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbjwvZGl2PlxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class FormSelectOptionGroup {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3Qtb3B0aW9uLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWNoZWNrYWJsZXMvZm9ybS1zZWxlY3Qtb3B0aW9uLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxxQkFBcUI7Q0FJakMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRm9ybVNlbGVjdE9wdGlvbkdyb3VwIHtcbiAgICBncm91cFRpdGxlOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBlbGVtZW50czogYW55O1xufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class FormSelectOption {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3Qtb3B0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWNoZWNrYWJsZXMvZm9ybS1zZWxlY3Qtb3B0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxnQkFBZ0I7Q0FJNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRm9ybVNlbGVjdE9wdGlvbiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export class FoehnConfirmModalContent {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.showOkButton = true;
|
|
4
|
-
this.showCancelButton = true;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tY29uZmlybS1tb2RhbC1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWNvbmZpcm0tbW9kYWwvZm9laG4tY29uZmlybS1tb2RhbC1jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx3QkFBd0I7SUFBckM7UUFJSSxpQkFBWSxHQUFhLElBQUksQ0FBQztRQUU5QixxQkFBZ0IsR0FBYSxJQUFJLENBQUM7SUFFdEMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEZvZWhuQ29uZmlybU1vZGFsQ29udGVudCB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgaHRtbENvbnRlbnQ6IHN0cmluZztcbiAgICBva0J1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAgIHNob3dPa0J1dHRvbj86IGJvb2xlYW4gPSB0cnVlO1xuICAgIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAgIHNob3dDYW5jZWxCdXR0b24/OiBib29sZWFuID0gdHJ1ZTtcbiAgICBjbG9zZWFibGU/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./foehn-confirm-modal.service";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "../foehn-modal/foehn-modal.component";
|
|
6
|
-
export class FoehnConfirmModalComponent {
|
|
7
|
-
constructor(confirmModalService) {
|
|
8
|
-
this.confirmModalService = confirmModalService;
|
|
9
|
-
this.isVisible = false;
|
|
10
|
-
// This need to be done as we're passing these functions to another component.
|
|
11
|
-
this.cancel = this.cancel.bind(this);
|
|
12
|
-
this.ok = this.ok.bind(this);
|
|
13
|
-
}
|
|
14
|
-
get content() {
|
|
15
|
-
return this.confirmModalService.getContent();
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
this.confirmModalService
|
|
19
|
-
.getIsVisible()
|
|
20
|
-
// eslint-disable-next-line rxjs-angular/prefer-async-pipe
|
|
21
|
-
.subscribe(isVisible => (this.isVisible = isVisible));
|
|
22
|
-
}
|
|
23
|
-
cancel() {
|
|
24
|
-
this.confirmModalService.close();
|
|
25
|
-
}
|
|
26
|
-
ok() {
|
|
27
|
-
this.confirmModalService.ok();
|
|
28
|
-
}
|
|
29
|
-
updateVisibilityStatus(status) {
|
|
30
|
-
// In case the modal is closed by another mean such as the Escape key.
|
|
31
|
-
this.isVisible = status;
|
|
32
|
-
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnConfirmModalComponent, deps: [{ token: i1.FoehnConfirmModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FoehnConfirmModalComponent, selector: "foehn-confirm-modal", ngImport: i0, template: "<foehn-modal\n [modalHeaderText]=\"modalContent.title || 'Confirmation'\"\n modalSize=\"modal-md\"\n [isModalVisible]=\"isVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"\n modalContent.closeable !== null && modalContent.closeable !== undefined\n ? modalContent.closeable\n : true\n \"\n *ngIf=\"content | async as modalContent\"\n>\n <p [innerHTML]=\"modalContent.htmlContent\"></p>\n\n <div modal-footer>\n <div class=\"d-flex justify-content-end me-2 mb-2 mt-2\">\n <button\n id=\"cancelButton\"\n *ngIf=\"modalContent.showCancelButton !== false\"\n type=\"button\"\n class=\"btn btn-secondary\"\n (click)=\"cancel()\"\n >\n {{ modalContent.cancelButtonLabel || 'Annuler' }}\n </button>\n <button\n id=\"confirmButton\"\n *ngIf=\"modalContent.showOkButton !== false\"\n type=\"button\"\n class=\"btn btn-primary ms-3\"\n (click)=\"ok()\"\n >\n {{ modalContent.okButtonLabel || 'Confirmer' }}\n </button>\n </div>\n </div>\n</foehn-modal>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnConfirmModalComponent, decorators: [{
|
|
37
|
-
type: Component,
|
|
38
|
-
args: [{ selector: 'foehn-confirm-modal', template: "<foehn-modal\n [modalHeaderText]=\"modalContent.title || 'Confirmation'\"\n modalSize=\"modal-md\"\n [isModalVisible]=\"isVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"\n modalContent.closeable !== null && modalContent.closeable !== undefined\n ? modalContent.closeable\n : true\n \"\n *ngIf=\"content | async as modalContent\"\n>\n <p [innerHTML]=\"modalContent.htmlContent\"></p>\n\n <div modal-footer>\n <div class=\"d-flex justify-content-end me-2 mb-2 mt-2\">\n <button\n id=\"cancelButton\"\n *ngIf=\"modalContent.showCancelButton !== false\"\n type=\"button\"\n class=\"btn btn-secondary\"\n (click)=\"cancel()\"\n >\n {{ modalContent.cancelButtonLabel || 'Annuler' }}\n </button>\n <button\n id=\"confirmButton\"\n *ngIf=\"modalContent.showOkButton !== false\"\n type=\"button\"\n class=\"btn btn-primary ms-3\"\n (click)=\"ok()\"\n >\n {{ modalContent.okButtonLabel || 'Confirmer' }}\n </button>\n </div>\n </div>\n</foehn-modal>\n" }]
|
|
39
|
-
}], ctorParameters: () => [{ type: i1.FoehnConfirmModalService }] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tY29uZmlybS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tY29uZmlybS1tb2RhbC9mb2Vobi1jb25maXJtLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1jb25maXJtLW1vZGFsL2ZvZWhuLWNvbmZpcm0tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFVbEQsTUFBTSxPQUFPLDBCQUEwQjtJQUduQyxZQUFvQixtQkFBNkM7UUFBN0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQUZqRSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBR2QsOEVBQThFO1FBQzlFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsbUJBQW1CO2FBQ25CLFlBQVksRUFBRTtZQUNmLDBEQUEwRDthQUN6RCxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsRUFBRTtRQUNFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBZTtRQUNsQyxzRUFBc0U7UUFDdEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7SUFDNUIsQ0FBQzsrR0EvQlEsMEJBQTBCO21HQUExQiwwQkFBMEIsMkRDVnZDLHF4Q0FxQ0E7OzRGRDNCYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0kscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRm9laG5Db25maXJtTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi9mb2Vobi1jb25maXJtLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5Db25maXJtTW9kYWxDb250ZW50IH0gZnJvbSAnLi9mb2Vobi1jb25maXJtLW1vZGFsLWNvbnRlbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLWNvbmZpcm0tbW9kYWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1jb25maXJtLW1vZGFsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb2VobkNvbmZpcm1Nb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgaXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpcm1Nb2RhbFNlcnZpY2U6IEZvZWhuQ29uZmlybU1vZGFsU2VydmljZSkge1xuICAgICAgICAvLyBUaGlzIG5lZWQgdG8gYmUgZG9uZSBhcyB3ZSdyZSBwYXNzaW5nIHRoZXNlIGZ1bmN0aW9ucyB0byBhbm90aGVyIGNvbXBvbmVudC5cbiAgICAgICAgdGhpcy5jYW5jZWwgPSB0aGlzLmNhbmNlbC5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLm9rID0gdGhpcy5vay5iaW5kKHRoaXMpO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50KCk6IE9ic2VydmFibGU8Rm9laG5Db25maXJtTW9kYWxDb250ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpcm1Nb2RhbFNlcnZpY2UuZ2V0Q29udGVudCgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpcm1Nb2RhbFNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRJc1Zpc2libGUoKVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgLnN1YnNjcmliZShpc1Zpc2libGUgPT4gKHRoaXMuaXNWaXNpYmxlID0gaXNWaXNpYmxlKSk7XG4gICAgfVxuXG4gICAgY2FuY2VsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpcm1Nb2RhbFNlcnZpY2UuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maXJtTW9kYWxTZXJ2aWNlLm9rKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlVmlzaWJpbGl0eVN0YXR1cyhzdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgLy8gSW4gY2FzZSB0aGUgbW9kYWwgaXMgY2xvc2VkIGJ5IGFub3RoZXIgbWVhbiBzdWNoIGFzIHRoZSBFc2NhcGUga2V5LlxuICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHN0YXR1cztcbiAgICB9XG59XG4iLCI8Zm9laG4tbW9kYWxcbiAgICBbbW9kYWxIZWFkZXJUZXh0XT1cIm1vZGFsQ29udGVudC50aXRsZSB8fCAnQ29uZmlybWF0aW9uJ1wiXG4gICAgbW9kYWxTaXplPVwibW9kYWwtbWRcIlxuICAgIFtpc01vZGFsVmlzaWJsZV09XCJpc1Zpc2libGVcIlxuICAgIChpc01vZGFsVmlzaWJsZUNoYW5nZSk9XCJ1cGRhdGVWaXNpYmlsaXR5U3RhdHVzKCRldmVudClcIlxuICAgIFtjbG9zZWFibGVdPVwiXG4gICAgICAgIG1vZGFsQ29udGVudC5jbG9zZWFibGUgIT09IG51bGwgJiYgbW9kYWxDb250ZW50LmNsb3NlYWJsZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IG1vZGFsQ29udGVudC5jbG9zZWFibGVcbiAgICAgICAgICAgIDogdHJ1ZVxuICAgIFwiXG4gICAgKm5nSWY9XCJjb250ZW50IHwgYXN5bmMgYXMgbW9kYWxDb250ZW50XCJcbj5cbiAgICA8cCBbaW5uZXJIVE1MXT1cIm1vZGFsQ29udGVudC5odG1sQ29udGVudFwiPjwvcD5cblxuICAgIDxkaXYgbW9kYWwtZm9vdGVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgbWUtMiBtYi0yIG10LTJcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBpZD1cImNhbmNlbEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJtb2RhbENvbnRlbnQuc2hvd0NhbmNlbEJ1dHRvbiAhPT0gZmFsc2VcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbW9kYWxDb250ZW50LmNhbmNlbEJ1dHRvbkxhYmVsIHx8ICdBbm51bGVyJyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgaWQ9XCJjb25maXJtQnV0dG9uXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm1vZGFsQ29udGVudC5zaG93T2tCdXR0b24gIT09IGZhbHNlXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtcy0zXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib2soKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbW9kYWxDb250ZW50Lm9rQnV0dG9uTGFiZWwgfHwgJ0NvbmZpcm1lcicgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZm9laG4tbW9kYWw+XG4iXX0=
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { FoehnModalModule } from '../foehn-modal/foehn-modal.module';
|
|
4
|
-
import { FoehnConfirmModalComponent } from './foehn-confirm-modal.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class FoehnConfirmModalModule {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnConfirmModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FoehnConfirmModalModule, declarations: [FoehnConfirmModalComponent], imports: [CommonModule, FoehnModalModule], exports: [FoehnConfirmModalComponent] }); }
|
|
9
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnConfirmModalModule, imports: [CommonModule, FoehnModalModule] }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnConfirmModalModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
imports: [CommonModule, FoehnModalModule],
|
|
15
|
-
declarations: [FoehnConfirmModalComponent],
|
|
16
|
-
exports: [FoehnConfirmModalComponent]
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tY29uZmlybS1tb2RhbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tY29uZmlybS1tb2RhbC9mb2Vobi1jb25maXJtLW1vZGFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFPN0UsTUFBTSxPQUFPLHVCQUF1QjsrR0FBdkIsdUJBQXVCO2dIQUF2Qix1QkFBdUIsaUJBSGpCLDBCQUEwQixhQUQvQixZQUFZLEVBQUUsZ0JBQWdCLGFBRTlCLDBCQUEwQjtnSEFFM0IsdUJBQXVCLFlBSnRCLFlBQVksRUFBRSxnQkFBZ0I7OzRGQUkvQix1QkFBdUI7a0JBTG5DLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO29CQUN6QyxZQUFZLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDMUMsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZvZWhuTW9kYWxNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi1tb2RhbC9mb2Vobi1tb2RhbC5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5Db25maXJtTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWNvbmZpcm0tbW9kYWwuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb2Vobk1vZGFsTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtGb2VobkNvbmZpcm1Nb2RhbENvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0ZvZWhuQ29uZmlybU1vZGFsQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobkNvbmZpcm1Nb2RhbE1vZHVsZSB7fVxuIl19
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class FoehnConfirmModalService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.content = new BehaviorSubject(null);
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
-
this.resolveCallback = null;
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
-
this.rejectCallback = null;
|
|
12
|
-
this.visible = this.content.pipe(map(data => !!data));
|
|
13
|
-
}
|
|
14
|
-
getIsVisible() {
|
|
15
|
-
return this.visible;
|
|
16
|
-
}
|
|
17
|
-
getContent() {
|
|
18
|
-
return this.content.asObservable();
|
|
19
|
-
}
|
|
20
|
-
close() {
|
|
21
|
-
if (this.rejectCallback) {
|
|
22
|
-
this.rejectCallback();
|
|
23
|
-
}
|
|
24
|
-
this.reset();
|
|
25
|
-
}
|
|
26
|
-
ok() {
|
|
27
|
-
if (this.resolveCallback) {
|
|
28
|
-
this.resolveCallback();
|
|
29
|
-
}
|
|
30
|
-
this.reset();
|
|
31
|
-
}
|
|
32
|
-
openConfirmModal(content) {
|
|
33
|
-
this.content.next(content);
|
|
34
|
-
return new Promise((resolve, reject) => {
|
|
35
|
-
this.resolveCallback = resolve;
|
|
36
|
-
this.rejectCallback = reject;
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
reset() {
|
|
40
|
-
this.content.next(null);
|
|
41
|
-
this.resolveCallback = null;
|
|
42
|
-
this.rejectCallback = null;
|
|
43
|
-
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnConfirmModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
45
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnConfirmModalService, providedIn: 'root' }); }
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnConfirmModalService, decorators: [{
|
|
48
|
-
type: Injectable,
|
|
49
|
-
args: [{
|
|
50
|
-
providedIn: 'root'
|
|
51
|
-
}]
|
|
52
|
-
}], ctorParameters: () => [] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tY29uZmlybS1tb2RhbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWNvbmZpcm0tbW9kYWwvZm9laG4tY29uZmlybS1tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBT3JDLE1BQU0sT0FBTyx3QkFBd0I7SUFTakM7UUFSUSxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQTJCLElBQUksQ0FBQyxDQUFDO1FBR3RFLDhEQUE4RDtRQUN0RCxvQkFBZSxHQUE2QixJQUFJLENBQUM7UUFDekQsOERBQThEO1FBQ3RELG1CQUFjLEdBQTZCLElBQUksQ0FBQztRQUdwRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELEVBQUU7UUFDRSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBaUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQztZQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxLQUFLO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQzsrR0FsRFEsd0JBQXdCO21IQUF4Qix3QkFBd0IsY0FGckIsTUFBTTs7NEZBRVQsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGb2VobkNvbmZpcm1Nb2RhbENvbnRlbnQgfSBmcm9tICcuL2ZvZWhuLWNvbmZpcm0tbW9kYWwtY29udGVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Db25maXJtTW9kYWxTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGNvbnRlbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvZWhuQ29uZmlybU1vZGFsQ29udGVudD4obnVsbCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2aXNpYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIHJlc29sdmVDYWxsYmFjazogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkID0gbnVsbDtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgcmVqZWN0Q2FsbGJhY2s6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdGhpcy5jb250ZW50LnBpcGUobWFwKGRhdGEgPT4gISFkYXRhKSk7XG4gICAgfVxuXG4gICAgZ2V0SXNWaXNpYmxlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy52aXNpYmxlO1xuICAgIH1cblxuICAgIGdldENvbnRlbnQoKTogT2JzZXJ2YWJsZTxGb2VobkNvbmZpcm1Nb2RhbENvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVqZWN0Q2FsbGJhY2spIHtcbiAgICAgICAgICAgIHRoaXMucmVqZWN0Q2FsbGJhY2soKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICB9XG5cbiAgICBvaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVzb2x2ZUNhbGxiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLnJlc29sdmVDYWxsYmFjaygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cblxuICAgIG9wZW5Db25maXJtTW9kYWwoY29udGVudDogRm9laG5Db25maXJtTW9kYWxDb250ZW50KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHRoaXMuY29udGVudC5uZXh0KGNvbnRlbnQpO1xuXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlc29sdmVDYWxsYmFjayA9IHJlc29sdmU7XG4gICAgICAgICAgICB0aGlzLnJlamVjdENhbGxiYWNrID0gcmVqZWN0O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRlbnQubmV4dChudWxsKTtcbiAgICAgICAgdGhpcy5yZXNvbHZlQ2FsbGJhY2sgPSBudWxsO1xuICAgICAgICB0aGlzLnJlamVjdENhbGxiYWNrID0gbnVsbDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import { Subject } from 'rxjs';
|
|
2
|
-
import { first } from 'rxjs/operators';
|
|
3
|
-
export class DatePickerNavigationHelper {
|
|
4
|
-
constructor() {
|
|
5
|
-
this._displayNextMonth = new Subject();
|
|
6
|
-
this._displayPreviousMonth = new Subject();
|
|
7
|
-
}
|
|
8
|
-
get displayNextMonth() {
|
|
9
|
-
return this._displayNextMonth.asObservable();
|
|
10
|
-
}
|
|
11
|
-
get displayPreviousMonth() {
|
|
12
|
-
return this._displayPreviousMonth.asObservable();
|
|
13
|
-
}
|
|
14
|
-
set currentFocusedElement(elem) {
|
|
15
|
-
this._currentFocusedElement =
|
|
16
|
-
DatePickerNavigationHelper.convertElementToFocusedDay(elem);
|
|
17
|
-
}
|
|
18
|
-
set daysButtonsElemRef(elems) {
|
|
19
|
-
this._daysButtonsElemRef = elems;
|
|
20
|
-
}
|
|
21
|
-
set hostId(id) {
|
|
22
|
-
this._hostId = id;
|
|
23
|
-
}
|
|
24
|
-
static convertElementToFocusedDay(elem) {
|
|
25
|
-
if (!elem) {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
return {
|
|
29
|
-
disabled: elem.getAttribute('disabled') !== null,
|
|
30
|
-
indexDay: +elem.getAttribute('day-number') - 1,
|
|
31
|
-
indexRow: +elem.getAttribute('data-row-index'),
|
|
32
|
-
indexColumn: +elem.getAttribute('data-column-index')
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
static focusPreviousMonthButton(hostId) {
|
|
36
|
-
const element = document.getElementById(`${hostId}previous-month`);
|
|
37
|
-
if (element) {
|
|
38
|
-
element.focus();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
static focusNextMonthButton(hostId) {
|
|
42
|
-
const element = document.getElementById(`${hostId}next-month`);
|
|
43
|
-
if (element) {
|
|
44
|
-
element.focus();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
focusDefaultDay(hasSelectedDay) {
|
|
48
|
-
const daysInWeek = this.getEnabledDaysOfWeek();
|
|
49
|
-
if (hasSelectedDay) {
|
|
50
|
-
const selectedDay = daysInWeek.filter(value => value.nativeElement.getAttribute('data-is-selected') ===
|
|
51
|
-
'true');
|
|
52
|
-
if (selectedDay.length) {
|
|
53
|
-
selectedDay[0].nativeElement.focus();
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
const hasToday = daysInWeek.filter(value => value.nativeElement.getAttribute('data-is-today') === 'true');
|
|
58
|
-
if (hasToday.length) {
|
|
59
|
-
hasToday[0].nativeElement.focus();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
focusNextDay() {
|
|
64
|
-
const daysInWeek = this.getEnabledDaysOfWeek();
|
|
65
|
-
if (!!daysInWeek.length) {
|
|
66
|
-
const indexSelected = this.getCurrentFocusedIndex(daysInWeek);
|
|
67
|
-
const nextIndex = indexSelected + 1;
|
|
68
|
-
if (nextIndex >= daysInWeek.length) {
|
|
69
|
-
// Here we change week so we need to listen to new loaded day buttons to focus proper one
|
|
70
|
-
this._daysButtonsElemRef.changes.pipe(first()).subscribe(() => {
|
|
71
|
-
const newDaysInWeek = this.getEnabledDaysOfWeek();
|
|
72
|
-
if (!newDaysInWeek.length) {
|
|
73
|
-
DatePickerNavigationHelper.focusPreviousMonthButton(this._hostId);
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
newDaysInWeek[0].nativeElement.focus();
|
|
77
|
-
});
|
|
78
|
-
this._displayNextMonth.next();
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
daysInWeek[nextIndex].nativeElement.focus();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
focusPreviousDay() {
|
|
85
|
-
const daysInWeek = this.getEnabledDaysOfWeek();
|
|
86
|
-
if (!!daysInWeek.length) {
|
|
87
|
-
const indexSelected = this.getCurrentFocusedIndex(daysInWeek);
|
|
88
|
-
const previousIndex = indexSelected - 1;
|
|
89
|
-
if (previousIndex < 0) {
|
|
90
|
-
// Here we change week so we need to listen to new loaded day buttons to focus proper one
|
|
91
|
-
this._daysButtonsElemRef.changes.pipe(first()).subscribe(() => {
|
|
92
|
-
const newDaysInWeek = this.getEnabledDaysOfWeek();
|
|
93
|
-
if (!newDaysInWeek.length) {
|
|
94
|
-
DatePickerNavigationHelper.focusNextMonthButton(this._hostId);
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
newDaysInWeek[newDaysInWeek.length - 1].nativeElement.focus();
|
|
98
|
-
});
|
|
99
|
-
this._displayPreviousMonth.next();
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
daysInWeek[previousIndex].nativeElement.focus();
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
focusNextWeekDay() {
|
|
106
|
-
const daysInColumn = this.getAllDaysInColumn(this._currentFocusedElement.indexColumn);
|
|
107
|
-
const nextRowIndex = this._currentFocusedElement.indexRow + 1;
|
|
108
|
-
if (nextRowIndex >= daysInColumn.length ||
|
|
109
|
-
daysInColumn[nextRowIndex].nativeElement.getAttribute('disabled') !== null) {
|
|
110
|
-
// Here we change week so we need to listen to new loaded day buttons to focus proper one
|
|
111
|
-
this._daysButtonsElemRef.changes.pipe(first()).subscribe(() => {
|
|
112
|
-
const enabledDaysInColumn = this.getEnabledDaysInColumn(this._currentFocusedElement.indexColumn);
|
|
113
|
-
if (!enabledDaysInColumn.length) {
|
|
114
|
-
DatePickerNavigationHelper.focusPreviousMonthButton(this._hostId);
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
const newDaysInColumn = this.getAllDaysInColumn(this._currentFocusedElement.indexColumn);
|
|
118
|
-
let newRowIndex = 0;
|
|
119
|
-
if (newDaysInColumn[newRowIndex].nativeElement.getAttribute('disabled') !== null) {
|
|
120
|
-
newRowIndex++;
|
|
121
|
-
}
|
|
122
|
-
newDaysInColumn[newRowIndex].nativeElement.focus();
|
|
123
|
-
});
|
|
124
|
-
this._displayNextMonth.next();
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
daysInColumn[nextRowIndex].nativeElement.focus();
|
|
128
|
-
}
|
|
129
|
-
focusPreviousWeekDay() {
|
|
130
|
-
const daysInColumn = this.getAllDaysInColumn(this._currentFocusedElement.indexColumn);
|
|
131
|
-
const previousRowIndex = this._currentFocusedElement.indexRow - 1;
|
|
132
|
-
if (previousRowIndex < 0 ||
|
|
133
|
-
daysInColumn[previousRowIndex].nativeElement.getAttribute('disabled') !== null) {
|
|
134
|
-
// Here we change week so we need to listen to new loaded day buttons to focus proper one
|
|
135
|
-
this._daysButtonsElemRef.changes.pipe(first()).subscribe(() => {
|
|
136
|
-
const enabledDaysInColumn = this.getEnabledDaysInColumn(this._currentFocusedElement.indexColumn);
|
|
137
|
-
if (!enabledDaysInColumn.length) {
|
|
138
|
-
DatePickerNavigationHelper.focusNextMonthButton(this._hostId);
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
const newDaysInColumn = this.getAllDaysInColumn(this._currentFocusedElement.indexColumn);
|
|
142
|
-
let newRowIndex = newDaysInColumn.length - 1;
|
|
143
|
-
if (newDaysInColumn[newRowIndex].nativeElement.getAttribute('disabled') !== null) {
|
|
144
|
-
newRowIndex--;
|
|
145
|
-
}
|
|
146
|
-
newDaysInColumn[newRowIndex].nativeElement.focus();
|
|
147
|
-
});
|
|
148
|
-
this._displayPreviousMonth.next();
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
daysInColumn[previousRowIndex].nativeElement.focus();
|
|
152
|
-
}
|
|
153
|
-
getEnabledDaysOfWeek() {
|
|
154
|
-
return [...this._daysButtonsElemRef.toArray()].filter(value => value.nativeElement.getAttribute('disabled') === null);
|
|
155
|
-
}
|
|
156
|
-
getAllDaysInColumn(indexColumn) {
|
|
157
|
-
return [...this._daysButtonsElemRef.toArray()].filter(value => +value.nativeElement.getAttribute('data-column-index') ===
|
|
158
|
-
indexColumn);
|
|
159
|
-
}
|
|
160
|
-
getEnabledDaysInColumn(indexColumn) {
|
|
161
|
-
return this.getAllDaysInColumn(indexColumn).filter(value => value.nativeElement.getAttribute('disabled') === null);
|
|
162
|
-
}
|
|
163
|
-
getCurrentFocusedIndex(daysInWeek) {
|
|
164
|
-
return daysInWeek.findIndex(item => item.nativeElement.getAttribute('id') ===
|
|
165
|
-
document.activeElement.getAttribute('id'));
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXItbmF2aWdhdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXItbmF2aWdhdGlvbi5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdkMsTUFBTSxPQUFPLDBCQUEwQjtJQUF2QztRQUtZLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDeEMsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQXNPeEQsQ0FBQztJQXBPRyxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDcEIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUkscUJBQXFCLENBQUMsSUFBYTtRQUNuQyxJQUFJLENBQUMsc0JBQXNCO1lBQ3ZCLDBCQUEwQixDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxJQUFJLGtCQUFrQixDQUFDLEtBQTRCO1FBQy9DLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLEVBQVU7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxJQUFhO1FBQ25ELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNSLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7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SSxDQUFDO1lBQ3JDLFFBQVEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUNoRCxDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRm9jdXNlZERheSB9IGZyb20gJy4vZm9jdXNlZC1kYXkudHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyTmF2aWdhdGlvbkhlbHBlciB7XG4gICAgcHJpdmF0ZSBfY3VycmVudEZvY3VzZWRFbGVtZW50OiBGb2N1c2VkRGF5O1xuICAgIHByaXZhdGUgX2RheXNCdXR0b25zRWxlbVJlZjogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICAgIHByaXZhdGUgX2hvc3RJZDogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfZGlzcGxheU5leHRNb250aCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBfZGlzcGxheVByZXZpb3VzTW9udGggPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IGRpc3BsYXlOZXh0TW9udGgoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNwbGF5TmV4dE1vbnRoLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIGdldCBkaXNwbGF5UHJldmlvdXNNb250aCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlQcmV2aW91c01vbnRoLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHNldCBjdXJyZW50Rm9jdXNlZEVsZW1lbnQoZWxlbTogRWxlbWVudCkge1xuICAgICAgICB0aGlzLl9jdXJyZW50Rm9jdXNlZEVsZW1lbnQgPVxuICAgICAgICAgICAgRGF0ZVBpY2tlck5hdmlnYXRpb25IZWxwZXIuY29udmVydEVsZW1lbnRUb0ZvY3VzZWREYXkoZWxlbSk7XG4gICAgfVxuXG4gICAgc2V0IGRheXNCdXR0b25zRWxlbVJlZihlbGVtczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+KSB7XG4gICAgICAgIHRoaXMuX2RheXNCdXR0b25zRWxlbVJlZiA9IGVsZW1zO1xuICAgIH1cblxuICAgIHNldCBob3N0SWQoaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9ob3N0SWQgPSBpZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBjb252ZXJ0RWxlbWVudFRvRm9jdXNlZERheShlbGVtOiBFbGVtZW50KTogRm9jdXNlZERheSB7XG4gICAgICAgIGlmICghZWxlbSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRpc2FibGVkOiBlbGVtLmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKSAhPT0gbnVsbCxcbiAgICAgICAgICAgIGluZGV4RGF5OiArZWxlbS5nZXRBdHRyaWJ1dGUoJ2RheS1udW1iZXInKSAtIDEsXG4gICAgICAgICAgICBpbmRleFJvdzogK2VsZW0uZ2V0QXR0cmlidXRlKCdkYXRhLXJvdy1pbmRleCcpLFxuICAgICAgICAgICAgaW5kZXhDb2x1bW46ICtlbGVtLmdldEF0dHJpYnV0ZSgnZGF0YS1jb2x1bW4taW5kZXgnKVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGZvY3VzUHJldmlvdXNNb250aEJ1dHRvbihob3N0SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7aG9zdElkfXByZXZpb3VzLW1vbnRoYCk7XG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBmb2N1c05leHRNb250aEJ1dHRvbihob3N0SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7aG9zdElkfW5leHQtbW9udGhgKTtcbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzRGVmYXVsdERheShoYXNTZWxlY3RlZERheTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXlzSW5XZWVrID0gdGhpcy5nZXRFbmFibGVkRGF5c09mV2VlaygpO1xuICAgICAgICBpZiAoaGFzU2VsZWN0ZWREYXkpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRGF5ID0gZGF5c0luV2Vlay5maWx0ZXIoXG4gICAgICAgICAgICAgICAgdmFsdWUgPT5cbiAgICAgICAgICAgICAgICAgICAgdmFsdWUubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaXMtc2VsZWN0ZWQnKSA9PT1cbiAgICAgICAgICAgICAgICAgICAgJ3RydWUnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkRGF5Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkRGF5WzBdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1RvZGF5ID0gZGF5c0luV2Vlay5maWx0ZXIoXG4gICAgICAgICAgICAgICAgdmFsdWUgPT5cbiAgICAgICAgICAgICAgICAgICAgdmFsdWUubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaXMtdG9kYXknKSA9PT0gJ3RydWUnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGhhc1RvZGF5Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGhhc1RvZGF5WzBdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzTmV4dERheSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF5c0luV2VlayA9IHRoaXMuZ2V0RW5hYmxlZERheXNPZldlZWsoKTtcbiAgICAgICAgaWYgKCEhZGF5c0luV2Vlay5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4U2VsZWN0ZWQgPSB0aGlzLmdldEN1cnJlbnRGb2N1c2VkSW5kZXgoZGF5c0luV2Vlayk7XG4gICAgICAgICAgICBjb25zdCBuZXh0SW5kZXggPSBpbmRleFNlbGVjdGVkICsgMTtcbiAgICAgICAgICAgIGlmIChuZXh0SW5kZXggPj0gZGF5c0luV2Vlay5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAvLyBIZXJlIHdlIGNoYW5nZSB3ZWVrIHNvIHdlIG5lZWQgdG8gbGlzdGVuIHRvIG5ldyBsb2FkZWQgZGF5IGJ1dHRvbnMgdG8gZm9jdXMgcHJvcGVyIG9uZVxuICAgICAgICAgICAgICAgIHRoaXMuX2RheXNCdXR0b25zRWxlbVJlZi5jaGFuZ2VzLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3RGF5c0luV2VlayA9IHRoaXMuZ2V0RW5hYmxlZERheXNPZldlZWsoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFuZXdEYXlzSW5XZWVrLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgRGF0ZVBpY2tlck5hdmlnYXRpb25IZWxwZXIuZm9jdXNQcmV2aW91c01vbnRoQnV0dG9uKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2hvc3RJZFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBuZXdEYXlzSW5XZWVrWzBdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLl9kaXNwbGF5TmV4dE1vbnRoLm5leHQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkYXlzSW5XZWVrW25leHRJbmRleF0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9jdXNQcmV2aW91c0RheSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF5c0luV2VlayA9IHRoaXMuZ2V0RW5hYmxlZERheXNPZldlZWsoKTtcbiAgICAgICAgaWYgKCEhZGF5c0luV2Vlay5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4U2VsZWN0ZWQgPSB0aGlzLmdldEN1cnJlbnRGb2N1c2VkSW5kZXgoZGF5c0luV2Vlayk7XG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gaW5kZXhTZWxlY3RlZCAtIDE7XG4gICAgICAgICAgICBpZiAocHJldmlvdXNJbmRleCA8IDApIHtcbiAgICAgICAgICAgICAgICAvLyBIZXJlIHdlIGNoYW5nZSB3ZWVrIHNvIHdlIG5lZWQgdG8gbGlzdGVuIHRvIG5ldyBsb2FkZWQgZGF5IGJ1dHRvbnMgdG8gZm9jdXMgcHJvcGVyIG9uZVxuICAgICAgICAgICAgICAgIHRoaXMuX2RheXNCdXR0b25zRWxlbVJlZi5jaGFuZ2VzLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3RGF5c0luV2VlayA9IHRoaXMuZ2V0RW5hYmxlZERheXNPZldlZWsoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFuZXdEYXlzSW5XZWVrLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgRGF0ZVBpY2tlck5hdmlnYXRpb25IZWxwZXIuZm9jdXNOZXh0TW9udGhCdXR0b24oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5faG9zdElkXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5ld0RheXNJbldlZWtbXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdEYXlzSW5XZWVrLmxlbmd0aCAtIDFcbiAgICAgICAgICAgICAgICAgICAgXS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGlzcGxheVByZXZpb3VzTW9udGgubmV4dCgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRheXNJbldlZWtbcHJldmlvdXNJbmRleF0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9jdXNOZXh0V2Vla0RheSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF5c0luQ29sdW1uID0gdGhpcy5nZXRBbGxEYXlzSW5Db2x1bW4oXG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50Rm9jdXNlZEVsZW1lbnQuaW5kZXhDb2x1bW5cbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbmV4dFJvd0luZGV4ID0gdGhpcy5fY3VycmVudEZvY3VzZWRFbGVtZW50LmluZGV4Um93ICsgMTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgbmV4dFJvd0luZGV4ID49IGRheXNJbkNvbHVtbi5sZW5ndGggfHxcbiAgICAgICAgICAgIGRheXNJbkNvbHVtbltuZXh0Um93SW5kZXhdLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICdkaXNhYmxlZCdcbiAgICAgICAgICAgICkgIT09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgICAvLyBIZXJlIHdlIGNoYW5nZSB3ZWVrIHNvIHdlIG5lZWQgdG8gbGlzdGVuIHRvIG5ldyBsb2FkZWQgZGF5IGJ1dHRvbnMgdG8gZm9jdXMgcHJvcGVyIG9uZVxuICAgICAgICAgICAgdGhpcy5fZGF5c0J1dHRvbnNFbGVtUmVmLmNoYW5nZXMucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuYWJsZWREYXlzSW5Db2x1bW4gPSB0aGlzLmdldEVuYWJsZWREYXlzSW5Db2x1bW4oXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRGb2N1c2VkRWxlbWVudC5pbmRleENvbHVtblxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKCFlbmFibGVkRGF5c0luQ29sdW1uLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBEYXRlUGlja2VyTmF2aWdhdGlvbkhlbHBlci5mb2N1c1ByZXZpb3VzTW9udGhCdXR0b24oXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9ob3N0SWRcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdEYXlzSW5Db2x1bW4gPSB0aGlzLmdldEFsbERheXNJbkNvbHVtbihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY3VycmVudEZvY3VzZWRFbGVtZW50LmluZGV4Q29sdW1uXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBsZXQgbmV3Um93SW5kZXggPSAwO1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF5c0luQ29sdW1uW25ld1Jvd0luZGV4XS5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICdkaXNhYmxlZCdcbiAgICAgICAgICAgICAgICAgICAgKSAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBuZXdSb3dJbmRleCsrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBuZXdEYXlzSW5Db2x1bW5bbmV3Um93SW5kZXhdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fZGlzcGxheU5leHRNb250aC5uZXh0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZGF5c0luQ29sdW1uW25leHRSb3dJbmRleF0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIGZvY3VzUHJldmlvdXNXZWVrRGF5KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXlzSW5Db2x1bW4gPSB0aGlzLmdldEFsbERheXNJbkNvbHVtbihcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRGb2N1c2VkRWxlbWVudC5pbmRleENvbHVtblxuICAgICAgICApO1xuICAgICAgICBjb25zdCBwcmV2aW91c1Jvd0luZGV4ID0gdGhpcy5fY3VycmVudEZvY3VzZWRFbGVtZW50LmluZGV4Um93IC0gMTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgcHJldmlvdXNSb3dJbmRleCA8IDAgfHxcbiAgICAgICAgICAgIGRheXNJbkNvbHVtbltwcmV2aW91c1Jvd0luZGV4XS5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAnZGlzYWJsZWQnXG4gICAgICAgICAgICApICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgICAgLy8gSGVyZSB3ZSBjaGFuZ2Ugd2VlayBzbyB3ZSBuZWVkIHRvIGxpc3RlbiB0byBuZXcgbG9hZGVkIGRheSBidXR0b25zIHRvIGZvY3VzIHByb3BlciBvbmVcbiAgICAgICAgICAgIHRoaXMuX2RheXNCdXR0b25zRWxlbVJlZi5jaGFuZ2VzLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmFibGVkRGF5c0luQ29sdW1uID0gdGhpcy5nZXRFbmFibGVkRGF5c0luQ29sdW1uKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50Rm9jdXNlZEVsZW1lbnQuaW5kZXhDb2x1bW5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmICghZW5hYmxlZERheXNJbkNvbHVtbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgRGF0ZVBpY2tlck5hdmlnYXRpb25IZWxwZXIuZm9jdXNOZXh0TW9udGhCdXR0b24oXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9ob3N0SWRcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdEYXlzSW5Db2x1bW4gPSB0aGlzLmdldEFsbERheXNJbkNvbHVtbihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY3VycmVudEZvY3VzZWRFbGVtZW50LmluZGV4Q29sdW1uXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBsZXQgbmV3Um93SW5kZXggPSBuZXdEYXlzSW5Db2x1bW4ubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIG5ld0RheXNJbkNvbHVtbltuZXdSb3dJbmRleF0ubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGlzYWJsZWQnXG4gICAgICAgICAgICAgICAgICAgICkgIT09IG51bGxcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3Um93SW5kZXgtLTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3RGF5c0luQ29sdW1uW25ld1Jvd0luZGV4XS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX2Rpc3BsYXlQcmV2aW91c01vbnRoLm5leHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBkYXlzSW5Db2x1bW5bcHJldmlvdXNSb3dJbmRleF0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RW5hYmxlZERheXNPZldlZWsoKTogRWxlbWVudFJlZltdIHtcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzLl9kYXlzQnV0dG9uc0VsZW1SZWYudG9BcnJheSgpXS5maWx0ZXIoXG4gICAgICAgICAgICB2YWx1ZSA9PiB2YWx1ZS5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKSA9PT0gbnVsbFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWxsRGF5c0luQ29sdW1uKGluZGV4Q29sdW1uOiBudW1iZXIpOiBFbGVtZW50UmVmW10ge1xuICAgICAgICByZXR1cm4gWy4uLnRoaXMuX2RheXNCdXR0b25zRWxlbVJlZi50b0FycmF5KCldLmZpbHRlcihcbiAgICAgICAgICAgIHZhbHVlID0+XG4gICAgICAgICAgICAgICAgK3ZhbHVlLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLWNvbHVtbi1pbmRleCcpID09PVxuICAgICAgICAgICAgICAgIGluZGV4Q29sdW1uXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFbmFibGVkRGF5c0luQ29sdW1uKGluZGV4Q29sdW1uOiBudW1iZXIpOiBFbGVtZW50UmVmW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGxEYXlzSW5Db2x1bW4oaW5kZXhDb2x1bW4pLmZpbHRlcihcbiAgICAgICAgICAgIHZhbHVlID0+IHZhbHVlLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpID09PSBudWxsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDdXJyZW50Rm9jdXNlZEluZGV4KGRheXNJbldlZWs6IEVsZW1lbnRSZWZbXSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBkYXlzSW5XZWVrLmZpbmRJbmRleChcbiAgICAgICAgICAgIGl0ZW0gPT5cbiAgICAgICAgICAgICAgICBpdGVtLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpZCcpID09PVxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpZCcpXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|