@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,68 +0,0 @@
|
|
|
1
|
-
import { HTTP_INTERCEPTORS, HttpEventType, HttpResponse } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import dayjs from 'dayjs';
|
|
4
|
-
import { tap } from 'rxjs';
|
|
5
|
-
import { CurrentSessionExpiration } from './current-session-expiration';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "./demande-expiration.service";
|
|
8
|
-
const EXPIRATION_HEADER = 'Sessions-Expirations';
|
|
9
|
-
export class DemandeExpirationInterceptor {
|
|
10
|
-
constructor(demandeExpirationService) {
|
|
11
|
-
this.demandeExpirationService = demandeExpirationService;
|
|
12
|
-
}
|
|
13
|
-
intercept(request, next) {
|
|
14
|
-
return next.handle(request).pipe(tap((httpEvent) => {
|
|
15
|
-
if (httpEvent.type === HttpEventType.Sent) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
if (httpEvent instanceof HttpResponse) {
|
|
19
|
-
if (httpEvent.headers.has(EXPIRATION_HEADER)) {
|
|
20
|
-
this.manageDemandeExpirationHeader(httpEvent.headers.get(EXPIRATION_HEADER), httpEvent.body);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}));
|
|
24
|
-
}
|
|
25
|
-
manageDemandeExpirationHeader(expirationByDemande, responseBody) {
|
|
26
|
-
const expirationByDemandeMap = this.getExpirationByDemandeMap(expirationByDemande);
|
|
27
|
-
const expiration = new CurrentSessionExpiration();
|
|
28
|
-
const reference = responseBody?.meta?.reference || '';
|
|
29
|
-
const dateTimeForReference = expirationByDemandeMap.get(reference);
|
|
30
|
-
const dateTimeForIam = expirationByDemandeMap.get('IAM');
|
|
31
|
-
if (dateTimeForReference) {
|
|
32
|
-
expiration.type = 'SESSION-TOKEN';
|
|
33
|
-
expiration.expiration = dayjs(dateTimeForReference);
|
|
34
|
-
}
|
|
35
|
-
else if (dateTimeForIam) {
|
|
36
|
-
expiration.type = 'IAM';
|
|
37
|
-
expiration.expiration = dayjs(dateTimeForIam);
|
|
38
|
-
}
|
|
39
|
-
if (expiration.expiration?.isValid()) {
|
|
40
|
-
this.demandeExpirationService.setDemandeExpirationDateTime(expiration);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
getExpirationByDemandeMap(expirationByDemande) {
|
|
44
|
-
const myMap = new Map();
|
|
45
|
-
const expirationByDemandesAsArray = expirationByDemande.split(';');
|
|
46
|
-
expirationByDemandesAsArray.forEach(value => {
|
|
47
|
-
const valueAsArray = value.split(',');
|
|
48
|
-
myMap.set(valueAsArray[0], new Date(valueAsArray[1]));
|
|
49
|
-
});
|
|
50
|
-
return myMap;
|
|
51
|
-
}
|
|
52
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DemandeExpirationInterceptor, deps: [{ token: i1.DemandeExpirationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
53
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DemandeExpirationInterceptor, providedIn: 'root' }); }
|
|
54
|
-
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DemandeExpirationInterceptor, decorators: [{
|
|
56
|
-
type: Injectable,
|
|
57
|
-
args: [{
|
|
58
|
-
providedIn: 'root'
|
|
59
|
-
}]
|
|
60
|
-
}], ctorParameters: () => [{ type: i1.DemandeExpirationService }] });
|
|
61
|
-
export const DEMANDE_EXPIRATION_INTERCEPTOR_PROVIDER = [
|
|
62
|
-
{
|
|
63
|
-
provide: HTTP_INTERCEPTORS,
|
|
64
|
-
useExisting: DemandeExpirationInterceptor,
|
|
65
|
-
multi: true
|
|
66
|
-
}
|
|
67
|
-
];
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtYW5kZS1leHBpcmF0aW9uLWludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXBhZ2UvZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyL2RlbWFuZGUtZXhwaXJhdGlvbi1pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBRWpCLGFBQWEsRUFJYixZQUFZLEVBQ2YsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBR3hFLE1BQU0saUJBQWlCLEdBQUcsc0JBQXNCLENBQUM7QUFLakQsTUFBTSxPQUFPLDRCQUE0QjtJQUNyQyxZQUFvQix3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUFHLENBQUM7SUFFMUUsU0FBUyxDQUNMLE9BQTZCLEVBQzdCLElBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzVCLEdBQUcsQ0FBQyxDQUFDLFNBQTZCLEVBQUUsRUFBRTtZQUNsQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN4QyxPQUFPO1lBQ1gsQ0FBQztZQUNELElBQUksU0FBUyxZQUFZLFlBQVksRUFBRSxDQUFDO2dCQUNwQyxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztvQkFDM0MsSUFBSSxDQUFDLDZCQUE2QixDQUM5QixTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUN4QyxTQUFTLENBQUMsSUFBSSxDQUNqQixDQUFDO2dCQUNOLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFTyw2QkFBNkIsQ0FDakMsbUJBQTJCLEVBQzNCLFlBQXFCO1FBRXJCLE1BQU0sc0JBQXNCLEdBQ3hCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRXhELE1BQU0sVUFBVSxHQUNaLElBQUksd0JBQXdCLEVBQUUsQ0FBQztRQUNuQyxNQUFNLFNBQVMsR0FDVixZQUF3QyxFQUFFLElBQUksRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDO1FBRXJFLE1BQU0sb0JBQW9CLEdBQUcsc0JBQXNCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sY0FBYyxHQUFHLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6RCxJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDdkIsVUFBVSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUM7WUFDbEMsVUFBVSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN4RCxDQUFDO2FBQU0sSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUN4QixVQUFVLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztZQUN4QixVQUFVLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBRUQsSUFBSSxVQUFVLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLDRCQUE0QixDQUN0RCxVQUFVLENBQ2IsQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBRU8seUJBQXlCLENBQzdCLG1CQUEyQjtRQUUzQixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBZ0IsQ0FBQztRQUN0QyxNQUFNLDJCQUEyQixHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRSwyQkFBMkIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzsrR0FoRVEsNEJBQTRCO21IQUE1Qiw0QkFBNEIsY0FGekIsTUFBTTs7NEZBRVQsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7QUFvRUQsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQXVCO0lBQ3ZFO1FBQ0ksT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixXQUFXLEVBQUUsNEJBQTRCO1FBQ3pDLEtBQUssRUFBRSxJQUFJO0tBQ2Q7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICBIdHRwRXZlbnQsXG4gICAgSHR0cEV2ZW50VHlwZSxcbiAgICBIdHRwSGFuZGxlcixcbiAgICBIdHRwSW50ZXJjZXB0b3IsXG4gICAgSHR0cFJlcXVlc3QsXG4gICAgSHR0cFJlc3BvbnNlXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV4aXN0aW5nUHJvdmlkZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRm9ybVBvc3RSZXNwb25zZSB9IGZyb20gJy4uLy4uL2Zvcm0tcG9zdC1yZXNwb25zZSc7XG5pbXBvcnQgeyBDdXJyZW50U2Vzc2lvbkV4cGlyYXRpb24gfSBmcm9tICcuL2N1cnJlbnQtc2Vzc2lvbi1leHBpcmF0aW9uJztcbmltcG9ydCB7IERlbWFuZGVFeHBpcmF0aW9uU2VydmljZSB9IGZyb20gJy4vZGVtYW5kZS1leHBpcmF0aW9uLnNlcnZpY2UnO1xuXG5jb25zdCBFWFBJUkFUSU9OX0hFQURFUiA9ICdTZXNzaW9ucy1FeHBpcmF0aW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGVtYW5kZUV4cGlyYXRpb25JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkZW1hbmRlRXhwaXJhdGlvblNlcnZpY2U6IERlbWFuZGVFeHBpcmF0aW9uU2VydmljZSkge31cblxuICAgIGludGVyY2VwdChcbiAgICAgICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXG4gICAgICAgIG5leHQ6IEh0dHBIYW5kbGVyXG4gICAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKGh0dHBFdmVudDogSHR0cEV2ZW50PHVua25vd24+KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGh0dHBFdmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlNlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaHR0cEV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChodHRwRXZlbnQuaGVhZGVycy5oYXMoRVhQSVJBVElPTl9IRUFERVIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1hbmFnZURlbWFuZGVFeHBpcmF0aW9uSGVhZGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBFdmVudC5oZWFkZXJzLmdldChFWFBJUkFUSU9OX0hFQURFUiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cEV2ZW50LmJvZHlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgbWFuYWdlRGVtYW5kZUV4cGlyYXRpb25IZWFkZXIoXG4gICAgICAgIGV4cGlyYXRpb25CeURlbWFuZGU6IHN0cmluZyxcbiAgICAgICAgcmVzcG9uc2VCb2R5OiB1bmtub3duXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV4cGlyYXRpb25CeURlbWFuZGVNYXAgPVxuICAgICAgICAgICAgdGhpcy5nZXRFeHBpcmF0aW9uQnlEZW1hbmRlTWFwKGV4cGlyYXRpb25CeURlbWFuZGUpO1xuXG4gICAgICAgIGNvbnN0IGV4cGlyYXRpb246IEN1cnJlbnRTZXNzaW9uRXhwaXJhdGlvbiA9XG4gICAgICAgICAgICBuZXcgQ3VycmVudFNlc3Npb25FeHBpcmF0aW9uKCk7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZSA9XG4gICAgICAgICAgICAocmVzcG9uc2VCb2R5IGFzIEZvcm1Qb3N0UmVzcG9uc2U8bmV2ZXI+KT8ubWV0YT8ucmVmZXJlbmNlIHx8ICcnO1xuXG4gICAgICAgIGNvbnN0IGRhdGVUaW1lRm9yUmVmZXJlbmNlID0gZXhwaXJhdGlvbkJ5RGVtYW5kZU1hcC5nZXQocmVmZXJlbmNlKTtcbiAgICAgICAgY29uc3QgZGF0ZVRpbWVGb3JJYW0gPSBleHBpcmF0aW9uQnlEZW1hbmRlTWFwLmdldCgnSUFNJyk7XG5cbiAgICAgICAgaWYgKGRhdGVUaW1lRm9yUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICBleHBpcmF0aW9uLnR5cGUgPSAnU0VTU0lPTi1UT0tFTic7XG4gICAgICAgICAgICBleHBpcmF0aW9uLmV4cGlyYXRpb24gPSBkYXlqcyhkYXRlVGltZUZvclJlZmVyZW5jZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF0ZVRpbWVGb3JJYW0pIHtcbiAgICAgICAgICAgIGV4cGlyYXRpb24udHlwZSA9ICdJQU0nO1xuICAgICAgICAgICAgZXhwaXJhdGlvbi5leHBpcmF0aW9uID0gZGF5anMoZGF0ZVRpbWVGb3JJYW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4cGlyYXRpb24uZXhwaXJhdGlvbj8uaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmRlbWFuZGVFeHBpcmF0aW9uU2VydmljZS5zZXREZW1hbmRlRXhwaXJhdGlvbkRhdGVUaW1lKFxuICAgICAgICAgICAgICAgIGV4cGlyYXRpb25cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEV4cGlyYXRpb25CeURlbWFuZGVNYXAoXG4gICAgICAgIGV4cGlyYXRpb25CeURlbWFuZGU6IHN0cmluZ1xuICAgICk6IE1hcDxzdHJpbmcsIERhdGU+IHtcbiAgICAgICAgY29uc3QgbXlNYXAgPSBuZXcgTWFwPHN0cmluZywgRGF0ZT4oKTtcbiAgICAgICAgY29uc3QgZXhwaXJhdGlvbkJ5RGVtYW5kZXNBc0FycmF5ID0gZXhwaXJhdGlvbkJ5RGVtYW5kZS5zcGxpdCgnOycpO1xuICAgICAgICBleHBpcmF0aW9uQnlEZW1hbmRlc0FzQXJyYXkuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZUFzQXJyYXkgPSB2YWx1ZS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgbXlNYXAuc2V0KHZhbHVlQXNBcnJheVswXSwgbmV3IERhdGUodmFsdWVBc0FycmF5WzFdKSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbXlNYXA7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgREVNQU5ERV9FWFBJUkFUSU9OX0lOVEVSQ0VQVE9SX1BST1ZJREVSOiBFeGlzdGluZ1Byb3ZpZGVyW10gPSBbXG4gICAge1xuICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgICAgdXNlRXhpc3Rpbmc6IERlbWFuZGVFeHBpcmF0aW9uSW50ZXJjZXB0b3IsXG4gICAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuXTtcbiJdfQ==
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import dayjs from 'dayjs';
|
|
3
|
-
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
4
|
-
import { filter, map, shareReplay, tap } from 'rxjs/operators';
|
|
5
|
-
import { IntervalHelper } from './interval.helper';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class DemandeExpirationService {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.PULLING_IN_MILLISECONDS = 1000;
|
|
10
|
-
this._demandeExpirationDateTimeSubject = new BehaviorSubject(null);
|
|
11
|
-
this.intervalSubject = new BehaviorSubject(null);
|
|
12
|
-
}
|
|
13
|
-
shouldDisplayExpirationTimerMessage() {
|
|
14
|
-
return combineLatest([
|
|
15
|
-
this.getDemandeExpirationDateTime(),
|
|
16
|
-
this.intervalSubject.asObservable()
|
|
17
|
-
]).pipe(map(([value]) => !dayjs().isBefore(value?.expiration)), tap(visible => {
|
|
18
|
-
if (visible) {
|
|
19
|
-
this.clearPulling();
|
|
20
|
-
}
|
|
21
|
-
}), shareReplay(1));
|
|
22
|
-
}
|
|
23
|
-
setDemandeExpirationDateTime(expiration) {
|
|
24
|
-
this._demandeExpirationDateTimeSubject.next(expiration);
|
|
25
|
-
}
|
|
26
|
-
getDemandeExpirationDateTime() {
|
|
27
|
-
return this._demandeExpirationDateTimeSubject.asObservable().pipe(filter(value => !!value && value.expiration?.isValid()), tap(value => {
|
|
28
|
-
if (dayjs().isBefore(value.expiration)) {
|
|
29
|
-
this.startPulling();
|
|
30
|
-
}
|
|
31
|
-
}), shareReplay(1));
|
|
32
|
-
}
|
|
33
|
-
startPulling() {
|
|
34
|
-
this.clearPulling();
|
|
35
|
-
this.interval = IntervalHelper.accurateInterval(() => {
|
|
36
|
-
this.intervalSubject.next();
|
|
37
|
-
}, this.PULLING_IN_MILLISECONDS, () => {
|
|
38
|
-
this.startPulling();
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
clearPulling() {
|
|
42
|
-
this.interval?.clear();
|
|
43
|
-
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DemandeExpirationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
45
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DemandeExpirationService, providedIn: 'root' }); }
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DemandeExpirationService, decorators: [{
|
|
48
|
-
type: Injectable,
|
|
49
|
-
args: [{
|
|
50
|
-
providedIn: 'root'
|
|
51
|
-
}]
|
|
52
|
-
}] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtYW5kZS1leHBpcmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcGFnZS9mb2Vobi1wYWdlLWV4cGlyYXRpb24tdGltZXIvZGVtYW5kZS1leHBpcmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFLbkQsTUFBTSxPQUFPLHdCQUF3QjtJQUhyQztRQU9xQiw0QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFFeEMsc0NBQWlDLEdBQ3JDLElBQUksZUFBZSxDQUEyQixJQUFJLENBQUMsQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFPLElBQUksQ0FBQyxDQUFDO0tBaUQ3RDtJQS9DRyxtQ0FBbUM7UUFDL0IsT0FBTyxhQUFhLENBQUM7WUFDakIsSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFO1NBQ3RDLENBQUMsQ0FBQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQ3RELEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLENBQUM7UUFDTCxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2pCLENBQUM7SUFDTixDQUFDO0lBRUQsNEJBQTRCLENBQUMsVUFBb0M7UUFDN0QsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsNEJBQTRCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGlDQUFpQyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDN0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQ3ZELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNSLElBQUksS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsQ0FBQztRQUNMLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDakIsQ0FBQztJQUNOLENBQUM7SUFFTyxZQUFZO1FBQ2hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FDM0MsR0FBRyxFQUFFO1lBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxDQUFDLEVBQ0QsSUFBSSxDQUFDLHVCQUF1QixFQUM1QixHQUFHLEVBQUU7WUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7K0dBeERRLHdCQUF3QjttSEFBeEIsd0JBQXdCLGNBRnJCLE1BQU07OzRGQUVULHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ3VycmVudFNlc3Npb25FeHBpcmF0aW9uIH0gZnJvbSAnLi9jdXJyZW50LXNlc3Npb24tZXhwaXJhdGlvbic7XG5pbXBvcnQgeyBJbnRlcnZhbEhlbHBlciB9IGZyb20gJy4vaW50ZXJ2YWwuaGVscGVyJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEZW1hbmRlRXhwaXJhdGlvblNlcnZpY2Uge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBpbnRlcnZhbDogYW55O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBQVUxMSU5HX0lOX01JTExJU0VDT05EUyA9IDEwMDA7XG5cbiAgICBwcml2YXRlIF9kZW1hbmRlRXhwaXJhdGlvbkRhdGVUaW1lU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PEN1cnJlbnRTZXNzaW9uRXhwaXJhdGlvbj4gPVxuICAgICAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PEN1cnJlbnRTZXNzaW9uRXhwaXJhdGlvbj4obnVsbCk7XG4gICAgcHJpdmF0ZSBpbnRlcnZhbFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KG51bGwpO1xuXG4gICAgc2hvdWxkRGlzcGxheUV4cGlyYXRpb25UaW1lck1lc3NhZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuZ2V0RGVtYW5kZUV4cGlyYXRpb25EYXRlVGltZSgpLFxuICAgICAgICAgICAgdGhpcy5pbnRlcnZhbFN1YmplY3QuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3ZhbHVlXSkgPT4gIWRheWpzKCkuaXNCZWZvcmUodmFsdWU/LmV4cGlyYXRpb24pKSxcbiAgICAgICAgICAgIHRhcCh2aXNpYmxlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyUHVsbGluZygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzZXREZW1hbmRlRXhwaXJhdGlvbkRhdGVUaW1lKGV4cGlyYXRpb246IEN1cnJlbnRTZXNzaW9uRXhwaXJhdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZW1hbmRlRXhwaXJhdGlvbkRhdGVUaW1lU3ViamVjdC5uZXh0KGV4cGlyYXRpb24pO1xuICAgIH1cblxuICAgIGdldERlbWFuZGVFeHBpcmF0aW9uRGF0ZVRpbWUoKTogT2JzZXJ2YWJsZTxDdXJyZW50U2Vzc2lvbkV4cGlyYXRpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlbWFuZGVFeHBpcmF0aW9uRGF0ZVRpbWVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIodmFsdWUgPT4gISF2YWx1ZSAmJiB2YWx1ZS5leHBpcmF0aW9uPy5pc1ZhbGlkKCkpLFxuICAgICAgICAgICAgdGFwKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGF5anMoKS5pc0JlZm9yZSh2YWx1ZS5leHBpcmF0aW9uKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0UHVsbGluZygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXJ0UHVsbGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclB1bGxpbmcoKTtcbiAgICAgICAgdGhpcy5pbnRlcnZhbCA9IEludGVydmFsSGVscGVyLmFjY3VyYXRlSW50ZXJ2YWwoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnRlcnZhbFN1YmplY3QubmV4dCgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMuUFVMTElOR19JTl9NSUxMSVNFQ09ORFMsXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydFB1bGxpbmcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyUHVsbGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnRlcnZhbD8uY2xlYXIoKTtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.mjs
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, withLatestFrom } from 'rxjs';
|
|
3
|
-
import { debounceTime, map, shareReplay, tap } from 'rxjs/operators';
|
|
4
|
-
import { DateHelper } from '../../sdk-date/date.helper';
|
|
5
|
-
import { IntervalHelper } from './interval.helper';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../sdk-appinfo/application-info.service";
|
|
8
|
-
import * as i2 from "../../sdk-dictionary/sdk-dictionary.service";
|
|
9
|
-
import * as i3 from "./demande-expiration.service";
|
|
10
|
-
import * as i4 from "@angular/common";
|
|
11
|
-
import * as i5 from "../../sdk-dictionary/sdk-dictionary.pipe";
|
|
12
|
-
export class FoehnPageExpirationTimerComponent {
|
|
13
|
-
constructor(applicationInfoService, dictionaryService, demandeExpirationService) {
|
|
14
|
-
this.applicationInfoService = applicationInfoService;
|
|
15
|
-
this.dictionaryService = dictionaryService;
|
|
16
|
-
this.demandeExpirationService = demandeExpirationService;
|
|
17
|
-
this.countDownTimeInSeconds = new BehaviorSubject(null);
|
|
18
|
-
this.sessionHasExpired = new BehaviorSubject(false);
|
|
19
|
-
this.srAnnouncementsSubject = new BehaviorSubject('');
|
|
20
|
-
this.dateHelper = new DateHelper();
|
|
21
|
-
this.PULLING_IN_MILLISECONDS = 1000;
|
|
22
|
-
this.SR_ANNOUNCEMENT_CLEAR_TIMEOUT_INTERVAL_MS = 2000;
|
|
23
|
-
this.sessionExpired = this.sessionHasExpired
|
|
24
|
-
.asObservable()
|
|
25
|
-
.pipe(shareReplay(1));
|
|
26
|
-
this.srAnnouncements = this.srAnnouncementsSubject
|
|
27
|
-
.asObservable()
|
|
28
|
-
.pipe(debounceTime(0)); // debounceTime to "avoid expression has changes before..."
|
|
29
|
-
this.countDownTimeToDisplay = this.countDownTimeInSeconds
|
|
30
|
-
.asObservable()
|
|
31
|
-
.pipe(tap(countDownTimeInSeconds => this.sessionHasExpired.next(countDownTimeInSeconds <= 0)), map(countDownTimeInSeconds => this.formatTime(countDownTimeInSeconds)), shareReplay(1));
|
|
32
|
-
this.isVisible = this.demandeExpirationService
|
|
33
|
-
.getDemandeExpirationDateTime()
|
|
34
|
-
.pipe(withLatestFrom(this.applicationInfoService.data), tap(([expiration, appInfo]) => {
|
|
35
|
-
this.clearTimer();
|
|
36
|
-
const messageDelayInMinutes = this.getMessageDelayInMinutes(appInfo, expiration.type);
|
|
37
|
-
// Real session expiration to keep track of time
|
|
38
|
-
this.sessionExpirationDateTimeInMilliseconds =
|
|
39
|
-
expiration.expiration.valueOf() +
|
|
40
|
-
messageDelayInMinutes * 60 * 1000;
|
|
41
|
-
this.countDownTimeInSeconds.next(this.getAccurateCountDownTimeInSeconds());
|
|
42
|
-
this.startTimer();
|
|
43
|
-
}), map(() => true), shareReplay(1));
|
|
44
|
-
}
|
|
45
|
-
ngOnDestroy() {
|
|
46
|
-
this.clearTimer();
|
|
47
|
-
}
|
|
48
|
-
getAccurateCountDownTimeInSeconds() {
|
|
49
|
-
// Calculate real time left. Use Math.floor to be sure timer does not stop after session expiration real time.
|
|
50
|
-
return Math.floor((this.sessionExpirationDateTimeInMilliseconds - Date.now()) / 1000);
|
|
51
|
-
}
|
|
52
|
-
startTimer() {
|
|
53
|
-
this.interval = IntervalHelper.accurateInterval(() => {
|
|
54
|
-
let time = this.countDownTimeInSeconds.getValue();
|
|
55
|
-
if (time === 0) {
|
|
56
|
-
this.clearTimer();
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
time -= 1;
|
|
60
|
-
this.countDownTimeInSeconds.next(time);
|
|
61
|
-
}, this.PULLING_IN_MILLISECONDS, () => {
|
|
62
|
-
// Use Math.max to ensure we are not after sessionTimeout
|
|
63
|
-
this.countDownTimeInSeconds.next(Math.max(0, this.getAccurateCountDownTimeInSeconds()));
|
|
64
|
-
this.startTimer();
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
clearTimer() {
|
|
68
|
-
this.interval?.clear();
|
|
69
|
-
}
|
|
70
|
-
formatTime(timeInSeconds) {
|
|
71
|
-
const hours = Math.floor(timeInSeconds / (60 * 60));
|
|
72
|
-
const divisor_for_minutes = timeInSeconds % (60 * 60);
|
|
73
|
-
const minutes = Math.floor(divisor_for_minutes / 60);
|
|
74
|
-
const divisor_for_seconds = divisor_for_minutes % 60;
|
|
75
|
-
const seconds = Math.ceil(divisor_for_seconds);
|
|
76
|
-
this.manageScreenReaderAnnouncement(timeInSeconds, hours, minutes, seconds);
|
|
77
|
-
const leftPadHours = this.dateHelper.leftPad(hours.toString());
|
|
78
|
-
const leftPadMinutes = this.dateHelper.leftPad(minutes.toString());
|
|
79
|
-
const leftPadSeconds = this.dateHelper.leftPad(seconds.toString());
|
|
80
|
-
return `${leftPadHours}:${leftPadMinutes}:${leftPadSeconds}`;
|
|
81
|
-
}
|
|
82
|
-
announceSrMessage(msg) {
|
|
83
|
-
clearTimeout(this.srAnnouncementClearTimer);
|
|
84
|
-
this.srAnnouncementsSubject.next(msg);
|
|
85
|
-
this.srAnnouncementClearTimer = setTimeout(() => {
|
|
86
|
-
this.srAnnouncementsSubject.next('');
|
|
87
|
-
}, this.SR_ANNOUNCEMENT_CLEAR_TIMEOUT_INTERVAL_MS);
|
|
88
|
-
}
|
|
89
|
-
getReadableTimerForScreenReader(hours, minutes, seconds) {
|
|
90
|
-
if (!hours && !minutes && !seconds) {
|
|
91
|
-
return '';
|
|
92
|
-
}
|
|
93
|
-
if (!!hours && !minutes && !seconds) {
|
|
94
|
-
return `${hours} heures`;
|
|
95
|
-
}
|
|
96
|
-
if (!!minutes && !hours && !seconds) {
|
|
97
|
-
return `${minutes} minutes`;
|
|
98
|
-
}
|
|
99
|
-
if (!!seconds && !minutes && !hours) {
|
|
100
|
-
return `${seconds} secondes`;
|
|
101
|
-
}
|
|
102
|
-
if (!!hours && !!minutes && !!seconds) {
|
|
103
|
-
return `${hours} heures ${minutes} minutes et ${seconds} secondes`;
|
|
104
|
-
}
|
|
105
|
-
if (!!hours && !!minutes && !seconds) {
|
|
106
|
-
return `${hours} heures et ${minutes} minutes`;
|
|
107
|
-
}
|
|
108
|
-
if (!!hours && !!seconds && !minutes) {
|
|
109
|
-
return `${hours} heures et ${seconds} secondes`;
|
|
110
|
-
}
|
|
111
|
-
if (!!minutes && !!seconds && !hours) {
|
|
112
|
-
return `${minutes} minutes et ${seconds} secondes`;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
manageScreenReaderAnnouncement(timeInSeconds, hours, minutes, seconds) {
|
|
116
|
-
const _1_hourInSeconds = 60 * 60;
|
|
117
|
-
const _5_minutesInSeconds = 5 * 60;
|
|
118
|
-
const _10_minutesInSeconds = 10 * 60;
|
|
119
|
-
const _1_minuteInSeconds = 60;
|
|
120
|
-
const _2_minuteInSeconds = 2 * 60;
|
|
121
|
-
// When finished, display expired message
|
|
122
|
-
if (timeInSeconds === 0) {
|
|
123
|
-
this.srAnnouncementsSubject.next(this.dictionaryService.getKeySync('foehn-page-expiration-timer.expired-message.sr-only'));
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
// Every second for the last 15s
|
|
127
|
-
if (timeInSeconds <= 15) {
|
|
128
|
-
this.srAnnouncementsSubject.next(timeInSeconds.toString());
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
// Every 30s when less than 2 minutes
|
|
132
|
-
if (timeInSeconds <= _2_minuteInSeconds && timeInSeconds % 30 === 0) {
|
|
133
|
-
const msg = this.getReadableTimerForScreenReader(hours, minutes, seconds);
|
|
134
|
-
this.announceSrMessage(this.dictionaryService.getKeySync('foehn-page-expiration-timer.count-down-message.sr-only', { countDownValue: msg }));
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
// Every minute for the last 5 minutes
|
|
138
|
-
if (timeInSeconds <= _5_minutesInSeconds &&
|
|
139
|
-
timeInSeconds % _1_minuteInSeconds === 0) {
|
|
140
|
-
const msg = this.getReadableTimerForScreenReader(hours, minutes, seconds);
|
|
141
|
-
this.announceSrMessage(this.dictionaryService.getKeySync('foehn-page-expiration-timer.count-down-message.sr-only', { countDownValue: msg }));
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
// Every 10 minutes when less than an hour
|
|
145
|
-
if (timeInSeconds < _1_hourInSeconds &&
|
|
146
|
-
timeInSeconds % _10_minutesInSeconds === 0) {
|
|
147
|
-
const msg = this.getReadableTimerForScreenReader(hours, minutes, seconds);
|
|
148
|
-
this.announceSrMessage(this.dictionaryService.getKeySync('foehn-page-expiration-timer.count-down-message.sr-only', { countDownValue: msg }));
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
// Every hour when more than an hour
|
|
152
|
-
if (timeInSeconds >= _1_hourInSeconds &&
|
|
153
|
-
timeInSeconds % _1_hourInSeconds === 0) {
|
|
154
|
-
const msg = this.getReadableTimerForScreenReader(hours, minutes, seconds);
|
|
155
|
-
this.announceSrMessage(this.dictionaryService.getKeySync('foehn-page-expiration-timer.count-down-message.sr-only', { countDownValue: msg }));
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
getMessageDelayInMinutes(info, type) {
|
|
160
|
-
switch (type) {
|
|
161
|
-
case 'IAM':
|
|
162
|
-
return info.configuration.session.iamMessageDelayInMinutes;
|
|
163
|
-
case 'SESSION-TOKEN':
|
|
164
|
-
return info.configuration.session
|
|
165
|
-
.sessionTokenMessageDelayInMinutes;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnPageExpirationTimerComponent, deps: [{ token: i1.ApplicationInfoService }, { token: i2.SdkDictionaryService }, { token: i3.DemandeExpirationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
169
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FoehnPageExpirationTimerComponent, selector: "foehn-page-expiration-timer", ngImport: i0, template: "<div\n *ngIf=\"isVisible | async\"\n id=\"foehn-page-expiration-timer\"\n class=\"sticky-top alert text-center my-0\"\n [class.alert-warning]=\"(sessionExpired | async) === false\"\n [class.alert-danger]=\"(sessionExpired | async) === true\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n>\n <div\n *ngIf=\"(sessionExpired | async) === false\"\n [innerHTML]=\"\n 'foehn-page-expiration-timer.count-down-message'\n | fromDictionary\n : { countDownValue: countDownTimeToDisplay | async }\n \"\n ></div>\n <div\n *ngIf=\"(sessionExpired | async) === true\"\n [innerHTML]=\"\n 'foehn-page-expiration-timer.expired-message' | fromDictionary\n \"\n ></div>\n</div>\n\n<p class=\"visually-hidden\" aria-live=\"assertive\" aria-atomic=\"true\">\n {{ srAnnouncements | async }}\n</p>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
170
|
-
}
|
|
171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnPageExpirationTimerComponent, decorators: [{
|
|
172
|
-
type: Component,
|
|
173
|
-
args: [{ selector: 'foehn-page-expiration-timer', template: "<div\n *ngIf=\"isVisible | async\"\n id=\"foehn-page-expiration-timer\"\n class=\"sticky-top alert text-center my-0\"\n [class.alert-warning]=\"(sessionExpired | async) === false\"\n [class.alert-danger]=\"(sessionExpired | async) === true\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n>\n <div\n *ngIf=\"(sessionExpired | async) === false\"\n [innerHTML]=\"\n 'foehn-page-expiration-timer.count-down-message'\n | fromDictionary\n : { countDownValue: countDownTimeToDisplay | async }\n \"\n ></div>\n <div\n *ngIf=\"(sessionExpired | async) === true\"\n [innerHTML]=\"\n 'foehn-page-expiration-timer.expired-message' | fromDictionary\n \"\n ></div>\n</div>\n\n<p class=\"visually-hidden\" aria-live=\"assertive\" aria-atomic=\"true\">\n {{ srAnnouncements | async }}\n</p>\n" }]
|
|
174
|
-
}], ctorParameters: () => [{ type: i1.ApplicationInfoService }, { type: i2.SdkDictionaryService }, { type: i3.DemandeExpirationService }] });
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci9mb2Vobi1wYWdlLWV4cGlyYXRpb24tdGltZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXBhZ2UvZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyL2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQWMsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBTW5ELE1BQU0sT0FBTyxpQ0FBaUM7SUFxQjFDLFlBQ1ksc0JBQThDLEVBQzlDLGlCQUF1QyxFQUN2Qyx3QkFBa0Q7UUFGbEQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBQ3ZDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFsQnRELDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO1FBQzNELHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3hELDJCQUFzQixHQUFH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Q0FBQztRQUNELG9DQUFvQztRQUNwQyxJQUNJLGFBQWEsSUFBSSxnQkFBZ0I7WUFDakMsYUFBYSxHQUFHLGdCQUFnQixLQUFLLENBQUMsRUFDeEMsQ0FBQztZQUNDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FDNUMsS0FBSyxFQUNMLE9BQU8sRUFDUCxPQUFPLENBQ1YsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FDN0Isd0RBQXdELEVBQ3hELEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUMxQixDQUNKLENBQUM7WUFDRixPQUFPO1FBQ1gsQ0FBQztJQUNMLENBQUM7SUFFTyx3QkFBd0IsQ0FDNUIsSUFBcUIsRUFDckIsSUFBNkI7UUFFN0IsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNYLEtBQUssS0FBSztnQkFDTixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDO1lBQy9ELEtBQUssZUFBZTtnQkFDaEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU87cUJBQzVCLGlDQUFpQyxDQUFDO1FBQy9DLENBQUM7SUFDTCxDQUFDOytHQXpSUSxpQ0FBaUM7bUdBQWpDLGlDQUFpQyxtRUNmOUMsNDRCQTRCQTs7NEZEYmEsaUNBQWlDO2tCQUo3QyxTQUFTOytCQUNJLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCwgc2hhcmVSZXBsYXksIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvIH0gZnJvbSAnLi4vLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mbyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGVIZWxwZXIgfSBmcm9tICcuLi8uLi9zZGstZGF0ZS9kYXRlLmhlbHBlcic7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVtYW5kZUV4cGlyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9kZW1hbmRlLWV4cGlyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBJbnRlcnZhbEhlbHBlciB9IGZyb20gJy4vaW50ZXJ2YWwuaGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1wYWdlLWV4cGlyYXRpb24tdGltZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1wYWdlLWV4cGlyYXRpb24tdGltZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuUGFnZUV4cGlyYXRpb25UaW1lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgaXNWaXNpYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGNvdW50RG93blRpbWVUb0Rpc3BsYXk6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICBzZXNzaW9uRXhwaXJlZDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBzckFubm91bmNlbWVudHM6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICAgIHByaXZhdGUgY291bnREb3duVGltZUluU2Vjb25kcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihudWxsKTtcbiAgICBwcml2YXRlIHNlc3Npb25IYXNFeHBpcmVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBzckFubm91bmNlbWVudHNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBpbnRlcnZhbDogYW55O1xuICAgIHByaXZhdGUgZGF0ZUhlbHBlciA9IG5ldyBEYXRlSGVscGVyKCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IFBVTExJTkdfSU5fTUlMTElTRUNPTkRTID0gMTAwMDtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgc3JBbm5vdW5jZW1lbnRDbGVhclRpbWVyOiBhbnk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBTUl9BTk5PVU5DRU1FTlRfQ0xFQVJfVElNRU9VVF9JTlRFUlZBTF9NUyA9IDIwMDA7XG5cbiAgICBwcml2YXRlIHNlc3Npb25FeHBpcmF0aW9uRGF0ZVRpbWVJbk1pbGxpc2Vjb25kczogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBwbGljYXRpb25JbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkaWN0aW9uYXJ5U2VydmljZTogU2RrRGljdGlvbmFyeVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGVtYW5kZUV4cGlyYXRpb25TZXJ2aWNlOiBEZW1hbmRlRXhwaXJhdGlvblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uRXhwaXJlZCA9IHRoaXMuc2Vzc2lvbkhhc0V4cGlyZWRcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xuXG4gICAgICAgIHRoaXMuc3JBbm5vdW5jZW1lbnRzID0gdGhpcy5zckFubm91bmNlbWVudHNTdWJqZWN0XG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgwKSk7IC8vIGRlYm91bmNlVGltZSB0byBcImF2b2lkIGV4cHJlc3Npb24gaGFzIGNoYW5nZXMgYmVmb3JlLi4uXCJcblxuICAgICAgICB0aGlzLmNvdW50RG93blRpbWVUb0Rpc3BsYXkgPSB0aGlzLmNvdW50RG93blRpbWVJblNlY29uZHNcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKGNvdW50RG93blRpbWVJblNlY29uZHMgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uSGFzRXhwaXJlZC5uZXh0KGNvdW50RG93blRpbWVJblNlY29uZHMgPD0gMClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1hcChjb3VudERvd25UaW1lSW5TZWNvbmRzID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0VGltZShjb3VudERvd25UaW1lSW5TZWNvbmRzKVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSB0aGlzLmRlbWFuZGVFeHBpcmF0aW9uU2VydmljZVxuICAgICAgICAgICAgLmdldERlbWFuZGVFeHBpcmF0aW9uRGF0ZVRpbWUoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmRhdGEpLFxuICAgICAgICAgICAgICAgIHRhcCgoW2V4cGlyYXRpb24sIGFwcEluZm9dKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJUaW1lcigpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2VEZWxheUluTWludXRlcyA9IHRoaXMuZ2V0TWVzc2FnZURlbGF5SW5NaW51dGVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwSW5mbyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyYXRpb24udHlwZVxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFJlYWwgc2Vzc2lvbiBleHBpcmF0aW9uIHRvIGtlZXAgdHJhY2sgb2YgdGltZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25FeHBpcmF0aW9uRGF0ZVRpbWVJbk1pbGxpc2Vjb25kcyA9XG4gICAgICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uLmV4cGlyYXRpb24udmFsdWVPZigpICtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VEZWxheUluTWludXRlcyAqIDYwICogMTAwMDtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvdW50RG93blRpbWVJblNlY29uZHMubmV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWNjdXJhdGVDb3VudERvd25UaW1lSW5TZWNvbmRzKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydFRpbWVyKCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyVGltZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFjY3VyYXRlQ291bnREb3duVGltZUluU2Vjb25kcygpOiBudW1iZXIge1xuICAgICAgICAvLyBDYWxjdWxhdGUgcmVhbCB0aW1lIGxlZnQuIFVzZSBNYXRoLmZsb29yIHRvIGJlIHN1cmUgdGltZXIgZG9lcyBub3Qgc3RvcCBhZnRlciBzZXNzaW9uIGV4cGlyYXRpb24gcmVhbCB0aW1lLlxuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihcbiAgICAgICAgICAgICh0aGlzLnNlc3Npb25FeHBpcmF0aW9uRGF0ZVRpbWVJbk1pbGxpc2Vjb25kcyAtIERhdGUubm93KCkpIC8gMTAwMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhcnRUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnRlcnZhbCA9IEludGVydmFsSGVscGVyLmFjY3VyYXRlSW50ZXJ2YWwoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHRpbWUgPSB0aGlzLmNvdW50RG93blRpbWVJblNlY29uZHMuZ2V0VmFsdWUoKTtcbiAgICAgICAgICAgICAgICBpZiAodGltZSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyVGltZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aW1lIC09IDE7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3VudERvd25UaW1lSW5TZWNvbmRzLm5leHQodGltZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5QVUxMSU5HX0lOX01JTExJU0VDT05EUyxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBVc2UgTWF0aC5tYXggdG8gZW5zdXJlIHdlIGFyZSBub3QgYWZ0ZXIgc2Vzc2lvblRpbWVvdXRcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50RG93blRpbWVJblNlY29uZHMubmV4dChcbiAgICAgICAgICAgICAgICAgICAgTWF0aC5tYXgoMCwgdGhpcy5nZXRBY2N1cmF0ZUNvdW50RG93blRpbWVJblNlY29uZHMoKSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRUaW1lcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnRlcnZhbD8uY2xlYXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFRpbWUodGltZUluU2Vjb25kczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKHRpbWVJblNlY29uZHMgLyAoNjAgKiA2MCkpO1xuXG4gICAgICAgIGNvbnN0IGRpdmlzb3JfZm9yX21pbnV0ZXMgPSB0aW1lSW5TZWNvbmRzICUgKDYwICogNjApO1xuICAgICAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihkaXZpc29yX2Zvcl9taW51dGVzIC8gNjApO1xuXG4gICAgICAgIGNvbnN0IGRpdmlzb3JfZm9yX3NlY29uZHMgPSBkaXZpc29yX2Zvcl9taW51dGVzICUgNjA7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmNlaWwoZGl2aXNvcl9mb3Jfc2Vjb25kcyk7XG5cbiAgICAgICAgdGhpcy5tYW5hZ2VTY3JlZW5SZWFkZXJBbm5vdW5jZW1lbnQoXG4gICAgICAgICAgICB0aW1lSW5TZWNvbmRzLFxuICAgICAgICAgICAgaG91cnMsXG4gICAgICAgICAgICBtaW51dGVzLFxuICAgICAgICAgICAgc2Vjb25kc1xuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGxlZnRQYWRIb3VycyA9IHRoaXMuZGF0ZUhlbHBlci5sZWZ0UGFkKGhvdXJzLnRvU3RyaW5nKCkpO1xuICAgICAgICBjb25zdCBsZWZ0UGFkTWludXRlcyA9IHRoaXMuZGF0ZUhlbHBlci5sZWZ0UGFkKG1pbnV0ZXMudG9TdHJpbmcoKSk7XG5cbiAgICAgICAgY29uc3QgbGVmdFBhZFNlY29uZHMgPSB0aGlzLmRhdGVIZWxwZXIubGVmdFBhZChzZWNvbmRzLnRvU3RyaW5nKCkpO1xuICAgICAgICByZXR1cm4gYCR7bGVmdFBhZEhvdXJzfToke2xlZnRQYWRNaW51dGVzfToke2xlZnRQYWRTZWNvbmRzfWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhbm5vdW5jZVNyTWVzc2FnZShtc2c6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zckFubm91bmNlbWVudENsZWFyVGltZXIpO1xuICAgICAgICB0aGlzLnNyQW5ub3VuY2VtZW50c1N1YmplY3QubmV4dChtc2cpO1xuXG4gICAgICAgIHRoaXMuc3JBbm5vdW5jZW1lbnRDbGVhclRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNyQW5ub3VuY2VtZW50c1N1YmplY3QubmV4dCgnJyk7XG4gICAgICAgIH0sIHRoaXMuU1JfQU5OT1VOQ0VNRU5UX0NMRUFSX1RJTUVPVVRfSU5URVJWQUxfTVMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UmVhZGFibGVUaW1lckZvclNjcmVlblJlYWRlcihcbiAgICAgICAgaG91cnM6IG51bWJlcixcbiAgICAgICAgbWludXRlczogbnVtYmVyLFxuICAgICAgICBzZWNvbmRzOiBudW1iZXJcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWhvdXJzICYmICFtaW51dGVzICYmICFzZWNvbmRzKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCEhaG91cnMgJiYgIW1pbnV0ZXMgJiYgIXNlY29uZHMpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtob3Vyc30gaGV1cmVzYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoISFtaW51dGVzICYmICFob3VycyAmJiAhc2Vjb25kcykge1xuICAgICAgICAgICAgcmV0dXJuIGAke21pbnV0ZXN9IG1pbnV0ZXNgO1xuICAgICAgICB9XG4gICAgICAgIGlmICghIXNlY29uZHMgJiYgIW1pbnV0ZXMgJiYgIWhvdXJzKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7c2Vjb25kc30gc2Vjb25kZXNgO1xuICAgICAgICB9XG4gICAgICAgIGlmICghIWhvdXJzICYmICEhbWludXRlcyAmJiAhIXNlY29uZHMpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtob3Vyc30gaGV1cmVzICR7bWludXRlc30gbWludXRlcyBldCAke3NlY29uZHN9IHNlY29uZGVzYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoISFob3VycyAmJiAhIW1pbnV0ZXMgJiYgIXNlY29uZHMpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtob3Vyc30gaGV1cmVzIGV0ICR7bWludXRlc30gbWludXRlc2A7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCEhaG91cnMgJiYgISFzZWNvbmRzICYmICFtaW51dGVzKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7aG91cnN9IGhldXJlcyBldCAke3NlY29uZHN9IHNlY29uZGVzYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoISFtaW51dGVzICYmICEhc2Vjb25kcyAmJiAhaG91cnMpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHttaW51dGVzfSBtaW51dGVzIGV0ICR7c2Vjb25kc30gc2Vjb25kZXNgO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYW5hZ2VTY3JlZW5SZWFkZXJBbm5vdW5jZW1lbnQoXG4gICAgICAgIHRpbWVJblNlY29uZHM6IG51bWJlcixcbiAgICAgICAgaG91cnM6IG51bWJlcixcbiAgICAgICAgbWludXRlczogbnVtYmVyLFxuICAgICAgICBzZWNvbmRzOiBudW1iZXJcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgXzFfaG91ckluU2Vjb25kcyA9IDYwICogNjA7XG4gICAgICAgIGNvbnN0IF81X21pbnV0ZXNJblNlY29uZHMgPSA1ICogNjA7XG4gICAgICAgIGNvbnN0IF8xMF9taW51dGVzSW5TZWNvbmRzID0gMTAgKiA2MDtcbiAgICAgICAgY29uc3QgXzFfbWludXRlSW5TZWNvbmRzID0gNjA7XG4gICAgICAgIGNvbnN0IF8yX21pbnV0ZUluU2Vjb25kcyA9IDIgKiA2MDtcblxuICAgICAgICAvLyBXaGVuIGZpbmlzaGVkLCBkaXNwbGF5IGV4cGlyZWQgbWVzc2FnZVxuICAgICAgICBpZiAodGltZUluU2Vjb25kcyA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zckFubm91bmNlbWVudHNTdWJqZWN0Lm5leHQoXG4gICAgICAgICAgICAgICAgdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgICAgICAgICAnZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyLmV4cGlyZWQtbWVzc2FnZS5zci1vbmx5J1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gRXZlcnkgc2Vjb25kIGZvciB0aGUgbGFzdCAxNXNcbiAgICAgICAgaWYgKHRpbWVJblNlY29uZHMgPD0gMTUpIHtcbiAgICAgICAgICAgIHRoaXMuc3JBbm5vdW5jZW1lbnRzU3ViamVjdC5uZXh0KHRpbWVJblNlY29uZHMudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gRXZlcnkgMzBzIHdoZW4gbGVzcyB0aGFuIDIgbWludXRlc1xuICAgICAgICBpZiAodGltZUluU2Vjb25kcyA8PSBfMl9taW51dGVJblNlY29uZHMgJiYgdGltZUluU2Vjb25kcyAlIDMwID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBtc2cgPSB0aGlzLmdldFJlYWRhYmxlVGltZXJGb3JTY3JlZW5SZWFkZXIoXG4gICAgICAgICAgICAgICAgaG91cnMsXG4gICAgICAgICAgICAgICAgbWludXRlcyxcbiAgICAgICAgICAgICAgICBzZWNvbmRzXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5hbm5vdW5jZVNyTWVzc2FnZShcbiAgICAgICAgICAgICAgICB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAgICAgICAgICdmb2Vobi1wYWdlLWV4cGlyYXRpb24tdGltZXIuY291bnQtZG93bi1tZXNzYWdlLnNyLW9ubHknLFxuICAgICAgICAgICAgICAgICAgICB7IGNvdW50RG93blZhbHVlOiBtc2cgfVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gRXZlcnkgbWludXRlIGZvciB0aGUgbGFzdCA1IG1pbnV0ZXNcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGltZUluU2Vjb25kcyA8PSBfNV9taW51dGVzSW5TZWNvbmRzICYmXG4gICAgICAgICAgICB0aW1lSW5TZWNvbmRzICUgXzFfbWludXRlSW5TZWNvbmRzID09PSAwXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgbXNnID0gdGhpcy5nZXRSZWFkYWJsZVRpbWVyRm9yU2NyZWVuUmVhZGVyKFxuICAgICAgICAgICAgICAgIGhvdXJzLFxuICAgICAgICAgICAgICAgIG1pbnV0ZXMsXG4gICAgICAgICAgICAgICAgc2Vjb25kc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuYW5ub3VuY2VTck1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgICAgICAgICAnZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyLmNvdW50LWRvd24tbWVzc2FnZS5zci1vbmx5JyxcbiAgICAgICAgICAgICAgICAgICAgeyBjb3VudERvd25WYWx1ZTogbXNnIH1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIEV2ZXJ5IDEwIG1pbnV0ZXMgd2hlbiBsZXNzIHRoYW4gYW4gaG91clxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aW1lSW5TZWNvbmRzIDwgXzFfaG91ckluU2Vjb25kcyAmJlxuICAgICAgICAgICAgdGltZUluU2Vjb25kcyAlIF8xMF9taW51dGVzSW5TZWNvbmRzID09PSAwXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgbXNnID0gdGhpcy5nZXRSZWFkYWJsZVRpbWVyRm9yU2NyZWVuUmVhZGVyKFxuICAgICAgICAgICAgICAgIGhvdXJzLFxuICAgICAgICAgICAgICAgIG1pbnV0ZXMsXG4gICAgICAgICAgICAgICAgc2Vjb25kc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuYW5ub3VuY2VTck1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgICAgICAgICAnZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyLmNvdW50LWRvd24tbWVzc2FnZS5zci1vbmx5JyxcbiAgICAgICAgICAgICAgICAgICAgeyBjb3VudERvd25WYWx1ZTogbXNnIH1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIEV2ZXJ5IGhvdXIgd2hlbiBtb3JlIHRoYW4gYW4gaG91clxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aW1lSW5TZWNvbmRzID49IF8xX2hvdXJJblNlY29uZHMgJiZcbiAgICAgICAgICAgIHRpbWVJblNlY29uZHMgJSBfMV9ob3VySW5TZWNvbmRzID09PSAwXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgbXNnID0gdGhpcy5nZXRSZWFkYWJsZVRpbWVyRm9yU2NyZWVuUmVhZGVyKFxuICAgICAgICAgICAgICAgIGhvdXJzLFxuICAgICAgICAgICAgICAgIG1pbnV0ZXMsXG4gICAgICAgICAgICAgICAgc2Vjb25kc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuYW5ub3VuY2VTck1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgICAgICAgICAnZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyLmNvdW50LWRvd24tbWVzc2FnZS5zci1vbmx5JyxcbiAgICAgICAgICAgICAgICAgICAgeyBjb3VudERvd25WYWx1ZTogbXNnIH1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNZXNzYWdlRGVsYXlJbk1pbnV0ZXMoXG4gICAgICAgIGluZm86IEFwcGxpY2F0aW9uSW5mbyxcbiAgICAgICAgdHlwZTogJ0lBTScgfCAnU0VTU0lPTi1UT0tFTidcbiAgICApOiBudW1iZXIge1xuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ0lBTSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluZm8uY29uZmlndXJhdGlvbi5zZXNzaW9uLmlhbU1lc3NhZ2VEZWxheUluTWludXRlcztcbiAgICAgICAgICAgIGNhc2UgJ1NFU1NJT04tVE9LRU4nOlxuICAgICAgICAgICAgICAgIHJldHVybiBpbmZvLmNvbmZpZ3VyYXRpb24uc2Vzc2lvblxuICAgICAgICAgICAgICAgICAgICAuc2Vzc2lvblRva2VuTWVzc2FnZURlbGF5SW5NaW51dGVzO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwiaXNWaXNpYmxlIHwgYXN5bmNcIlxuICAgIGlkPVwiZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyXCJcbiAgICBjbGFzcz1cInN0aWNreS10b3AgYWxlcnQgdGV4dC1jZW50ZXIgbXktMFwiXG4gICAgW2NsYXNzLmFsZXJ0LXdhcm5pbmddPVwiKHNlc3Npb25FeHBpcmVkIHwgYXN5bmMpID09PSBmYWxzZVwiXG4gICAgW2NsYXNzLmFsZXJ0LWRhbmdlcl09XCIoc2Vzc2lvbkV4cGlyZWQgfCBhc3luYykgPT09IHRydWVcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cIihzZXNzaW9uRXhwaXJlZCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgJ2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5jb3VudC1kb3duLW1lc3NhZ2UnXG4gICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICA6IHsgY291bnREb3duVmFsdWU6IGNvdW50RG93blRpbWVUb0Rpc3BsYXkgfCBhc3luYyB9XG4gICAgICAgIFwiXG4gICAgPjwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCIoc2Vzc2lvbkV4cGlyZWQgfCBhc3luYykgPT09IHRydWVcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgJ2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5leHBpcmVkLW1lc3NhZ2UnIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgXCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cblxuPHAgY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIiBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIiBhcmlhLWF0b21pYz1cInRydWVcIj5cbiAgICB7eyBzckFubm91bmNlbWVudHMgfCBhc3luYyB9fVxuPC9wPlxuIl19
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export class IntervalHelper {
|
|
2
|
-
static accurateInterval(
|
|
3
|
-
// eslint-disable-next-line
|
|
4
|
-
callBack, intervalInMilliseconds,
|
|
5
|
-
// eslint-disable-next-line
|
|
6
|
-
errorCallBack) {
|
|
7
|
-
let timeout = null;
|
|
8
|
-
let nextAt = Date.now() + intervalInMilliseconds;
|
|
9
|
-
const clear = () => clearTimeout(timeout);
|
|
10
|
-
const timerHandler = () => {
|
|
11
|
-
nextAt += intervalInMilliseconds;
|
|
12
|
-
// Avoid time drift by doing "nextAt - Date.now()"
|
|
13
|
-
const calculatedTimeout = nextAt - Date.now();
|
|
14
|
-
// Verify browser tab inactivity
|
|
15
|
-
if (calculatedTimeout < 0) {
|
|
16
|
-
if (errorCallBack) {
|
|
17
|
-
clear();
|
|
18
|
-
return errorCallBack();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
timeout = setTimeout(timerHandler, Math.max(0, nextAt - Date.now()));
|
|
22
|
-
callBack();
|
|
23
|
-
};
|
|
24
|
-
// Avoid time drift by doing "nextAt - Date.now()"
|
|
25
|
-
timeout = setTimeout(timerHandler, nextAt - Date.now());
|
|
26
|
-
return { clear };
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXBhZ2UvZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyL2ludGVydmFsLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYztJQUN2QixNQUFNLENBQUMsZ0JBQWdCO0lBQ25CLDJCQUEyQjtJQUMzQixRQUFrQixFQUNsQixzQkFBOEI7SUFDOUIsMkJBQTJCO0lBQzNCLGFBQXdCO1FBRXhCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsc0JBQXNCLENBQUM7UUFFakQsTUFBTSxLQUFLLEdBQUcsR0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLEdBQVMsRUFBRTtZQUM1QixNQUFNLElBQUksc0JBQXNCLENBQUM7WUFDakMsa0RBQWtEO1lBQ2xELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUM5QyxnQ0FBZ0M7WUFDaEMsSUFBSSxpQkFBaUIsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxhQUFhLEVBQUUsQ0FBQztvQkFDaEIsS0FBSyxFQUFFLENBQUM7b0JBQ1IsT0FBTyxhQUFhLEVBQUUsQ0FBQztnQkFDM0IsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLEdBQUcsVUFBVSxDQUNoQixZQUFZLEVBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUNuQyxDQUFDO1lBQ0YsUUFBUSxFQUFFLENBQUM7UUFDZixDQUFDLENBQUM7UUFFRixrREFBa0Q7UUFDbEQsT0FBTyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBRXhELE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSW50ZXJ2YWxIZWxwZXIge1xuICAgIHN0YXRpYyBhY2N1cmF0ZUludGVydmFsKFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgY2FsbEJhY2s6IEZ1bmN0aW9uLFxuICAgICAgICBpbnRlcnZhbEluTWlsbGlzZWNvbmRzOiBudW1iZXIsXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICBlcnJvckNhbGxCYWNrPzogRnVuY3Rpb25cbiAgICApOiB1bmtub3duIHtcbiAgICAgICAgbGV0IHRpbWVvdXQgPSBudWxsO1xuICAgICAgICBsZXQgbmV4dEF0ID0gRGF0ZS5ub3coKSArIGludGVydmFsSW5NaWxsaXNlY29uZHM7XG5cbiAgICAgICAgY29uc3QgY2xlYXIgPSAoKTogdm9pZCA9PiBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgIGNvbnN0IHRpbWVySGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIG5leHRBdCArPSBpbnRlcnZhbEluTWlsbGlzZWNvbmRzO1xuICAgICAgICAgICAgLy8gQXZvaWQgdGltZSBkcmlmdCBieSBkb2luZyBcIm5leHRBdCAtIERhdGUubm93KClcIlxuICAgICAgICAgICAgY29uc3QgY2FsY3VsYXRlZFRpbWVvdXQgPSBuZXh0QXQgLSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgLy8gVmVyaWZ5IGJyb3dzZXIgdGFiIGluYWN0aXZpdHlcbiAgICAgICAgICAgIGlmIChjYWxjdWxhdGVkVGltZW91dCA8IDApIHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3JDYWxsQmFjaykge1xuICAgICAgICAgICAgICAgICAgICBjbGVhcigpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3JDYWxsQmFjaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgICAgIHRpbWVySGFuZGxlcixcbiAgICAgICAgICAgICAgICBNYXRoLm1heCgwLCBuZXh0QXQgLSBEYXRlLm5vdygpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNhbGxCYWNrKCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gQXZvaWQgdGltZSBkcmlmdCBieSBkb2luZyBcIm5leHRBdCAtIERhdGUubm93KClcIlxuICAgICAgICB0aW1lb3V0ID0gc2V0VGltZW91dCh0aW1lckhhbmRsZXIsIG5leHRBdCAtIERhdGUubm93KCkpO1xuXG4gICAgICAgIHJldHVybiB7IGNsZWFyIH07XG4gICAgfVxufVxuIl19
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { combineLatest } from 'rxjs';
|
|
3
|
-
import { filter, first } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../sdk-session-info/session-info.service";
|
|
6
|
-
import * as i2 from "../sdk-appinfo/application-info.service";
|
|
7
|
-
import * as i3 from "./foehn-page-modal.service";
|
|
8
|
-
import * as i4 from "@angular/common";
|
|
9
|
-
import * as i5 from "../foehn-modal/foehn-modal.component";
|
|
10
|
-
export class FoehnPageModalComponent {
|
|
11
|
-
constructor(sessionInfo, applicationInfoService, foehnPageModalService) {
|
|
12
|
-
this.sessionInfo = sessionInfo;
|
|
13
|
-
this.applicationInfoService = applicationInfoService;
|
|
14
|
-
this.foehnPageModalService = foehnPageModalService;
|
|
15
|
-
this.wrongPublicModalVisible = false;
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
combineLatest([
|
|
19
|
-
this.applicationInfoService.currentEtapeInfo,
|
|
20
|
-
this.sessionInfo.data
|
|
21
|
-
])
|
|
22
|
-
.pipe(filter(([etapeInfo, data]) => !!etapeInfo && !!data), first())
|
|
23
|
-
// eslint-disable-next-line rxjs-angular/prefer-async-pipe
|
|
24
|
-
.subscribe(([etapeInfo, sessionInfoData]) => {
|
|
25
|
-
this.publicsCibles = etapeInfo.publicCible.map(p => p.toUpperCase());
|
|
26
|
-
this.userCategories = sessionInfoData.categories.map(c => c.toUpperCase());
|
|
27
|
-
this.wrongPublicModalVisible = !this.publicsCibles.some(cat => this.userCategories.includes(cat));
|
|
28
|
-
this.formattedPublicsCibles =
|
|
29
|
-
this.foehnPageModalService.toQuotedTitleCaseStringArray(this.publicsCibles);
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
getFullLoginUrl() {
|
|
33
|
-
return this.foehnPageModalService.buildSelfRedirectionThroughCyberLogin();
|
|
34
|
-
}
|
|
35
|
-
getAbortUrl() {
|
|
36
|
-
return this.applicationInfoService.getSafeEspacesSecuriseUrl();
|
|
37
|
-
}
|
|
38
|
-
getUserCategory() {
|
|
39
|
-
return this.foehnPageModalService
|
|
40
|
-
.toQuotedTitleCaseStringArray(this.userCategories)
|
|
41
|
-
.join(', ');
|
|
42
|
-
}
|
|
43
|
-
updateVisibilityStatus(status) {
|
|
44
|
-
// In case the modal is closed by another mean such as the Escape key.
|
|
45
|
-
this.wrongPublicModalVisible = status;
|
|
46
|
-
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnPageModalComponent, deps: [{ token: i1.SessionInfo }, { token: i2.ApplicationInfoService }, { token: i3.FoehnPageModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FoehnPageModalComponent, selector: "foehn-page-modal", ngImport: i0, template: "<foehn-modal\n modalHeaderText=\"Acc\u00E8s non autoris\u00E9\"\n modalSize=\"modal-lg\"\n [isModalVisible]=\"wrongPublicModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"false\"\n>\n <div class=\"modal-body\">\n Vous \u00EAtes connect\u00E9 pour le compte d\u2019un usager de type\n {{ getUserCategory() }}, or cette prestation est destin\u00E9e aux usagers de\n type :\n <ul>\n <li *ngFor=\"let pubCible of formattedPublicsCibles\">\n {{ pubCible }}\n </li>\n </ul>\n </div>\n <div class=\"modal-body\">\n Vous pouvez choisir de vous reconnecter et de continuer, ou bien\n d'abandonner.\n </div>\n\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 <a\n class=\"btn btn-primary w-100\"\n [href]=\"getFullLoginUrl() | async\"\n >\n Se reconnecter\n </a>\n </div>\n <div class=\"ms-md-0 me-md-2 mb-2 mt-2\">\n <a class=\"btn btn-primary w-100\" [href]=\"getAbortUrl() | async\">\n Abandonner\n </a>\n </div>\n </div>\n </div>\n</foehn-modal>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnPageModalComponent, decorators: [{
|
|
51
|
-
type: Component,
|
|
52
|
-
args: [{ selector: 'foehn-page-modal', template: "<foehn-modal\n modalHeaderText=\"Acc\u00E8s non autoris\u00E9\"\n modalSize=\"modal-lg\"\n [isModalVisible]=\"wrongPublicModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"false\"\n>\n <div class=\"modal-body\">\n Vous \u00EAtes connect\u00E9 pour le compte d\u2019un usager de type\n {{ getUserCategory() }}, or cette prestation est destin\u00E9e aux usagers de\n type :\n <ul>\n <li *ngFor=\"let pubCible of formattedPublicsCibles\">\n {{ pubCible }}\n </li>\n </ul>\n </div>\n <div class=\"modal-body\">\n Vous pouvez choisir de vous reconnecter et de continuer, ou bien\n d'abandonner.\n </div>\n\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 <a\n class=\"btn btn-primary w-100\"\n [href]=\"getFullLoginUrl() | async\"\n >\n Se reconnecter\n </a>\n </div>\n <div class=\"ms-md-0 me-md-2 mb-2 mt-2\">\n <a class=\"btn btn-primary w-100\" [href]=\"getAbortUrl() | async\">\n Abandonner\n </a>\n </div>\n </div>\n </div>\n</foehn-modal>\n" }]
|
|
53
|
-
}], ctorParameters: () => [{ type: i1.SessionInfo }, { type: i2.ApplicationInfoService }, { type: i3.FoehnPageModalService }] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcGFnZS9mb2Vobi1wYWdlLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFVL0MsTUFBTSxPQUFPLHVCQUF1QjtJQVNoQyxZQUNZLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUM5QyxxQkFBNEM7UUFGNUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBWHhELDRCQUF1QixHQUFHLEtBQUssQ0FBQztJQVk3QixDQUFDO0lBRUosUUFBUTtRQUNKLGFBQWEsQ0FBQztZQUNWLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0I7WUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO1NBQ3hCLENBQUM7YUFDRyxJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNwRCxLQUFLLEVBQUUsQ0FDVjtZQUNELDBEQUEwRDthQUN6RCxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDL0MsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUNsQixDQUFDO1lBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNyRCxDQUFDLENBQUMsV0FBVyxFQUFFLENBQ2xCLENBQUM7WUFFRixJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUMxRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FDcEMsQ0FBQztZQUVGLElBQUksQ0FBQyxzQkFBc0I7Z0JBQ3ZCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyw0QkFBNEIsQ0FDbkQsSUFBSSxDQUFDLGFBQWEsQ0FDckIsQ0FBQztRQUNWLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQ0FBcUMsRUFBRSxDQUFDO0lBQzlFLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLHFCQUFxQjthQUM1Qiw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBZTtRQUNsQyxzRUFBc0U7UUFDdEUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQztJQUMxQyxDQUFDOytHQTdEUSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix3RENacEMsaTJDQXdDQTs7NEZENUJhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDSSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5QYWdlTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi9mb2Vobi1wYWdlLW1vZGFsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXBhZ2UtbW9kYWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1wYWdlLW1vZGFsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb2VoblBhZ2VNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgd3JvbmdQdWJsaWNNb2RhbFZpc2libGUgPSBmYWxzZTtcblxuICAgIGZvcm1hdHRlZFB1YmxpY3NDaWJsZXM6IHN0cmluZ1tdO1xuXG4gICAgcHJpdmF0ZSB1c2VyQ2F0ZWdvcmllczogc3RyaW5nW107XG5cbiAgICBwcml2YXRlIHB1YmxpY3NDaWJsZXM6IHN0cmluZ1tdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgc2Vzc2lvbkluZm86IFNlc3Npb25JbmZvLFxuICAgICAgICBwcml2YXRlIGFwcGxpY2F0aW9uSW5mb1NlcnZpY2U6IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZm9laG5QYWdlTW9kYWxTZXJ2aWNlOiBGb2VoblBhZ2VNb2RhbFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mb1NlcnZpY2UuY3VycmVudEV0YXBlSW5mbyxcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbkluZm8uZGF0YVxuICAgICAgICBdKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChbZXRhcGVJbmZvLCBkYXRhXSkgPT4gISFldGFwZUluZm8gJiYgISFkYXRhKSxcbiAgICAgICAgICAgICAgICBmaXJzdCgpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbZXRhcGVJbmZvLCBzZXNzaW9uSW5mb0RhdGFdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wdWJsaWNzQ2libGVzID0gZXRhcGVJbmZvLnB1YmxpY0NpYmxlLm1hcChwID0+XG4gICAgICAgICAgICAgICAgICAgIHAudG9VcHBlckNhc2UoKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyQ2F0ZWdvcmllcyA9IHNlc3Npb25JbmZvRGF0YS5jYXRlZ29yaWVzLm1hcChjID0+XG4gICAgICAgICAgICAgICAgICAgIGMudG9VcHBlckNhc2UoKVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLndyb25nUHVibGljTW9kYWxWaXNpYmxlID0gIXRoaXMucHVibGljc0NpYmxlcy5zb21lKGNhdCA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJDYXRlZ29yaWVzLmluY2x1ZGVzKGNhdClcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtYXR0ZWRQdWJsaWNzQ2libGVzID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2VoblBhZ2VNb2RhbFNlcnZpY2UudG9RdW90ZWRUaXRsZUNhc2VTdHJpbmdBcnJheShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHVibGljc0NpYmxlc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0RnVsbExvZ2luVXJsKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvZWhuUGFnZU1vZGFsU2VydmljZS5idWlsZFNlbGZSZWRpcmVjdGlvblRocm91Z2hDeWJlckxvZ2luKCk7XG4gICAgfVxuXG4gICAgZ2V0QWJvcnRVcmwoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5nZXRTYWZlRXNwYWNlc1NlY3VyaXNlVXJsKCk7XG4gICAgfVxuXG4gICAgZ2V0VXNlckNhdGVnb3J5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvZWhuUGFnZU1vZGFsU2VydmljZVxuICAgICAgICAgICAgLnRvUXVvdGVkVGl0bGVDYXNlU3RyaW5nQXJyYXkodGhpcy51c2VyQ2F0ZWdvcmllcylcbiAgICAgICAgICAgIC5qb2luKCcsICcpO1xuICAgIH1cblxuICAgIHVwZGF0ZVZpc2liaWxpdHlTdGF0dXMoc3RhdHVzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIC8vIEluIGNhc2UgdGhlIG1vZGFsIGlzIGNsb3NlZCBieSBhbm90aGVyIG1lYW4gc3VjaCBhcyB0aGUgRXNjYXBlIGtleS5cbiAgICAgICAgdGhpcy53cm9uZ1B1YmxpY01vZGFsVmlzaWJsZSA9IHN0YXR1cztcbiAgICB9XG59XG4iLCI8Zm9laG4tbW9kYWxcbiAgICBtb2RhbEhlYWRlclRleHQ9XCJBY2PDqHMgbm9uIGF1dG9yaXPDqVwiXG4gICAgbW9kYWxTaXplPVwibW9kYWwtbGdcIlxuICAgIFtpc01vZGFsVmlzaWJsZV09XCJ3cm9uZ1B1YmxpY01vZGFsVmlzaWJsZVwiXG4gICAgKGlzTW9kYWxWaXNpYmxlQ2hhbmdlKT1cInVwZGF0ZVZpc2liaWxpdHlTdGF0dXMoJGV2ZW50KVwiXG4gICAgW2Nsb3NlYWJsZV09XCJmYWxzZVwiXG4+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICAgICAgVm91cyDDqnRlcyBjb25uZWN0w6kgcG91ciBsZSBjb21wdGUgZOKAmXVuIHVzYWdlciBkZSB0eXBlXG4gICAgICAgIHt7IGdldFVzZXJDYXRlZ29yeSgpIH19LCBvciBjZXR0ZSBwcmVzdGF0aW9uIGVzdCBkZXN0aW7DqWUgYXV4IHVzYWdlcnMgZGVcbiAgICAgICAgdHlwZSA6XG4gICAgICAgIDx1bD5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgcHViQ2libGUgb2YgZm9ybWF0dGVkUHVibGljc0NpYmxlc1wiPlxuICAgICAgICAgICAgICAgIHt7IHB1YkNpYmxlIH19XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgICAgIFZvdXMgcG91dmV6IGNob2lzaXIgZGUgdm91cyByZWNvbm5lY3RlciBldCBkZSBjb250aW51ZXIsIG91IGJpZW5cbiAgICAgICAgZCdhYmFuZG9ubmVyLlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBtb2RhbC1mb290ZXIgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1tZC1mbGV4XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtbWQtYXV0byBtZS1tZC0yIG1iLTIgbXQtMlwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwXCJcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiZ2V0RnVsbExvZ2luVXJsKCkgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBTZSByZWNvbm5lY3RlclxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLW1kLTAgbWUtbWQtMiBtYi0yIG10LTJcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSB3LTEwMFwiIFtocmVmXT1cImdldEFib3J0VXJsKCkgfCBhc3luY1wiPlxuICAgICAgICAgICAgICAgICAgICBBYmFuZG9ubmVyXG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9mb2Vobi1tb2RhbD5cbiJdfQ==
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { map } from 'rxjs/operators';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../sdk-appinfo/application-info.service";
|
|
5
|
-
export class FoehnPageModalService {
|
|
6
|
-
constructor(applicationInfoService) {
|
|
7
|
-
this.applicationInfoService = applicationInfoService;
|
|
8
|
-
}
|
|
9
|
-
toQuotedTitleCaseStringArray(items) {
|
|
10
|
-
if (items && items.length > 0) {
|
|
11
|
-
return items.map(pc => {
|
|
12
|
-
const item = pc.toLowerCase().replace('_', ' ');
|
|
13
|
-
return `«${item.charAt(0).toUpperCase()}${item.slice(1)}»`;
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
return ['« Non défini »'];
|
|
17
|
-
}
|
|
18
|
-
toQuotedTitleCaseString(input) {
|
|
19
|
-
if (input) {
|
|
20
|
-
return `«${input.charAt(0).toUpperCase()}${input.slice(1)}»`;
|
|
21
|
-
}
|
|
22
|
-
return '« Non défini »';
|
|
23
|
-
}
|
|
24
|
-
buildSelfRedirectionThroughCyberLogin() {
|
|
25
|
-
return this.applicationInfoService
|
|
26
|
-
.getSafeCyberLoginUrl()
|
|
27
|
-
.pipe(map(cyberloginUrl => `${cyberloginUrl}?goto=${window.location.href}`));
|
|
28
|
-
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnPageModalService, deps: [{ token: i1.ApplicationInfoService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
30
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnPageModalService, providedIn: 'root' }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnPageModalService, decorators: [{
|
|
33
|
-
type: Injectable,
|
|
34
|
-
args: [{
|
|
35
|
-
providedIn: 'root'
|
|
36
|
-
}]
|
|
37
|
-
}], ctorParameters: () => [{ type: i1.ApplicationInfoService }] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS1tb2RhbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXBhZ2UvZm9laG4tcGFnZS1tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFPckMsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUFvQixzQkFBOEM7UUFBOUMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtJQUFHLENBQUM7SUFFdEUsNEJBQTRCLENBQUMsS0FBZTtRQUN4QyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDbEIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2hELE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUMvRCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBYTtRQUNqQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7SUFFRCxxQ0FBcUM7UUFDakMsT0FBTyxJQUFJLENBQUMsc0JBQXNCO2FBQzdCLG9CQUFvQixFQUFFO2FBQ3RCLElBQUksQ0FDRCxHQUFHLENBQ0MsYUFBYSxDQUFDLEVBQUUsQ0FDWixHQUFHLGFBQWEsU0FBUyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUN0RCxDQUNKLENBQUM7SUFDVixDQUFDOytHQTlCUSxxQkFBcUI7bUhBQXJCLHFCQUFxQixjQUZsQixNQUFNOzs0RkFFVCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mby5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGb2VoblBhZ2VNb2RhbFNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwbGljYXRpb25JbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZSkge31cblxuICAgIHRvUXVvdGVkVGl0bGVDYXNlU3RyaW5nQXJyYXkoaXRlbXM6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1zLm1hcChwYyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHBjLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgnXycsICcgJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGDCqyR7aXRlbS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke2l0ZW0uc2xpY2UoMSl9wrtgO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFsnwqsgTm9uIGTDqWZpbmkgwrsnXTtcbiAgICB9XG5cbiAgICB0b1F1b3RlZFRpdGxlQ2FzZVN0cmluZyhpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgICByZXR1cm4gYMKrJHtpbnB1dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke2lucHV0LnNsaWNlKDEpfcK7YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnwqsgTm9uIGTDqWZpbmkgwrsnO1xuICAgIH1cblxuICAgIGJ1aWxkU2VsZlJlZGlyZWN0aW9uVGhyb3VnaEN5YmVyTG9naW4oKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZVxuICAgICAgICAgICAgLmdldFNhZmVDeWJlckxvZ2luVXJsKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgY3liZXJsb2dpblVybCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYCR7Y3liZXJsb2dpblVybH0/Z290bz0ke3dpbmRvdy5sb2NhdGlvbi5ocmVmfWBcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|