@dsivd/prestations-ng 14.5.20 → 15.0.0-beta3
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 +33 -6
- package/CONTRIBUTING.md +1 -1
- package/README.md +2 -0
- package/UPGRADING_V14.md +8 -11
- package/UPGRADING_V15.md +51 -0
- package/dsivd-prestations-ng-v15.0.0-beta3.tgz +0 -0
- package/esm2020/abstract-page-component.mjs +226 -0
- package/{esm2015/directives/currency-formatter.directive.js → esm2020/directives/currency-formatter.directive.mjs} +3 -3
- package/{esm2015/directives/formatter.module.js → esm2020/directives/formatter.module.mjs} +4 -4
- package/{esm2015/directives/iban-formatter.directive.js → esm2020/directives/iban-formatter.directive.mjs} +3 -3
- package/{esm2015/directives/ide-formatter.directive.js → esm2020/directives/ide-formatter.directive.mjs} +3 -3
- package/{esm2015/directives/ndc-formatter.directive.js → esm2020/directives/ndc-formatter.directive.mjs} +3 -3
- package/{esm2015/dsivd-prestations-ng.js → esm2020/dsivd-prestations-ng.mjs} +0 -0
- package/{esm2015/foehn-address/address.type.js → esm2020/foehn-address/address.type.mjs} +0 -0
- package/{esm2015/foehn-address/foehn-address.module.js → esm2020/foehn-address/foehn-address.module.mjs} +4 -4
- package/{esm2015/foehn-address/foehn-display-address.component.js → esm2020/foehn-address/foehn-display-address.component.mjs} +5 -9
- package/esm2020/foehn-address/foehn-input-address.component.mjs +366 -0
- package/esm2020/foehn-address/foehn-input-foreign-locality.component.mjs +66 -0
- package/{esm2015/foehn-address/foehn-input-foreign-street.component.js → esm2020/foehn-address/foehn-input-foreign-street.component.mjs} +6 -11
- package/esm2020/foehn-autocomplete/foehn-autocomplete.component.mjs +548 -0
- package/{esm2015/foehn-autocomplete/foehn-autocomplete.module.js → esm2020/foehn-autocomplete/foehn-autocomplete.module.mjs} +4 -4
- package/esm2020/foehn-boolean/foehn-boolean-checkbox.component.mjs +28 -0
- package/esm2020/foehn-boolean/foehn-boolean-radio.component.mjs +37 -0
- package/{esm2015/foehn-boolean/foehn-boolean.module.js → esm2020/foehn-boolean/foehn-boolean.module.mjs} +4 -4
- package/{esm2015/foehn-breadcrumb/breadcrumb-event.service.js → esm2020/foehn-breadcrumb/breadcrumb-event.service.mjs} +10 -10
- package/{esm2015/foehn-breadcrumb/breadcrumb.js → esm2020/foehn-breadcrumb/breadcrumb.mjs} +0 -0
- package/{esm2015/foehn-breadcrumb/foehn-breadcrumb.component.js → esm2020/foehn-breadcrumb/foehn-breadcrumb.component.mjs} +5 -9
- package/{esm2015/foehn-breadcrumb/foehn-breadcrumb.module.js → esm2020/foehn-breadcrumb/foehn-breadcrumb.module.mjs} +4 -4
- package/esm2020/foehn-checkables/foehn-checkable-group.component.mjs +283 -0
- package/{esm2015/foehn-checkables/foehn-checkables.module.js → esm2020/foehn-checkables/foehn-checkables.module.mjs} +4 -4
- package/esm2020/foehn-checkables/foehn-checkbox.component.mjs +36 -0
- package/esm2020/foehn-checkables/foehn-radio.component.mjs +63 -0
- package/esm2020/foehn-checkables/foehn-select.component.mjs +62 -0
- package/{esm2015/foehn-checkables/form-select-option-group.js → esm2020/foehn-checkables/form-select-option-group.mjs} +0 -0
- package/{esm2015/foehn-checkables/form-select-option.js → esm2020/foehn-checkables/form-select-option.mjs} +0 -0
- package/{esm2015/foehn-confirm-modal/foehn-confirm-modal-content.js → esm2020/foehn-confirm-modal/foehn-confirm-modal-content.mjs} +0 -0
- package/esm2020/foehn-confirm-modal/foehn-confirm-modal.component.mjs +39 -0
- package/{esm2015/foehn-confirm-modal/foehn-confirm-modal.module.js → esm2020/foehn-confirm-modal/foehn-confirm-modal.module.mjs} +4 -4
- package/{esm2015/foehn-confirm-modal/foehn-confirm-modal.service.js → esm2020/foehn-confirm-modal/foehn-confirm-modal.service.mjs} +3 -3
- package/{esm2015/foehn-date-picker/date-picker-navigation.helper.js → esm2020/foehn-date-picker/date-picker-navigation.helper.mjs} +7 -7
- package/{esm2015/foehn-date-picker/date-picker.helper.js → esm2020/foehn-date-picker/date-picker.helper.mjs} +4 -4
- package/{esm2015/foehn-date-picker/day-month.type.js → esm2020/foehn-date-picker/day-month.type.mjs} +0 -0
- package/{esm2015/foehn-date-picker/focused-day.type.js → esm2020/foehn-date-picker/focused-day.type.mjs} +0 -0
- package/{esm2015/foehn-date-picker/foehn-date-picker.component.js → esm2020/foehn-date-picker/foehn-date-picker.component.mjs} +22 -25
- package/{esm2015/foehn-date-picker/foehn-date-picker.module.js → esm2020/foehn-date-picker/foehn-date-picker.module.mjs} +4 -4
- package/{esm2015/foehn-date-picker/month-year.type.js → esm2020/foehn-date-picker/month-year.type.mjs} +0 -0
- package/esm2020/foehn-date-picker-button/foehn-date-picker-button.component.mjs +70 -0
- package/{esm2015/foehn-date-picker-button/foehn-date-picker-button.module.js → esm2020/foehn-date-picker-button/foehn-date-picker-button.module.mjs} +4 -4
- package/{esm2015/foehn-debug-summary/foehn-debug-summary.component.js → esm2020/foehn-debug-summary/foehn-debug-summary.component.mjs} +8 -11
- package/{esm2015/foehn-debug-summary/foehn-debug-summary.component.module.js → esm2020/foehn-debug-summary/foehn-debug-summary.component.module.mjs} +4 -4
- package/esm2020/foehn-decision-electronique/foehn-decision-electronique.component.mjs +36 -0
- package/{esm2015/foehn-decision-electronique/foehn-decision-electronique.module.js → esm2020/foehn-decision-electronique/foehn-decision-electronique.module.mjs} +4 -4
- package/esm2020/foehn-footer/foehn-footer.component.mjs +129 -0
- package/{esm2015/foehn-footer/foehn-footer.module.js → esm2020/foehn-footer/foehn-footer.module.mjs} +4 -4
- package/{esm2015/foehn-footer/footer-link.type.js → esm2020/foehn-footer/footer-link.type.mjs} +0 -0
- package/{esm2015/foehn-form/foehn-form.component.js → esm2020/foehn-form/foehn-form.component.mjs} +5 -8
- package/{esm2015/foehn-form/foehn-form.module.js → esm2020/foehn-form/foehn-form.module.mjs} +4 -4
- package/{esm2015/foehn-growl/foehn-growl.component.js → esm2020/foehn-growl/foehn-growl.component.mjs} +8 -12
- package/{esm2015/foehn-growl/foehn-growl.module.js → esm2020/foehn-growl/foehn-growl.module.mjs} +4 -4
- package/{esm2015/foehn-growl/growl-broker.service.js → esm2020/foehn-growl/growl-broker.service.mjs} +3 -3
- package/{esm2015/foehn-growl/growl-message.js → esm2020/foehn-growl/growl-message.mjs} +0 -0
- package/{esm2015/foehn-growl/growl-types.js → esm2020/foehn-growl/growl-types.mjs} +0 -0
- package/esm2020/foehn-header/foehn-header.component.mjs +69 -0
- package/{esm2015/foehn-header/foehn-header.module.js → esm2020/foehn-header/foehn-header.module.mjs} +4 -4
- package/{esm2015/foehn-header/foehn-skip-link.component.js → esm2020/foehn-header/foehn-skip-link.component.mjs} +5 -8
- package/{esm2015/foehn-help-modal/foehn-help-modal.component.js → esm2020/foehn-help-modal/foehn-help-modal.component.mjs} +5 -9
- package/{esm2015/foehn-help-modal/foehn-help-modal.module.js → esm2020/foehn-help-modal/foehn-help-modal.module.mjs} +4 -4
- package/{esm2015/foehn-help-modal/foehn-help-modal.type.js → esm2020/foehn-help-modal/foehn-help-modal.type.mjs} +0 -0
- package/{esm2015/foehn-icons/abstract-icon-component.js → esm2020/foehn-icons/abstract-icon-component.mjs} +4 -4
- package/{esm2015/foehn-icons/foehn-icon-calendar.component.js → esm2020/foehn-icons/foehn-icon-calendar.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-check-square-o.component.js → esm2020/foehn-icons/foehn-icon-check-square-o.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-check.component.js → esm2020/foehn-icons/foehn-icon-check.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-chevron-down.component.js → esm2020/foehn-icons/foehn-icon-chevron-down.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-chevron-left.component.js → esm2020/foehn-icons/foehn-icon-chevron-left.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-chevron-right.component.js → esm2020/foehn-icons/foehn-icon-chevron-right.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-chevron-up.component.js → esm2020/foehn-icons/foehn-icon-chevron-up.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-clock.component.js → esm2020/foehn-icons/foehn-icon-clock.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-comment-dots.component.js → esm2020/foehn-icons/foehn-icon-comment-dots.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-edit.component.js → esm2020/foehn-icons/foehn-icon-edit.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-external-link-alt.component.js → esm2020/foehn-icons/foehn-icon-external-link-alt.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-file-pdf.component.js → esm2020/foehn-icons/foehn-icon-file-pdf.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-info-circle.component.js → esm2020/foehn-icons/foehn-icon-info-circle.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-lock.component.js → esm2020/foehn-icons/foehn-icon-lock.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-map-marker.component.js → esm2020/foehn-icons/foehn-icon-map-marker.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-minus-circle.component.js → esm2020/foehn-icons/foehn-icon-minus-circle.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-plus-circle.component.js → esm2020/foehn-icons/foehn-icon-plus-circle.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-plus-square.component.js → esm2020/foehn-icons/foehn-icon-plus-square.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-search.component.js → esm2020/foehn-icons/foehn-icon-search.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-times.component.js → esm2020/foehn-icons/foehn-icon-times.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-trash-alt.component.js → esm2020/foehn-icons/foehn-icon-trash-alt.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icon-unlock-alt.component.js → esm2020/foehn-icons/foehn-icon-unlock-alt.component.mjs} +5 -8
- package/{esm2015/foehn-icons/foehn-icons.module.js → esm2020/foehn-icons/foehn-icons.module.mjs} +4 -4
- package/esm2020/foehn-input/foehn-input-email.component.mjs +50 -0
- package/esm2020/foehn-input/foehn-input-hidden.component.mjs +53 -0
- package/{esm2015/foehn-input/foehn-input-number.component.js → esm2020/foehn-input/foehn-input-number.component.mjs} +10 -15
- package/esm2020/foehn-input/foehn-input-password.component.mjs +50 -0
- package/{esm2015/foehn-input/foehn-input-phone.component.js → esm2020/foehn-input/foehn-input-phone.component.mjs} +6 -11
- package/{esm2015/foehn-input/foehn-input-string.component.js → esm2020/foehn-input/foehn-input-string.component.mjs} +3 -3
- package/{esm2015/foehn-input/foehn-input-text.component.js → esm2020/foehn-input/foehn-input-text.component.mjs} +6 -11
- package/{esm2015/foehn-input/foehn-input-textarea.component.js → esm2020/foehn-input/foehn-input-textarea.component.mjs} +6 -11
- package/{esm2015/foehn-input/foehn-input.component.js → esm2020/foehn-input/foehn-input.component.mjs} +14 -14
- package/{esm2015/foehn-input/foehn-input.module.js → esm2020/foehn-input/foehn-input.module.mjs} +4 -4
- package/{esm2015/foehn-input/pattern.const.js → esm2020/foehn-input/pattern.const.mjs} +0 -0
- package/esm2020/foehn-input-date/foehn-input-date.component.mjs +90 -0
- package/esm2020/foehn-input-time/foehn-input-time.component.mjs +75 -0
- package/esm2020/foehn-list/foehn-list.component.mjs +128 -0
- package/{esm2015/foehn-list/foehn-list.module.js → esm2020/foehn-list/foehn-list.module.mjs} +4 -4
- package/{esm2015/foehn-list/page-change-event.js → esm2020/foehn-list/page-change-event.mjs} +0 -0
- package/esm2020/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +122 -0
- package/{esm2015/foehn-menu-prestation/abstract-menu-page.component.js → esm2020/foehn-menu-prestation/abstract-menu-page.component.mjs} +3 -3
- package/{esm2015/foehn-menu-prestation/abstract-page-from-menu.component.js → esm2020/foehn-menu-prestation/abstract-page-from-menu.component.mjs} +3 -3
- package/{esm2015/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.js → esm2020/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs} +5 -8
- package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.mjs} +0 -0
- package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item.mjs} +0 -0
- package/esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +71 -0
- package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +35 -0
- package/{esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.js → esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs} +5 -8
- package/{esm2015/foehn-menu-prestation/foehn-menu-prestation.module.js → esm2020/foehn-menu-prestation/foehn-menu-prestation.module.mjs} +4 -4
- package/{esm2015/foehn-misc/foehn-abbr.component.js → esm2020/foehn-misc/foehn-abbr.component.mjs} +5 -9
- package/{esm2015/foehn-misc/foehn-misc.module.js → esm2020/foehn-misc/foehn-misc.module.mjs} +4 -4
- package/esm2020/foehn-modal/foehn-modal.component.mjs +96 -0
- package/{esm2015/foehn-modal/foehn-modal.module.js → esm2020/foehn-modal/foehn-modal.module.mjs} +4 -4
- package/esm2020/foehn-nav13/foehn-input-nav13.component.mjs +94 -0
- package/{esm2015/foehn-nav13/foehn-input-nav13.module.js → esm2020/foehn-nav13/foehn-input-nav13.module.mjs} +4 -4
- package/esm2020/foehn-navigation/foehn-navigation.component.mjs +94 -0
- package/{esm2015/foehn-navigation/foehn-navigation.module.js → esm2020/foehn-navigation/foehn-navigation.module.mjs} +4 -4
- package/{esm2015/foehn-navigation/foehn-navigation.service.js → esm2020/foehn-navigation/foehn-navigation.service.mjs} +12 -12
- package/{esm2015/foehn-notfound/foehn-notfound.component.js → esm2020/foehn-notfound/foehn-notfound.component.mjs} +5 -8
- package/{esm2015/foehn-notfound/foehn-notfound.module.js → esm2020/foehn-notfound/foehn-notfound.module.mjs} +4 -4
- package/{esm2015/foehn-page/foehn-page-counter.component.js → esm2020/foehn-page/foehn-page-counter.component.mjs} +5 -8
- package/esm2020/foehn-page/foehn-page-modal.component.mjs +52 -0
- package/{esm2015/foehn-page/foehn-page-modal.service.js → esm2020/foehn-page/foehn-page-modal.service.mjs} +3 -3
- package/esm2020/foehn-page/foehn-page.component.mjs +215 -0
- package/{esm2015/foehn-page/foehn-page.module.js → esm2020/foehn-page/foehn-page.module.mjs} +4 -4
- package/{esm2015/foehn-page/foehn-page.service.js → esm2020/foehn-page/foehn-page.service.mjs} +4 -4
- package/{esm2015/foehn-recap-section/foehn-recap-section.component.js → esm2020/foehn-recap-section/foehn-recap-section.component.mjs} +5 -8
- package/{esm2015/foehn-recap-section/foehn-recap-section.module.js → esm2020/foehn-recap-section/foehn-recap-section.module.mjs} +4 -4
- package/{esm2015/foehn-recap-section/foehn-recap-section.type.js → esm2020/foehn-recap-section/foehn-recap-section.type.mjs} +0 -0
- package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs} +5 -9
- package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs} +4 -4
- package/esm2020/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +37 -0
- package/{esm2015/foehn-status-progress-bar/foehn-status-progress-bar.module.js → esm2020/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs} +4 -4
- package/{esm2015/foehn-table/foehn-table-column-configuration.js → esm2020/foehn-table/foehn-table-column-configuration.mjs} +0 -0
- package/{esm2015/foehn-table/foehn-table-page-change-event.js → esm2020/foehn-table/foehn-table-page-change-event.mjs} +0 -0
- package/esm2020/foehn-table/foehn-table.component.mjs +147 -0
- package/{esm2015/foehn-table/foehn-table.module.js → esm2020/foehn-table/foehn-table.module.mjs} +4 -4
- package/{esm2015/foehn-table/tableSort.js → esm2020/foehn-table/tableSort.mjs} +0 -0
- package/{esm2015/foehn-upload/abstract-foehn-uploader.component.js → esm2020/foehn-upload/abstract-foehn-uploader.component.mjs} +17 -17
- package/{esm2015/foehn-upload/document-reference.js → esm2020/foehn-upload/document-reference.mjs} +0 -0
- package/{esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.js → esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs} +3 -3
- package/{esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.js → esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.mjs} +0 -0
- package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +165 -0
- package/{esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.js → esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs} +4 -4
- package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +214 -0
- package/{esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.js → esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs} +4 -4
- package/{esm2015/foehn-upload/foehn-multi-upload/multi-upload.service.js → esm2020/foehn-upload/foehn-multi-upload/multi-upload.service.mjs} +3 -3
- package/{esm2015/foehn-upload/foehn-multi-upload/multi-upload.type.js → esm2020/foehn-upload/foehn-multi-upload/multi-upload.type.mjs} +0 -0
- package/{esm2015/foehn-upload/foehn-multi-upload/pending-upload.service.js → esm2020/foehn-upload/foehn-multi-upload/pending-upload.service.mjs} +3 -3
- package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +163 -0
- package/{esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.js → esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs} +4 -4
- package/{esm2015/foehn-upload/pending-upload.type.js → esm2020/foehn-upload/pending-upload.type.mjs} +0 -0
- package/esm2020/foehn-upload/uploader.helper.mjs +326 -0
- package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.component.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.component.mjs} +5 -8
- package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.module.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.module.mjs} +4 -4
- package/{esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.component.js → esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs} +5 -9
- package/{esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.module.js → esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs} +4 -4
- package/esm2020/foehn-validation-alerts/foehn-validation-alerts.component.mjs +29 -0
- package/{esm2015/foehn-validation-alerts/foehn-validation-alerts.module.js → esm2020/foehn-validation-alerts/foehn-validation-alerts.module.mjs} +4 -4
- package/esm2020/form-error.mjs +2 -0
- package/esm2020/form-post-response.mjs +10 -0
- package/{esm2015/gesdem/gesdem-error-handler.service.js → esm2020/gesdem/gesdem-error-handler.service.mjs} +3 -3
- package/esm2020/gesdem/gesdem-event.service.mjs +38 -0
- package/esm2020/gesdem/gesdem-handler.service.mjs +151 -0
- package/{esm2015/gesdem/gesdem-loader.guard.js → esm2020/gesdem/gesdem-loader.guard.mjs} +3 -3
- package/{esm2015/gesdem/gesdem-statut-utils.js → esm2020/gesdem/gesdem-statut-utils.mjs} +0 -0
- package/{esm2015/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.js → esm2020/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs} +5 -10
- package/esm2020/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +128 -0
- package/{esm2015/gesdem-action-recovery/gesdem-action-recovery.module.js → esm2020/gesdem-action-recovery/gesdem-action-recovery.module.mjs} +4 -4
- package/esm2020/gesdem-action-recovery/gesdem-action-recovery.service.mjs +82 -0
- package/{esm2015/gesdem-action-recovery/reprise-info.js → esm2020/gesdem-action-recovery/reprise-info.mjs} +0 -0
- package/esm2020/gesdem-confirmation/gesdem-confirmation.component.mjs +189 -0
- package/{esm2015/gesdem-confirmation/gesdem-confirmation.module.js → esm2020/gesdem-confirmation/gesdem-confirmation.module.mjs} +4 -4
- package/{esm2015/gesdem-error/gesdem-error.component.js → esm2020/gesdem-error/gesdem-error.component.mjs} +5 -9
- package/{esm2015/gesdem-error/gesdem-error.module.js → esm2020/gesdem-error/gesdem-error.module.mjs} +4 -4
- package/{esm2015/helpers/object.helper.js → esm2020/helpers/object.helper.mjs} +2 -2
- package/{esm2015/i18n-form.js → esm2020/i18n-form.mjs} +0 -0
- package/{esm2015/index.js → esm2020/index.mjs} +3 -3
- package/{esm2015/pipes/currency.pipe.js → esm2020/pipes/currency.pipe.mjs} +3 -3
- package/{esm2015/pipes/date.pipe.js → esm2020/pipes/date.pipe.mjs} +3 -3
- package/{esm2015/pipes/formatIde.pipe.js → esm2020/pipes/formatIde.pipe.mjs} +3 -3
- package/{esm2015/pipes/pipes.module.js → esm2020/pipes/pipes.module.mjs} +4 -4
- package/{esm2015/prestations-ng-core.module.js → esm2020/prestations-ng-core.module.mjs} +4 -4
- package/{esm2015/sdk-appinfo/application-info.js → esm2020/sdk-appinfo/application-info.mjs} +0 -0
- package/esm2020/sdk-appinfo/application-info.service.mjs +102 -0
- package/{esm2015/sdk-currency/currency.helper.js → esm2020/sdk-currency/currency.helper.mjs} +3 -3
- package/esm2020/sdk-date/date.helper.mjs +91 -0
- package/{esm2015/sdk-dictionary/default-dictionary.js → esm2020/sdk-dictionary/default-dictionary.mjs} +0 -0
- package/{esm2015/sdk-dictionary/sdk-dictionary.module.js → esm2020/sdk-dictionary/sdk-dictionary.module.mjs} +4 -4
- package/{esm2015/sdk-dictionary/sdk-dictionary.pipe.js → esm2020/sdk-dictionary/sdk-dictionary.pipe.mjs} +5 -5
- package/{esm2015/sdk-dictionary/sdk-dictionary.service.js → esm2020/sdk-dictionary/sdk-dictionary.service.mjs} +3 -3
- package/{esm2015/sdk-epayment/model/EPaymentParameters.js → esm2020/sdk-epayment/model/EPaymentParameters.mjs} +0 -0
- package/esm2020/sdk-epayment/sdk-epayment.component.mjs +79 -0
- package/{esm2015/sdk-epayment/sdk-epayment.module.js → esm2020/sdk-epayment/sdk-epayment.module.mjs} +4 -4
- package/esm2020/sdk-epayment/sdk-epayment.service.mjs +51 -0
- package/{esm2015/sdk-recaptcha/grecaptcha/grecaptcha.component.js → esm2020/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs} +5 -9
- package/esm2020/sdk-recaptcha/recaptcha.service.mjs +162 -0
- package/esm2020/sdk-recaptcha/sdk-recaptcha.component.mjs +68 -0
- package/{esm2015/sdk-recaptcha/sdk-recaptcha.module.js → esm2020/sdk-recaptcha/sdk-recaptcha.module.mjs} +4 -4
- package/{esm2015/sdk-redirect/iam-expired-interceptor.service.js → esm2020/sdk-redirect/iam-expired-interceptor.service.mjs} +3 -3
- package/{esm2015/sdk-redirect/redirect.component.js → esm2020/sdk-redirect/redirect.component.mjs} +5 -9
- package/{esm2015/sdk-redirect/sdk-redirect.module.js → esm2020/sdk-redirect/sdk-redirect.module.mjs} +4 -4
- package/{esm2015/sdk-session-info/session-info-data.js → esm2020/sdk-session-info/session-info-data.mjs} +1 -1
- package/{esm2015/sdk-session-info/session-info-with-application.service.js → esm2020/sdk-session-info/session-info-with-application.service.mjs} +3 -3
- package/esm2020/sdk-session-info/session-info.service.mjs +73 -0
- package/{esm2015/sdk-support-alert/support-alert-container.component.js → esm2020/sdk-support-alert/support-alert-container.component.mjs} +5 -9
- package/esm2020/sdk-support-alert/support-alert.component.mjs +34 -0
- package/{esm2015/sdk-support-alert/support-alert.model.js → esm2020/sdk-support-alert/support-alert.model.mjs} +0 -0
- package/{esm2015/sdk-support-alert/support-alert.module.js → esm2020/sdk-support-alert/support-alert.module.mjs} +4 -4
- package/{esm2015/sdk-support-alert/support-alert.service.js → esm2020/sdk-support-alert/support-alert.service.mjs} +3 -3
- package/{esm2015/service-locator.js → esm2020/service-locator.mjs} +0 -0
- package/esm2020/supported-browser.mjs +2 -0
- package/esm2020/validation/validation-handler.service.mjs +44 -0
- package/fesm2015/{dsivd-prestations-ng.js → dsivd-prestations-ng.mjs} +973 -1300
- package/fesm2015/dsivd-prestations-ng.mjs.map +1 -0
- package/fesm2020/dsivd-prestations-ng.mjs +11532 -0
- package/fesm2020/dsivd-prestations-ng.mjs.map +1 -0
- package/foehn-breadcrumb/breadcrumb-event.service.d.ts +2 -2
- package/foehn-checkables/foehn-checkable-group.component.d.ts +3 -3
- package/foehn-confirm-modal/foehn-confirm-modal.component.d.ts +1 -1
- package/foehn-date-picker/date-picker-navigation.helper.d.ts +1 -1
- package/foehn-date-picker/date-picker.helper.d.ts +1 -1
- package/foehn-date-picker/foehn-date-picker.component.d.ts +3 -3
- package/foehn-date-picker-button/foehn-date-picker-button.component.d.ts +2 -2
- package/foehn-debug-summary/foehn-debug-summary.component.d.ts +1 -1
- package/foehn-growl/foehn-growl.component.d.ts +1 -1
- package/foehn-header/foehn-header.component.d.ts +2 -2
- package/foehn-input/foehn-input-number.component.d.ts +1 -1
- package/foehn-input/foehn-input.component.d.ts +4 -4
- package/foehn-list/foehn-list.component.d.ts +2 -2
- package/foehn-menu-prestation/abstract-list-item-detail-page.component.d.ts +1 -1
- package/foehn-modal/foehn-modal.component.d.ts +1 -1
- package/foehn-navigation/foehn-navigation.service.d.ts +2 -2
- package/foehn-page/foehn-page.service.d.ts +2 -2
- package/foehn-table/foehn-table.component.d.ts +2 -2
- package/foehn-upload/abstract-foehn-uploader.component.d.ts +2 -2
- package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.d.ts +1 -1
- package/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.d.ts +2 -2
- package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +1 -1
- package/foehn-upload/uploader.helper.d.ts +12 -12
- package/foehn-validation-alerts/foehn-validation-alerts.component.d.ts +3 -3
- package/{error-template.d.ts → form-error.d.ts} +1 -1
- package/form-post-response.d.ts +17 -0
- package/gesdem/gesdem-event.service.d.ts +6 -6
- package/gesdem/gesdem-handler.service.d.ts +3 -3
- package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +2 -2
- package/gesdem-action-recovery/gesdem-action-recovery.service.d.ts +2 -2
- package/gesdem-confirmation/gesdem-confirmation.component.d.ts +4 -4
- package/index.d.ts +2 -2
- package/package.json +26 -13
- package/schematics/ng-add/index.js +6 -6
- package/schematics/ng-update/migrations/update-13_1_0/index.js +2 -2
- package/schematics/ng-update/migrations/update-13_2_0/index.js +3 -3
- package/schematics/ng-update/migrations/update-13_5_1/index.js +2 -2
- package/schematics/ng-update/migrations/update-14_5_0/index.js +2 -2
- package/schematics/update-karma-config/index.js +2 -2
- package/schematics/utility/migrate-to-karma-coverage.js +3 -3
- package/sdk-appinfo/application-info.service.d.ts +2 -2
- package/sdk-epayment/sdk-epayment.component.d.ts +3 -13
- package/sdk-epayment/sdk-epayment.service.d.ts +2 -5
- package/sdk-recaptcha/recaptcha.service.d.ts +2 -2
- package/sdk-recaptcha/sdk-recaptcha.component.d.ts +2 -2
- package/sdk-session-info/session-info-data.d.ts +0 -1
- package/sdk-session-info/session-info.service.d.ts +9 -2
- package/validation/validation-handler.service.d.ts +4 -4
- package/backend-response.d.ts +0 -18
- package/bundles/dsivd-prestations-ng.umd.js +0 -13472
- package/bundles/dsivd-prestations-ng.umd.js.map +0 -1
- package/dsivd-prestations-ng-v14.5.20.tgz +0 -0
- package/esm2015/abstract-page-component.js +0 -224
- package/esm2015/backend-response.js +0 -10
- package/esm2015/error-template.js +0 -2
- package/esm2015/foehn-address/foehn-input-address.component.js +0 -365
- package/esm2015/foehn-address/foehn-input-foreign-locality.component.js +0 -71
- package/esm2015/foehn-autocomplete/foehn-autocomplete.component.js +0 -556
- package/esm2015/foehn-boolean/foehn-boolean-checkbox.component.js +0 -32
- package/esm2015/foehn-boolean/foehn-boolean-radio.component.js +0 -41
- package/esm2015/foehn-checkables/foehn-checkable-group.component.js +0 -294
- package/esm2015/foehn-checkables/foehn-checkbox.component.js +0 -40
- package/esm2015/foehn-checkables/foehn-radio.component.js +0 -67
- package/esm2015/foehn-checkables/foehn-select.component.js +0 -66
- package/esm2015/foehn-confirm-modal/foehn-confirm-modal.component.js +0 -42
- package/esm2015/foehn-date-picker-button/foehn-date-picker-button.component.js +0 -74
- package/esm2015/foehn-decision-electronique/foehn-decision-electronique.component.js +0 -40
- package/esm2015/foehn-footer/foehn-footer.component.js +0 -132
- package/esm2015/foehn-header/foehn-header.component.js +0 -73
- package/esm2015/foehn-input/foehn-input-email.component.js +0 -55
- package/esm2015/foehn-input/foehn-input-hidden.component.js +0 -57
- package/esm2015/foehn-input/foehn-input-password.component.js +0 -55
- package/esm2015/foehn-input-date/foehn-input-date.component.js +0 -94
- package/esm2015/foehn-input-time/foehn-input-time.component.js +0 -79
- package/esm2015/foehn-list/foehn-list.component.js +0 -134
- package/esm2015/foehn-menu-prestation/abstract-list-item-detail-page.component.js +0 -122
- package/esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.js +0 -75
- package/esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.js +0 -38
- package/esm2015/foehn-modal/foehn-modal.component.js +0 -100
- package/esm2015/foehn-nav13/foehn-input-nav13.component.js +0 -98
- package/esm2015/foehn-navigation/foehn-navigation.component.js +0 -98
- package/esm2015/foehn-page/foehn-page-modal.component.js +0 -55
- package/esm2015/foehn-page/foehn-page.component.js +0 -217
- package/esm2015/foehn-status-progress-bar/foehn-status-progress-bar.component.js +0 -42
- package/esm2015/foehn-table/foehn-table.component.js +0 -151
- package/esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.js +0 -171
- package/esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.js +0 -220
- package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.js +0 -167
- package/esm2015/foehn-upload/uploader.helper.js +0 -322
- package/esm2015/foehn-validation-alerts/foehn-validation-alerts.component.js +0 -32
- package/esm2015/gesdem/gesdem-event.service.js +0 -38
- package/esm2015/gesdem/gesdem-handler.service.js +0 -151
- package/esm2015/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.js +0 -133
- package/esm2015/gesdem-action-recovery/gesdem-action-recovery.service.js +0 -82
- package/esm2015/gesdem-confirmation/gesdem-confirmation.component.js +0 -194
- package/esm2015/sdk-appinfo/application-info.service.js +0 -111
- package/esm2015/sdk-date/date.helper.js +0 -90
- package/esm2015/sdk-epayment/model/EPaymentRequest.js +0 -3
- package/esm2015/sdk-epayment/sdk-epayment.component.js +0 -113
- package/esm2015/sdk-epayment/sdk-epayment.service.js +0 -46
- package/esm2015/sdk-recaptcha/recaptcha.service.js +0 -162
- package/esm2015/sdk-recaptcha/sdk-recaptcha.component.js +0 -72
- package/esm2015/sdk-session-info/session-info.service.js +0 -44
- package/esm2015/sdk-support-alert/support-alert.component.js +0 -38
- package/esm2015/supported-browser.js +0 -2
- package/esm2015/validation/validation-handler.service.js +0 -44
- package/fesm2015/dsivd-prestations-ng.js.map +0 -1
- package/sdk-epayment/model/EPaymentRequest.d.ts +0 -5
package/CHANGELOG.md
CHANGED
|
@@ -25,15 +25,40 @@ A change is considered **breaking** if you have to change your code or update yo
|
|
|
25
25
|
- adding a new constructor argument in one of our service is OK, if you just have to update your constructor's signature and your call to `super(...)`
|
|
26
26
|
|
|
27
27
|
---
|
|
28
|
-
## [14.5.20]
|
|
29
|
-
- [foehn-status-progress-bar.module.ts](projects/prestations-ng/src/foehn-status-progress-bar/foehn-status-progress-bar.module.ts)
|
|
30
|
-
- Add foehn-status-progress-bar component. Component used in foehn-page and can be hidden with `statusProgressBarHidden` input
|
|
31
28
|
|
|
32
|
-
## [
|
|
29
|
+
## [15.0.0]
|
|
30
|
+
|
|
33
31
|
### Added
|
|
34
|
-
- [foehn-confirm-modal.component.html](projects/prestations-ng/src/foehn-confirm-modal/foehn-confirm-modal.component.html)
|
|
35
|
-
- Add closeable on FoehnConfirmModalContent. Default value is true. If false, modal has to be closed by the yes and no buttons.
|
|
36
32
|
|
|
33
|
+
- [UPGRADING_V15](UPGRADING_V15.md)
|
|
34
|
+
- Added migration guide
|
|
35
|
+
- [foehn-confirm-modal.component.html](projects/prestations-ng/src/foehn-confirm-modal/foehn-confirm-modal.component.html)
|
|
36
|
+
- Add closeable on FoehnConfirmModalContent. Default value is true. If false, modal has to be closed by the yes and no buttons.
|
|
37
|
+
|
|
38
|
+
### Updated
|
|
39
|
+
|
|
40
|
+
- [package.json](package.json)
|
|
41
|
+
- Updated angular stack to ^13.1.0
|
|
42
|
+
- Updated @fortawesome/angular-fontawesome to ^0.10.0
|
|
43
|
+
- Updated rxjs to ~7.5.2
|
|
44
|
+
- Updated ngx-image-cropper to ~6.0.0
|
|
45
|
+
|
|
46
|
+
- [sdk-epayment.component.ts](projects/prestations-ng/src/sdk-epayment/sdk-epayment.component.ts)
|
|
47
|
+
- [sdk-epayment.component.html](projects/prestations-ng/src/sdk-epayment/sdk-epayment.component.html)
|
|
48
|
+
- [sdk-epayment.service.ts](projects/prestations-ng/src/sdk-epayment/sdk-epayment.service.ts)
|
|
49
|
+
- Adaptations to use new e-payment method "Postfinance Checkout"
|
|
50
|
+
|
|
51
|
+
- [backend-reponse.ts](projects/prestations-ng/src/backend-response.ts)
|
|
52
|
+
- renamed to `FormPostResponse` to match prestations-be
|
|
53
|
+
- renamed `GesdemMeta` to `FormMetadata` to match prestations-be
|
|
54
|
+
|
|
55
|
+
- [error-template.ts](projects/prestations-ng/src/error-template.ts)
|
|
56
|
+
- renamed to `FormError` to match prestations-be
|
|
57
|
+
|
|
58
|
+
### Removed
|
|
59
|
+
- [session-info-data.ts](projects/prestations-ng/src/sdk-session-info/session-info-data.ts)
|
|
60
|
+
- removed field `email` since this is the security e-mail that should not be used by prestations (`preferences.email` is the one that is allowed)]
|
|
61
|
+
|
|
37
62
|
## [14.5.18]
|
|
38
63
|
### Fixed
|
|
39
64
|
|
|
@@ -50,6 +75,8 @@ A change is considered **breaking** if you have to change your code or update yo
|
|
|
50
75
|
- removed `setRefreshIntervalInSeconds(refreshIntervalsInSeconds: number)`, support alerts are now refreshed on every NavigationStart event from the Angular Router, but at most every 3 minutes.
|
|
51
76
|
- [foehn-page.component.html](projects/prestations-ng/src/foehn-page/foehn-page.component.html)
|
|
52
77
|
- added `@Input() supportAlertRefreshIntervalsInSeconds: number`, support alerts are now refreshed on every NavigationStart event from the Angular Router, but at most every 3 minutes.
|
|
78
|
+
- [foehn-status-progress-bar.module.ts](projects/prestations-ng/src/foehn-status-progress-bar/foehn-status-progress-bar.module.ts)
|
|
79
|
+
- Add foehn-status-progress-bar component. Component used in foehn-page and can be hidden with `statusProgressBarHidden` input
|
|
53
80
|
|
|
54
81
|
## [14.5.16]
|
|
55
82
|
|
package/CONTRIBUTING.md
CHANGED
package/README.md
CHANGED
|
@@ -8,6 +8,7 @@ The generated documentation of our entire library is available online at [https:
|
|
|
8
8
|
|
|
9
9
|
The documentation is available online at [https://dsi-vd.github.io/prestations-ng/](https://dsi-vd.github.io/prestations-ng/)
|
|
10
10
|
|
|
11
|
+
- If you're using **Angular 13**, use `@dsivd/prestations-ng` at version `^15`.
|
|
11
12
|
- If you're using **Angular 12**, use `@dsivd/prestations-ng` at version `^14.5.0`.
|
|
12
13
|
- If you're using **Angular 11**, use `@dsivd/prestations-ng` at version `^13` until `14.4.1`.
|
|
13
14
|
- If you're using **Angular 9**, use `@dsivd/prestations-ng` at version `^11`.
|
|
@@ -17,6 +18,7 @@ The documentation is available online at [https://dsi-vd.github.io/prestations-n
|
|
|
17
18
|
|
|
18
19
|
Migration guides are available to provide an upgrade path from one major version to another.
|
|
19
20
|
|
|
21
|
+
- If you need to upgrade to version `15+`, please refer to [the V15 upgrade guide](UPGRADING_V15.md).
|
|
20
22
|
- If you need to upgrade to version `14+`, please refer to [the V14 upgrade guide](UPGRADING_V14.md).
|
|
21
23
|
- If you need to upgrade to version `13+`, please refer to [the V13 upgrade guide](UPGRADING_V13.md).
|
|
22
24
|
- If you need to upgrade to version `12+`, please refer to [the V12 upgrade guide](UPGRADING_V12.md).
|
package/UPGRADING_V14.md
CHANGED
|
@@ -13,20 +13,19 @@ at this address:
|
|
|
13
13
|
### When having migrated to ESLint
|
|
14
14
|
```bash
|
|
15
15
|
yarn global add @angular/cli@12
|
|
16
|
+
ng update @angular/core@12 @angular/cli@12
|
|
16
17
|
ng update @angular-eslint/builder@12
|
|
17
18
|
ng update @angular-eslint/eslint-plugin @angular-eslint/eslint-plugin-template @angular-eslint/template-parser
|
|
18
|
-
ng update eslint
|
|
19
19
|
ng update eslint-plugin-import eslint-plugin-jasmine eslint-plugin-jsdoc eslint-plugin-prefer-arrow
|
|
20
20
|
ng update eslint-plugin-rxjs@3
|
|
21
21
|
ng update @typescript-eslint/eslint-plugin @typescript-eslint/parser
|
|
22
|
+
ng update eslint
|
|
22
23
|
ng update rxjs@6
|
|
23
24
|
ng update ng-http-loader@10
|
|
24
|
-
ng update @
|
|
25
|
-
ng update \
|
|
26
|
-
@types/jasmine \
|
|
27
|
-
@types/node@15 \
|
|
28
|
-
ts-node@10
|
|
25
|
+
ng update @types/jasmine @types/node@15 ts-node@10
|
|
29
26
|
yarn add dayjs@1
|
|
27
|
+
yarn add ngx-image-cropper@5
|
|
28
|
+
ng update @dsivd/prestations-ng@14
|
|
30
29
|
# Remove your resolutions in package.json before executing 'yarn upgrade'
|
|
31
30
|
yarn upgrade
|
|
32
31
|
```
|
|
@@ -37,12 +36,10 @@ yarn global add @angular/cli@12
|
|
|
37
36
|
ng update @angular/core@12 @angular/cli@12
|
|
38
37
|
ng update rxjs@6
|
|
39
38
|
ng update ng-http-loader@10
|
|
40
|
-
ng update @
|
|
41
|
-
ng update \
|
|
42
|
-
@types/jasmine \
|
|
43
|
-
@types/node@15 \
|
|
44
|
-
ts-node@10
|
|
39
|
+
ng update @types/jasmine @types/node@15 ts-node@10
|
|
45
40
|
yarn add dayjs@1
|
|
41
|
+
yarn add ngx-image-cropper@5
|
|
42
|
+
ng update @dsivd/prestations-ng@14
|
|
46
43
|
# Remove your resolutions in package.json before executing 'yarn upgrade'
|
|
47
44
|
yarn upgrade
|
|
48
45
|
```
|
package/UPGRADING_V15.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Upgrading from v14 to v15
|
|
2
|
+
|
|
3
|
+
The main feature in `prestations-ng` v15 is the update of the `@angular/*` peer dependencies
|
|
4
|
+
to `^13.1.0`.
|
|
5
|
+
|
|
6
|
+
## Updating Angular
|
|
7
|
+
|
|
8
|
+
`prestations-ng` v15+ now supports Angular 13. You can follow the Angular update guide
|
|
9
|
+
at this address:
|
|
10
|
+
|
|
11
|
+
- [https://update.angular.io/?l=3&v=12.0-13.0](https://update.angular.io/?l=3&v=12.0-13.0)
|
|
12
|
+
|
|
13
|
+
### When having migrated to ESLint
|
|
14
|
+
```bash
|
|
15
|
+
yarn global add @angular/cli@13
|
|
16
|
+
ng update @angular-eslint/builder@13
|
|
17
|
+
ng update @angular-eslint/eslint-plugin @angular-eslint/eslint-plugin-template @angular-eslint/template-parser
|
|
18
|
+
ng update @typescript-eslint/eslint-plugin @typescript-eslint/parser
|
|
19
|
+
ng update eslint-plugin-import eslint-plugin-jasmine eslint-plugin-jsdoc eslint-plugin-prefer-arrow
|
|
20
|
+
ng update eslint
|
|
21
|
+
ng update eslint-plugin-rxjs@4
|
|
22
|
+
ng update @angular/core@13 @angular/cli@13
|
|
23
|
+
ng update rxjs@7
|
|
24
|
+
ng update @dsivd/prestations-ng@15
|
|
25
|
+
ng update \
|
|
26
|
+
@types/jasmine \
|
|
27
|
+
@types/node@15 \
|
|
28
|
+
ts-node@10
|
|
29
|
+
ng update ngx-image-cropper@6
|
|
30
|
+
# Remove your resolutions in package.json before executing 'yarn upgrade'
|
|
31
|
+
yarn upgrade
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Otherwise
|
|
35
|
+
```bash
|
|
36
|
+
yarn global add @angular/cli@13
|
|
37
|
+
ng update @angular/core@13 @angular/cli@13
|
|
38
|
+
ng update rxjs@7
|
|
39
|
+
ng update @dsivd/prestations-ng@15
|
|
40
|
+
ng update \
|
|
41
|
+
@types/jasmine \
|
|
42
|
+
@types/node@15 \
|
|
43
|
+
ts-node@10
|
|
44
|
+
ng update ngx-image-cropper@6
|
|
45
|
+
# Remove your resolutions in package.json before executing 'yarn upgrade'
|
|
46
|
+
yarn upgrade
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Migrating to ESLint
|
|
50
|
+
|
|
51
|
+
- Follow [our migration guide](ESLINT_MIGRATION_GUIDE.md) to migrate your project from TSLint to ESLint
|
|
Binary file
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { Directive, ViewChild } from '@angular/core';
|
|
2
|
+
import { GesdemHandlerService } from './gesdem/gesdem-handler.service';
|
|
3
|
+
import { FoehnNavigationService } from './foehn-navigation/foehn-navigation.service';
|
|
4
|
+
import { FoehnFormComponent } from './foehn-form/foehn-form.component';
|
|
5
|
+
import { of } from 'rxjs';
|
|
6
|
+
import { ServiceLocator } from './service-locator';
|
|
7
|
+
import { ActivatedRoute } from '@angular/router';
|
|
8
|
+
import { GrowlBrokerService } from './foehn-growl/growl-broker.service';
|
|
9
|
+
import { ValidationHandlerService } from './validation/validation-handler.service';
|
|
10
|
+
import { GesdemEventService } from './gesdem/gesdem-event.service';
|
|
11
|
+
import { BreadcrumbEventService } from './foehn-breadcrumb/breadcrumb-event.service';
|
|
12
|
+
import { FoehnPageService } from './foehn-page/foehn-page.service';
|
|
13
|
+
import { first, mergeMap, share, throttleTime } from 'rxjs/operators';
|
|
14
|
+
import { ActionStatut, GesdemStatutUtils } from './gesdem/gesdem-statut-utils';
|
|
15
|
+
import { PendingUploadService } from './foehn-upload/foehn-multi-upload/pending-upload.service';
|
|
16
|
+
import { SdkDictionaryService } from './sdk-dictionary/sdk-dictionary.service';
|
|
17
|
+
import * as i0 from "@angular/core";
|
|
18
|
+
import * as i1 from "@angular/router";
|
|
19
|
+
/**
|
|
20
|
+
* Ensures that a call is only subscribed and send one at the time.
|
|
21
|
+
*
|
|
22
|
+
* @param fn function to be called as concurrent safe
|
|
23
|
+
* @returns Observable
|
|
24
|
+
*/
|
|
25
|
+
// eslint-disable-next-line prefer-arrow/prefer-arrow-functions
|
|
26
|
+
function getConcurrentSafeCall(fn) {
|
|
27
|
+
return of(true).pipe(
|
|
28
|
+
// To guard from double-click
|
|
29
|
+
throttleTime(200),
|
|
30
|
+
// flatmap(fn, 1) ensures that only one query is ran at the same time
|
|
31
|
+
mergeMap(fn, 1),
|
|
32
|
+
// As this observable is used as a Promise (with subscribe), this ensures that
|
|
33
|
+
// the operators above can be shared between each subscribe.
|
|
34
|
+
share());
|
|
35
|
+
}
|
|
36
|
+
export class AbstractPageComponent {
|
|
37
|
+
constructor(activatedRoute) {
|
|
38
|
+
this.activatedRoute = activatedRoute;
|
|
39
|
+
this._gesdemService = ServiceLocator.injector.get(GesdemHandlerService);
|
|
40
|
+
this._gesdemEventService = ServiceLocator.injector.get(GesdemEventService);
|
|
41
|
+
this._navigation = ServiceLocator.injector.get(FoehnNavigationService);
|
|
42
|
+
this._activatedRoute = ServiceLocator.injector.get(ActivatedRoute);
|
|
43
|
+
this._growlService = ServiceLocator.injector.get(GrowlBrokerService);
|
|
44
|
+
this._validationHandlerService = ServiceLocator.injector.get(ValidationHandlerService);
|
|
45
|
+
this._pendingUploadService = ServiceLocator.injector.get(PendingUploadService);
|
|
46
|
+
this._breadcrumbEventService = ServiceLocator.injector.get(BreadcrumbEventService);
|
|
47
|
+
this._foehnPageService = ServiceLocator.injector.get(FoehnPageService);
|
|
48
|
+
this._dictionaryService = ServiceLocator.injector.get(SdkDictionaryService);
|
|
49
|
+
this._currentLangSubscription = this._dictionaryService
|
|
50
|
+
.getCurrentLanguageCode()
|
|
51
|
+
.subscribe(languageCode => {
|
|
52
|
+
if (this.form) {
|
|
53
|
+
this.form.language = languageCode;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
const route = FoehnNavigationService.getRootRouteRecursive(activatedRoute.snapshot);
|
|
57
|
+
this._navigation.initRoute(route);
|
|
58
|
+
this._formInitSubscription = this._gesdemEventService
|
|
59
|
+
.formInitializationObservable()
|
|
60
|
+
.subscribe(() => {
|
|
61
|
+
this.reference =
|
|
62
|
+
this._gesdemService.lastResponse &&
|
|
63
|
+
this._gesdemService.lastResponse.meta.reference;
|
|
64
|
+
const statut = this._gesdemService.lastResponse &&
|
|
65
|
+
this._gesdemService.lastResponse.meta.statut;
|
|
66
|
+
const shouldPreventNavigationToLast = activatedRoute.snapshot.data
|
|
67
|
+
.preventNavigationToLastOnTransferred === true;
|
|
68
|
+
const languageCode = this._gesdemService.lastResponse &&
|
|
69
|
+
this._gesdemService.lastResponse.form &&
|
|
70
|
+
this._gesdemService.lastResponse.form.language;
|
|
71
|
+
this._dictionaryService.changeLanguage(languageCode);
|
|
72
|
+
if (!shouldPreventNavigationToLast &&
|
|
73
|
+
this.reference &&
|
|
74
|
+
GesdemStatutUtils.isFinal(ActionStatut[statut])) {
|
|
75
|
+
this._navigation.last();
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
// Protects the save method on the GesdemService from concurrent access.
|
|
79
|
+
this.sendForFormConcurrentSafe = getConcurrentSafeCall(() => this._gesdemService.save(this.form));
|
|
80
|
+
// Protects the transmit method on the GesdemService from concurrent access.
|
|
81
|
+
this.transmitConcurrentSafe = getConcurrentSafeCall(() => this._gesdemService.transmit());
|
|
82
|
+
}
|
|
83
|
+
ngOnInit() {
|
|
84
|
+
this.gotToTop();
|
|
85
|
+
this.form = this.newForm();
|
|
86
|
+
this._validationHandlerService.shouldDisplayErrors(false);
|
|
87
|
+
this.updateFormDataSubjectSubscription = this._gesdemService.updateFormDataSubject.subscribe(form => {
|
|
88
|
+
this.form = form;
|
|
89
|
+
this._gesdemEventService.formInitializationSubject.next(form);
|
|
90
|
+
});
|
|
91
|
+
this.attachmentsMultiUploadedSubscription = this._pendingUploadService.attachmentsUploaded.subscribe(form => {
|
|
92
|
+
this.form = form;
|
|
93
|
+
// PRESTAKIT-309: set back shouldDisplayErrors to true once files have been uploaded
|
|
94
|
+
this._validationHandlerService.shouldDisplayErrors(true);
|
|
95
|
+
this.onFormSent(true);
|
|
96
|
+
});
|
|
97
|
+
this.saveFormRequestSubscription = this._foehnPageService
|
|
98
|
+
.saveFormRequest()
|
|
99
|
+
.subscribe(() => this.send(false));
|
|
100
|
+
}
|
|
101
|
+
ngAfterViewInit() {
|
|
102
|
+
// @see https://github.com/angular/angular/issues/17572#issuecomment-323465737
|
|
103
|
+
Promise.resolve(null).then(() => {
|
|
104
|
+
this._gesdemService.require().subscribe();
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
ngOnDestroy() {
|
|
108
|
+
if (this._currentLangSubscription) {
|
|
109
|
+
this._currentLangSubscription.unsubscribe();
|
|
110
|
+
}
|
|
111
|
+
if (this.pageTitleSubscription) {
|
|
112
|
+
this.pageTitleSubscription.unsubscribe();
|
|
113
|
+
}
|
|
114
|
+
if (this.updateFormDataSubjectSubscription) {
|
|
115
|
+
this.updateFormDataSubjectSubscription.unsubscribe();
|
|
116
|
+
}
|
|
117
|
+
if (this.attachmentsSingleUploadedSubscription) {
|
|
118
|
+
this.attachmentsSingleUploadedSubscription.unsubscribe();
|
|
119
|
+
}
|
|
120
|
+
if (this.attachmentsMultiUploadedSubscription) {
|
|
121
|
+
this.attachmentsMultiUploadedSubscription.unsubscribe();
|
|
122
|
+
}
|
|
123
|
+
if (this._formInitSubscription) {
|
|
124
|
+
this._formInitSubscription.unsubscribe();
|
|
125
|
+
}
|
|
126
|
+
if (this.saveFormRequestSubscription) {
|
|
127
|
+
this.saveFormRequestSubscription.unsubscribe();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
send(goToNextPage = true) {
|
|
131
|
+
if (this._pendingUploadService.hasPendingFiles()) {
|
|
132
|
+
goToNextPage = false;
|
|
133
|
+
// PRESTAKIT-309: shouldDisplayErrors will be set back to true in 'attachmentsUploaded' subscription
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
this._validationHandlerService.shouldDisplayErrors(true);
|
|
137
|
+
}
|
|
138
|
+
this.sendForFormConcurrentSafe
|
|
139
|
+
.pipe(first())
|
|
140
|
+
.subscribe(() => this.onFormSent(goToNextPage));
|
|
141
|
+
}
|
|
142
|
+
transmit() {
|
|
143
|
+
this._validationHandlerService.shouldDisplayErrors(true);
|
|
144
|
+
this.transmitConcurrentSafe.pipe(first()).subscribe(() => {
|
|
145
|
+
if (!this._gesdemService.lastResponse.errors.length) {
|
|
146
|
+
this._gesdemEventService.formTransmittedSubject.next(this._gesdemService.lastResponse);
|
|
147
|
+
this._navigation.next();
|
|
148
|
+
}
|
|
149
|
+
}, console.error);
|
|
150
|
+
}
|
|
151
|
+
sendAndTransmit() {
|
|
152
|
+
const sentSubscription = this._gesdemEventService
|
|
153
|
+
.formSentObservable()
|
|
154
|
+
.subscribe(response => {
|
|
155
|
+
if (!response.errors.length && !response.meta.critical) {
|
|
156
|
+
if (!this.checkHasPendingsFilesBeforeTransmit()) {
|
|
157
|
+
this.transmit();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
sentSubscription.unsubscribe();
|
|
161
|
+
}, () => sentSubscription.unsubscribe());
|
|
162
|
+
this.send(false);
|
|
163
|
+
}
|
|
164
|
+
previous() {
|
|
165
|
+
this._navigation.previous();
|
|
166
|
+
}
|
|
167
|
+
setPageTitle(pageTitle) {
|
|
168
|
+
this._foehnPageService.setPageTitle(pageTitle);
|
|
169
|
+
this._breadcrumbEventService.setCurrentBreadcrumb({
|
|
170
|
+
url: null,
|
|
171
|
+
routerLink: null,
|
|
172
|
+
label: pageTitle
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
setPageTitleAsync(pageTitle) {
|
|
176
|
+
if (this.pageTitleSubscription) {
|
|
177
|
+
this.pageTitleSubscription.unsubscribe();
|
|
178
|
+
}
|
|
179
|
+
this.pageTitleSubscription = pageTitle.subscribe(title => this.setPageTitle(title));
|
|
180
|
+
}
|
|
181
|
+
onFormSent(goToNextPage) {
|
|
182
|
+
if (this.foehnFormComponent) {
|
|
183
|
+
// Some pages don't have a form.
|
|
184
|
+
this.foehnFormComponent.reset();
|
|
185
|
+
}
|
|
186
|
+
this._navigation.current().then(() => {
|
|
187
|
+
const isValid =
|
|
188
|
+
// Some pages don't have a form.
|
|
189
|
+
this.foehnFormComponent &&
|
|
190
|
+
this.foehnFormComponent.isValid() &&
|
|
191
|
+
!this._gesdemService.lastResponse.meta.critical;
|
|
192
|
+
if (isValid) {
|
|
193
|
+
this._validationHandlerService.shouldDisplayErrors(false);
|
|
194
|
+
}
|
|
195
|
+
this._gesdemEventService.formSentSubject.next(this._gesdemService.lastResponse);
|
|
196
|
+
if (isValid && goToNextPage) {
|
|
197
|
+
this._navigation.next();
|
|
198
|
+
}
|
|
199
|
+
else if (!isValid && this.foehnFormComponent) {
|
|
200
|
+
this.foehnFormComponent.focusErrorSummary();
|
|
201
|
+
}
|
|
202
|
+
}, console.error);
|
|
203
|
+
}
|
|
204
|
+
checkHasPendingsFilesBeforeTransmit() {
|
|
205
|
+
if (this._pendingUploadService.hasPendingFiles()) {
|
|
206
|
+
const multiUploadAttachmentSubscription = this._pendingUploadService.attachmentsUploaded.subscribe(() => {
|
|
207
|
+
multiUploadAttachmentSubscription.unsubscribe();
|
|
208
|
+
this.transmit();
|
|
209
|
+
});
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
gotToTop() {
|
|
215
|
+
window.scrollTo(0, 0);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
AbstractPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AbstractPageComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Directive });
|
|
219
|
+
AbstractPageComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: AbstractPageComponent, viewQueries: [{ propertyName: "foehnFormComponent", first: true, predicate: FoehnFormComponent, descendants: true, static: true }], ngImport: i0 });
|
|
220
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AbstractPageComponent, decorators: [{
|
|
221
|
+
type: Directive
|
|
222
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }]; }, propDecorators: { foehnFormComponent: [{
|
|
223
|
+
type: ViewChild,
|
|
224
|
+
args: [FoehnFormComponent, { static: true }]
|
|
225
|
+
}] } });
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGFnZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvYWJzdHJhY3QtcGFnZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFHVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBRWhHLE9BQU8sRUFBRSxvQkFBb0Is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WUFDOUMsTUFBTSxpQ0FBaUMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUM5RixHQUFHLEVBQUU7Z0JBQ0QsaUNBQWlDLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixDQUFDLENBQ0osQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sUUFBUTtRQUNaLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7O2tIQXhSaUIscUJBQXFCO3NHQUFyQixxQkFBcUIsOEVBRTVCLGtCQUFrQjsyRkFGWCxxQkFBcUI7a0JBRDFDLFNBQVM7cUdBSU4sa0JBQWtCO3NCQURqQixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4vZ2VzZGVtL2dlc2RlbS1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5OYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1mb3JtL2ZvZWhuLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlcnZpY2VMb2NhdG9yIH0gZnJvbSAnLi9zZXJ2aWNlLWxvY2F0b3InO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgR3Jvd2xCcm9rZXJTZXJ2aWNlIH0gZnJvbSAnLi9mb2Vobi1ncm93bC9ncm93bC1icm9rZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi9nZXNkZW0vZ2VzZGVtLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkV2ZW50U2VydmljZSB9IGZyb20gJy4vZm9laG4tYnJlYWRjcnVtYi9icmVhZGNydW1iLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5QYWdlU2VydmljZSB9IGZyb20gJy4vZm9laG4tcGFnZS9mb2Vobi1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZmlyc3QsIG1lcmdlTWFwLCBzaGFyZSwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWN0aW9uU3RhdHV0LCBHZXNkZW1TdGF0dXRVdGlscyB9IGZyb20gJy4vZ2VzZGVtL2dlc2RlbS1zdGF0dXQtdXRpbHMnO1xuaW1wb3J0IHsgUGVuZGluZ1VwbG9hZFNlcnZpY2UgfSBmcm9tICcuL2ZvZWhuLXVwbG9hZC9mb2Vobi1tdWx0aS11cGxvYWQvcGVuZGluZy11cGxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBJMThuRm9ybSB9IGZyb20gJy4vaTE4bi1mb3JtJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcblxuLyoqXG4gKiBFbnN1cmVzIHRoYXQgYSBjYWxsIGlzIG9ubHkgc3Vic2NyaWJlZCBhbmQgc2VuZCBvbmUgYXQgdGhlIHRpbWUuXG4gKlxuICogQHBhcmFtIGZuIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBhcyBjb25jdXJyZW50IHNhZmVcbiAqIEByZXR1cm5zIE9ic2VydmFibGVcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1hcnJvdy9wcmVmZXItYXJyb3ctZnVuY3Rpb25zXG5mdW5jdGlvbiBnZXRDb25jdXJyZW50U2FmZUNhbGw8VD4oZm46ICgpID0+IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gb2YodHJ1ZSkucGlwZShcbiAgICAgICAgLy8gVG8gZ3VhcmQgZnJvbSBkb3VibGUtY2xpY2tcbiAgICAgICAgdGhyb3R0bGVUaW1lKDIwMCksXG4gICAgICAgIC8vIGZsYXRtYXAoZm4sIDEpIGVuc3VyZXMgdGhhdCBvbmx5IG9uZSBxdWVyeSBpcyByYW4gYXQgdGhlIHNhbWUgdGltZVxuICAgICAgICBtZXJnZU1hcChmbiwgMSksXG4gICAgICAgIC8vIEFzIHRoaXMgb2JzZXJ2YWJsZSBpcyB1c2VkIGFzIGEgUHJvbWlzZSAod2l0aCBzdWJzY3JpYmUpLCB0aGlzIGVuc3VyZXMgdGhhdFxuICAgICAgICAvLyB0aGUgb3BlcmF0b3JzIGFib3ZlIGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBlYWNoIHN1YnNjcmliZS5cbiAgICAgICAgc2hhcmUoKVxuICAgICk7XG59XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0UGFnZUNvbXBvbmVudDxUIGV4dGVuZHMgSTE4bkZvcm0+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZChGb2VobkZvcm1Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgZm9laG5Gb3JtQ29tcG9uZW50OiBGb2VobkZvcm1Db21wb25lbnQ7XG5cbiAgICBmb3JtOiBUO1xuICAgIHJlZmVyZW5jZTogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIHBhZ2VUaXRsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCB1cGRhdGVGb3JtRGF0YVN1YmplY3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgYXR0YWNobWVudHNTaW5nbGVVcGxvYWRlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBhdHRhY2htZW50c011bHRpVXBsb2FkZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgc2F2ZUZvcm1SZXF1ZXN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIF9nZXNkZW1TZXJ2aWNlOiBHZXNkZW1IYW5kbGVyU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2dlc2RlbUV2ZW50U2VydmljZTogR2VzZGVtRXZlbnRTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfbmF2aWdhdGlvbjogRm9laG5OYXZpZ2F0aW9uU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcbiAgICBwcm90ZWN0ZWQgX2dyb3dsU2VydmljZTogR3Jvd2xCcm9rZXJTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfdmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlOiBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIF9icmVhZGNydW1iRXZlbnRTZXJ2aWNlOiBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfZm9laG5QYWdlU2VydmljZTogRm9laG5QYWdlU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2RpY3Rpb25hcnlTZXJ2aWNlOiBTZGtEaWN0aW9uYXJ5U2VydmljZTtcblxuICAgIHByaXZhdGUgX3BlbmRpbmdVcGxvYWRTZXJ2aWNlOiBQZW5kaW5nVXBsb2FkU2VydmljZTtcbiAgICBwcml2YXRlIF9mb3JtSW5pdFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgX2N1cnJlbnRMYW5nU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIHNlbmRGb3JGb3JtQ29uY3VycmVudFNhZmU6IE9ic2VydmFibGU8YW55PjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgdHJhbnNtaXRDb25jdXJyZW50U2FmZTogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KEdlc2RlbUhhbmRsZXJTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5fZ2VzZGVtRXZlbnRTZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFxuICAgICAgICAgICAgR2VzZGVtRXZlbnRTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb24gPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoRm9laG5OYXZpZ2F0aW9uU2VydmljZSk7XG4gICAgICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICAgICAgdGhpcy5fZ3Jvd2xTZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KEdyb3dsQnJva2VyU2VydmljZSk7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChcbiAgICAgICAgICAgIFZhbGlkYXRpb25IYW5kbGVyU2VydmljZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9wZW5kaW5nVXBsb2FkU2VydmljZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChcbiAgICAgICAgICAgIFBlbmRpbmdVcGxvYWRTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2JyZWFkY3J1bWJFdmVudFNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2ZvZWhuUGFnZVNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoRm9laG5QYWdlU2VydmljZSk7XG5cbiAgICAgICAgdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBTZGtEaWN0aW9uYXJ5U2VydmljZVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX2N1cnJlbnRMYW5nU3Vic2NyaXB0aW9uID0gdGhpcy5fZGljdGlvbmFyeVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRDdXJyZW50TGFuZ3VhZ2VDb2RlKClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUobGFuZ3VhZ2VDb2RlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5sYW5ndWFnZSA9IGxhbmd1YWdlQ29kZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCByb3V0ZSA9IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UuZ2V0Um9vdFJvdXRlUmVjdXJzaXZlKFxuICAgICAgICAgICAgYWN0aXZhdGVkUm91dGUuc25hcHNob3RcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5pbml0Um91dGUocm91dGUpO1xuICAgICAgICB0aGlzLl9mb3JtSW5pdFN1YnNjcmlwdGlvbiA9IHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZVxuICAgICAgICAgICAgLmZvcm1Jbml0aWFsaXphdGlvbk9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZlcmVuY2UgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGF0dXQgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnN0YXR1dDtcbiAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRQcmV2ZW50TmF2aWdhdGlvblRvTGFzdCA9XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LmRhdGFcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcmV2ZW50TmF2aWdhdGlvblRvTGFzdE9uVHJhbnNmZXJyZWQgPT09IHRydWU7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBsYW5ndWFnZUNvZGUgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5mb3JtICYmXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2dlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLmZvcm0ubGFuZ3VhZ2U7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5jaGFuZ2VMYW5ndWFnZShsYW5ndWFnZUNvZGUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAhc2hvdWxkUHJldmVudE5hdmlnYXRpb25Ub0xhc3QgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZlcmVuY2UgJiZcbiAgICAgICAgICAgICAgICAgICAgR2VzZGVtU3RhdHV0VXRpbHMuaXNGaW5hbChcbiAgICAgICAgICAgICAgICAgICAgICAgIEFjdGlvblN0YXR1dFtzdGF0dXQgYXMgQWN0aW9uU3RhdHV0XVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb24ubGFzdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFByb3RlY3RzIHRoZSBzYXZlIG1ldGhvZCBvbiB0aGUgR2VzZGVtU2VydmljZSBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzLlxuICAgICAgICB0aGlzLnNlbmRGb3JGb3JtQ29uY3VycmVudFNhZmUgPSBnZXRDb25jdXJyZW50U2FmZUNhbGwoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuX2dlc2RlbVNlcnZpY2Uuc2F2ZSh0aGlzLmZvcm0pXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUHJvdGVjdHMgdGhlIHRyYW5zbWl0IG1ldGhvZCBvbiB0aGUgR2VzZGVtU2VydmljZSBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzLlxuICAgICAgICB0aGlzLnRyYW5zbWl0Q29uY3VycmVudFNhZmUgPSBnZXRDb25jdXJyZW50U2FmZUNhbGwoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuX2dlc2RlbVNlcnZpY2UudHJhbnNtaXQoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdvdFRvVG9wKCk7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMubmV3Rm9ybSgpO1xuXG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3JzKGZhbHNlKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1EYXRhU3ViamVjdFN1YnNjcmlwdGlvbiA9IHRoaXMuX2dlc2RlbVNlcnZpY2UudXBkYXRlRm9ybURhdGFTdWJqZWN0LnN1YnNjcmliZShcbiAgICAgICAgICAgIGZvcm0gPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtRXZlbnRTZXJ2aWNlLmZvcm1Jbml0aWFsaXphdGlvblN1YmplY3QubmV4dChmb3JtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmF0dGFjaG1lbnRzTXVsdGlVcGxvYWRlZFN1YnNjcmlwdGlvbiA9IHRoaXMuX3BlbmRpbmdVcGxvYWRTZXJ2aWNlLmF0dGFjaG1lbnRzVXBsb2FkZWQuc3Vic2NyaWJlKFxuICAgICAgICAgICAgZm9ybSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICAgICAgICAgICAgICAvLyBQUkVTVEFLSVQtMzA5OiBzZXQgYmFjayBzaG91bGREaXNwbGF5RXJyb3JzIHRvIHRydWUgb25jZSBmaWxlcyBoYXZlIGJlZW4gdXBsb2FkZWRcbiAgICAgICAgICAgICAgICB0aGlzLl92YWxpZGF0aW9uSGFuZGxlclNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9ycyh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRm9ybVNlbnQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zYXZlRm9ybVJlcXVlc3RTdWJzY3JpcHRpb24gPSB0aGlzLl9mb2VoblBhZ2VTZXJ2aWNlXG4gICAgICAgICAgICAuc2F2ZUZvcm1SZXF1ZXN0KClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZW5kKGZhbHNlKSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE3NTcyI2lzc3VlY29tbWVudC0zMjM0NjU3MzdcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKG51bGwpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZS5yZXF1aXJlKCkuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudExhbmdTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRMYW5nU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5wYWdlVGl0bGVTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy51cGRhdGVGb3JtRGF0YVN1YmplY3RTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRm9ybURhdGFTdWJqZWN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hdHRhY2htZW50c1NpbmdsZVVwbG9hZGVkU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmF0dGFjaG1lbnRzU2luZ2xlVXBsb2FkZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmF0dGFjaG1lbnRzTXVsdGlVcGxvYWRlZFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5hdHRhY2htZW50c011bHRpVXBsb2FkZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9mb3JtSW5pdFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5fZm9ybUluaXRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNhdmVGb3JtUmVxdWVzdFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zYXZlRm9ybVJlcXVlc3RTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbmQoZ29Ub05leHRQYWdlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fcGVuZGluZ1VwbG9hZFNlcnZpY2UuaGFzUGVuZGluZ0ZpbGVzKCkpIHtcbiAgICAgICAgICAgIGdvVG9OZXh0UGFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gUFJFU1RBS0lULTMwOTogc2hvdWxkRGlzcGxheUVycm9ycyB3aWxsIGJlIHNldCBiYWNrIHRvIHRydWUgaW4gJ2F0dGFjaG1lbnRzVXBsb2FkZWQnIHN1YnNjcmlwdGlvblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlLnNob3VsZERpc3BsYXlFcnJvcnModHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZW5kRm9yRm9ybUNvbmN1cnJlbnRTYWZlXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uRm9ybVNlbnQoZ29Ub05leHRQYWdlKSk7XG4gICAgfVxuXG4gICAgdHJhbnNtaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3JzKHRydWUpO1xuICAgICAgICB0aGlzLnRyYW5zbWl0Q29uY3VycmVudFNhZmUucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtRXZlbnRTZXJ2aWNlLmZvcm1UcmFuc21pdHRlZFN1YmplY3QubmV4dChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2VcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb24ubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBjb25zb2xlLmVycm9yKTtcbiAgICB9XG5cbiAgICBzZW5kQW5kVHJhbnNtaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZVxuICAgICAgICAgICAgLmZvcm1TZW50T2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5lcnJvcnMubGVuZ3RoICYmICFyZXNwb25zZS5tZXRhLmNyaXRpY2FsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY2hlY2tIYXNQZW5kaW5nc0ZpbGVzQmVmb3JlVHJhbnNtaXQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzZW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiBzZW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zZW5kKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcmV2aW91cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5wcmV2aW91cygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXRQYWdlVGl0bGUocGFnZVRpdGxlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9laG5QYWdlU2VydmljZS5zZXRQYWdlVGl0bGUocGFnZVRpdGxlKTtcbiAgICAgICAgdGhpcy5fYnJlYWRjcnVtYkV2ZW50U2VydmljZS5zZXRDdXJyZW50QnJlYWRjcnVtYih7XG4gICAgICAgICAgICB1cmw6IG51bGwsXG4gICAgICAgICAgICByb3V0ZXJMaW5rOiBudWxsLFxuICAgICAgICAgICAgbGFiZWw6IHBhZ2VUaXRsZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0UGFnZVRpdGxlQXN5bmMocGFnZVRpdGxlOiBPYnNlcnZhYmxlPHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uID0gcGFnZVRpdGxlLnN1YnNjcmliZSh0aXRsZSA9PlxuICAgICAgICAgICAgdGhpcy5zZXRQYWdlVGl0bGUodGl0bGUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9ybVNlbnQoZ29Ub05leHRQYWdlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvZWhuRm9ybUNvbXBvbmVudCkge1xuICAgICAgICAgICAgLy8gU29tZSBwYWdlcyBkb24ndCBoYXZlIGEgZm9ybS5cbiAgICAgICAgICAgIHRoaXMuZm9laG5Gb3JtQ29tcG9uZW50LnJlc2V0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uLmN1cnJlbnQoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPVxuICAgICAgICAgICAgICAgIC8vIFNvbWUgcGFnZXMgZG9uJ3QgaGF2ZSBhIGZvcm0uXG4gICAgICAgICAgICAgICAgdGhpcy5mb2VobkZvcm1Db21wb25lbnQgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmZvZWhuRm9ybUNvbXBvbmVudC5pc1ZhbGlkKCkgJiZcbiAgICAgICAgICAgICAgICAhdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UubWV0YS5jcml0aWNhbDtcblxuICAgICAgICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92YWxpZGF0aW9uSGFuZGxlclNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9ycyhmYWxzZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZS5mb3JtU2VudFN1YmplY3QubmV4dChcbiAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGlzVmFsaWQgJiYgZ29Ub05leHRQYWdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5uZXh0KCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFpc1ZhbGlkICYmIHRoaXMuZm9laG5Gb3JtQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2VobkZvcm1Db21wb25lbnQuZm9jdXNFcnJvclN1bW1hcnkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgY29uc29sZS5lcnJvcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0hhc1BlbmRpbmdzRmlsZXNCZWZvcmVUcmFuc21pdCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuX3BlbmRpbmdVcGxvYWRTZXJ2aWNlLmhhc1BlbmRpbmdGaWxlcygpKSB7XG4gICAgICAgICAgICBjb25zdCBtdWx0aVVwbG9hZEF0dGFjaG1lbnRTdWJzY3JpcHRpb24gPSB0aGlzLl9wZW5kaW5nVXBsb2FkU2VydmljZS5hdHRhY2htZW50c1VwbG9hZGVkLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG11bHRpVXBsb2FkQXR0YWNobWVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbWl0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdvdFRvVG9wKCk6IHZvaWQge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgfVxuXG4gICAgYWJzdHJhY3QgbmV3Rm9ybSgpOiBUO1xufVxuIl19
|
|
@@ -98,9 +98,9 @@ export class NumberCurrencyFormatterDirective {
|
|
|
98
98
|
this.host.model.toString() !== newValueWithoutFormatting);
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
-
NumberCurrencyFormatterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
102
|
-
NumberCurrencyFormatterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
101
|
+
NumberCurrencyFormatterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NumberCurrencyFormatterDirective, deps: [{ token: i1.FoehnInputNumberComponent }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
102
|
+
NumberCurrencyFormatterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: NumberCurrencyFormatterDirective, selector: "[numberCurrencyFormatter]", host: { listeners: { "blur": "onBlur($event.target.value)", "focus": "onFocus($event.target.value)", "modelChange": "onModelChange($event)" } }, ngImport: i0 });
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NumberCurrencyFormatterDirective, decorators: [{
|
|
104
104
|
type: Directive,
|
|
105
105
|
args: [{ selector: '[numberCurrencyFormatter]' }]
|
|
106
106
|
}], ctorParameters: function () { return [{ type: i1.FoehnInputNumberComponent }, { type: i0.NgZone }]; }, propDecorators: { onBlur: [{
|
|
@@ -7,16 +7,16 @@ import { IbanFormatterDirective } from './iban-formatter.directive';
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class FormatterModule {
|
|
9
9
|
}
|
|
10
|
-
FormatterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11
|
-
FormatterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
10
|
+
FormatterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormatterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
FormatterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormatterModule, declarations: [NDCFormatterDirective,
|
|
12
12
|
NumberCurrencyFormatterDirective,
|
|
13
13
|
IdeFormatterDirective,
|
|
14
14
|
IbanFormatterDirective], imports: [FoehnInputModule], exports: [NDCFormatterDirective,
|
|
15
15
|
NumberCurrencyFormatterDirective,
|
|
16
16
|
IdeFormatterDirective,
|
|
17
17
|
IbanFormatterDirective] });
|
|
18
|
-
FormatterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
18
|
+
FormatterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormatterModule, imports: [[FoehnInputModule]] });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormatterModule, decorators: [{
|
|
20
20
|
type: NgModule,
|
|
21
21
|
args: [{
|
|
22
22
|
imports: [FoehnInputModule],
|
|
@@ -17,9 +17,9 @@ export class IbanFormatterDirective {
|
|
|
17
17
|
return iban.printFormat(value, ' ');
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
IbanFormatterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
21
|
-
IbanFormatterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
20
|
+
IbanFormatterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: IbanFormatterDirective, deps: [{ token: i1.FoehnInputTextComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
+
IbanFormatterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: IbanFormatterDirective, selector: "[ibanFormatter]", host: { listeners: { "blur": "onBlur($event.target.value)" } }, ngImport: i0 });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: IbanFormatterDirective, decorators: [{
|
|
23
23
|
type: Directive,
|
|
24
24
|
args: [{ selector: '[ibanFormatter]' }]
|
|
25
25
|
}], ctorParameters: function () { return [{ type: i1.FoehnInputTextComponent }]; }, propDecorators: { onBlur: [{
|
|
@@ -26,9 +26,9 @@ export class IdeFormatterDirective {
|
|
|
26
26
|
return trimmedValue.replace(new RegExp(IDE_PATTERN, 'g'), 'CHE-$1.$2.$3');
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
IdeFormatterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
30
|
-
IdeFormatterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
29
|
+
IdeFormatterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: IdeFormatterDirective, deps: [{ token: i1.FoehnInputTextComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
+
IdeFormatterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: IdeFormatterDirective, selector: "[ideFormatter]", host: { listeners: { "blur": "onBlur($event.target.value)" } }, ngImport: i0 });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: IdeFormatterDirective, decorators: [{
|
|
32
32
|
type: Directive,
|
|
33
33
|
args: [{ selector: '[ideFormatter]' }]
|
|
34
34
|
}], ctorParameters: function () { return [{ type: i1.FoehnInputTextComponent }]; }, propDecorators: { onBlur: [{
|
|
@@ -64,9 +64,9 @@ export class NDCFormatterDirective {
|
|
|
64
64
|
return digits.replace(new RegExp(NO_CONTRIB_PATTERN_WITH_TWO_DOTS, 'g'), '$1.$2.$3');
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
NDCFormatterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
68
|
-
NDCFormatterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
67
|
+
NDCFormatterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NDCFormatterDirective, deps: [{ token: i1.FoehnInputTextComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
68
|
+
NDCFormatterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: NDCFormatterDirective, selector: "[ndcFormatter]", host: { listeners: { "blur": "onBlur($event.target.value)" } }, ngImport: i0 });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NDCFormatterDirective, decorators: [{
|
|
70
70
|
type: Directive,
|
|
71
71
|
args: [{ selector: '[ndcFormatter]' }]
|
|
72
72
|
}], ctorParameters: function () { return [{ type: i1.FoehnInputTextComponent }]; }, propDecorators: { onBlur: [{
|
|
File without changes
|
|
File without changes
|
|
@@ -11,8 +11,8 @@ import { FoehnValidationAlertsModule } from '../foehn-validation-alerts/foehn-va
|
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
export class FoehnAddressModule {
|
|
13
13
|
}
|
|
14
|
-
FoehnAddressModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
15
|
-
FoehnAddressModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
14
|
+
FoehnAddressModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnAddressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
+
FoehnAddressModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnAddressModule, declarations: [FoehnInputAddressComponent,
|
|
16
16
|
FoehnDisplayAddressComponent,
|
|
17
17
|
FoehnInputForeignLocalityComponent,
|
|
18
18
|
FoehnInputForeignStreetComponent], imports: [CommonModule,
|
|
@@ -23,14 +23,14 @@ FoehnAddressModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
|
|
|
23
23
|
FoehnDisplayAddressComponent,
|
|
24
24
|
FoehnInputForeignLocalityComponent,
|
|
25
25
|
FoehnInputForeignStreetComponent] });
|
|
26
|
-
FoehnAddressModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
26
|
+
FoehnAddressModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnAddressModule, imports: [[
|
|
27
27
|
CommonModule,
|
|
28
28
|
SdkDictionaryModule,
|
|
29
29
|
FoehnAutocompleteModule,
|
|
30
30
|
FoehnInputModule,
|
|
31
31
|
FoehnValidationAlertsModule
|
|
32
32
|
]] });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnAddressModule, decorators: [{
|
|
34
34
|
type: NgModule,
|
|
35
35
|
args: [{
|
|
36
36
|
imports: [
|