@dsivd/prestations-ng 17.0.0-beta.3 → 17.0.0-beta.5
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 +30 -1
- package/UPGRADING_V17.md +30 -21
- package/dsivd-prestations-ng-17.0.0-beta.5.tgz +0 -0
- package/esm2022/abstract-page-component.mjs +10 -6
- package/esm2022/directives/currency-formatter.directive.mjs +3 -3
- package/esm2022/directives/formatter.module.mjs +4 -4
- package/esm2022/directives/iban-formatter.directive.mjs +3 -3
- package/esm2022/directives/ide-formatter.directive.mjs +3 -3
- package/esm2022/directives/ndc-formatter.directive.mjs +3 -3
- package/esm2022/foehn-address/foehn-address.module.mjs +4 -4
- package/esm2022/foehn-address/foehn-display-address.component.mjs +3 -3
- package/esm2022/foehn-address/foehn-input-address.component.mjs +9 -5
- package/esm2022/foehn-address/foehn-input-foreign-locality.component.mjs +3 -3
- package/esm2022/foehn-address/foehn-input-foreign-street.component.mjs +3 -3
- package/esm2022/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +3 -3
- package/esm2022/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +3 -3
- package/esm2022/foehn-agenda/foehn-agenda.component.mjs +3 -3
- package/esm2022/foehn-agenda/foehn-agenda.module.mjs +4 -4
- package/esm2022/foehn-autocomplete/foehn-autocomplete.component.mjs +3 -3
- package/esm2022/foehn-autocomplete/foehn-autocomplete.module.mjs +4 -4
- package/esm2022/foehn-boolean/foehn-boolean-checkbox.component.mjs +3 -3
- package/esm2022/foehn-boolean/foehn-boolean-radio.component.mjs +3 -3
- package/esm2022/foehn-boolean/foehn-boolean.module.mjs +4 -4
- package/esm2022/foehn-breadcrumb/breadcrumb-event.service.mjs +24 -17
- package/esm2022/foehn-breadcrumb/foehn-breadcrumb.component.mjs +3 -3
- package/esm2022/foehn-breadcrumb/foehn-breadcrumb.module.mjs +4 -4
- package/esm2022/foehn-checkables/foehn-checkable-group.component.mjs +3 -3
- package/esm2022/foehn-checkables/foehn-checkables.module.mjs +4 -4
- package/esm2022/foehn-checkables/foehn-checkbox.component.mjs +3 -3
- package/esm2022/foehn-checkables/foehn-radio.component.mjs +3 -3
- package/esm2022/foehn-checkables/foehn-select.component.mjs +3 -3
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal.component.mjs +3 -3
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal.module.mjs +4 -4
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal.service.mjs +3 -3
- package/esm2022/foehn-date-picker/foehn-date-picker.component.mjs +3 -3
- package/esm2022/foehn-date-picker/foehn-date-picker.module.mjs +4 -4
- package/esm2022/foehn-date-picker-button/foehn-date-picker-button.component.mjs +3 -3
- package/esm2022/foehn-date-picker-button/foehn-date-picker-button.module.mjs +4 -4
- package/esm2022/foehn-debug-summary/foehn-debug-summary.component.mjs +3 -3
- package/esm2022/foehn-debug-summary/foehn-debug-summary.component.module.mjs +4 -4
- package/esm2022/foehn-decision-electronique/foehn-decision-electronique.component.mjs +3 -3
- package/esm2022/foehn-decision-electronique/foehn-decision-electronique.module.mjs +4 -4
- package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.component.mjs +3 -3
- package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.module.mjs +4 -4
- package/esm2022/foehn-footer/foehn-footer.component.mjs +3 -3
- package/esm2022/foehn-footer/foehn-footer.module.mjs +4 -4
- package/esm2022/foehn-form/foehn-form.component.mjs +3 -3
- package/esm2022/foehn-form/foehn-form.module.mjs +4 -4
- package/esm2022/foehn-form/register-ng-model.service.mjs +3 -3
- package/esm2022/foehn-growl/foehn-growl.component.mjs +3 -3
- package/esm2022/foehn-growl/foehn-growl.module.mjs +4 -4
- package/esm2022/foehn-growl/growl-broker.service.mjs +3 -3
- package/esm2022/foehn-header/foehn-header.component.mjs +3 -3
- package/esm2022/foehn-header/foehn-header.module.mjs +4 -4
- package/esm2022/foehn-header/foehn-skip-link.component.mjs +3 -3
- package/esm2022/foehn-help-modal/foehn-help-modal.component.mjs +3 -3
- package/esm2022/foehn-help-modal/foehn-help-modal.module.mjs +4 -4
- package/esm2022/foehn-icons/abstract-icon-component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-calendar.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-check-square-o.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-check.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-chevron-down.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-chevron-left.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-chevron-right.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-chevron-up.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-clock.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-comment-dots.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-edit.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-external-link-alt.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-file-pdf.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-info-circle.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-lock.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-map-marker.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-minus-circle.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-pencil.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-plus-circle.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-plus-square.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-search.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-times.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-trash-alt.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-unlock-alt.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icon-user.component.mjs +3 -3
- package/esm2022/foehn-icons/foehn-icons.module.mjs +4 -4
- package/esm2022/foehn-input/foehn-input-email.component.mjs +3 -3
- package/esm2022/foehn-input/foehn-input-hidden.component.mjs +3 -3
- package/esm2022/foehn-input/foehn-input-number.component.mjs +3 -3
- package/esm2022/foehn-input/foehn-input-password.component.mjs +3 -3
- package/esm2022/foehn-input/foehn-input-phone.component.mjs +3 -3
- package/esm2022/foehn-input/foehn-input-prefixed-text.component.mjs +3 -3
- package/esm2022/foehn-input/foehn-input-string.component.mjs +3 -3
- package/esm2022/foehn-input/foehn-input-text.component.mjs +3 -3
- package/esm2022/foehn-input/foehn-input-textarea.component.mjs +3 -3
- package/esm2022/foehn-input/foehn-input.component.mjs +3 -3
- package/esm2022/foehn-input/foehn-input.module.mjs +4 -4
- package/esm2022/foehn-input-date/foehn-input-date.component.mjs +3 -3
- package/esm2022/foehn-input-date-time/foehn-input-date-time.component.mjs +3 -3
- package/esm2022/foehn-input-time/foehn-input-time.component.mjs +6 -6
- package/esm2022/foehn-list/foehn-list.component.mjs +3 -3
- package/esm2022/foehn-list/foehn-list.module.mjs +4 -4
- package/esm2022/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +3 -3
- package/esm2022/foehn-menu-prestation/abstract-menu-page.component.mjs +3 -3
- package/esm2022/foehn-menu-prestation/abstract-page-from-menu.component.mjs +3 -3
- package/esm2022/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +3 -3
- package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +3 -3
- package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +3 -3
- package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +3 -3
- package/esm2022/foehn-menu-prestation/foehn-menu-prestation.module.mjs +4 -4
- package/esm2022/foehn-misc/foehn-abbr.component.mjs +3 -3
- package/esm2022/foehn-misc/foehn-misc.module.mjs +4 -4
- package/esm2022/foehn-modal/foehn-modal.component.mjs +3 -3
- package/esm2022/foehn-modal/foehn-modal.module.mjs +4 -4
- package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +3 -3
- package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +4 -4
- package/esm2022/foehn-nav13/foehn-input-nav13.component.mjs +3 -3
- package/esm2022/foehn-nav13/foehn-input-nav13.module.mjs +4 -4
- package/esm2022/foehn-navigation/abstract-foehn-navigation.component.mjs +3 -3
- package/esm2022/foehn-navigation/foehn-navigation/foehn-navigation.component.mjs +3 -3
- package/esm2022/foehn-navigation/foehn-navigation.module.mjs +4 -4
- package/esm2022/foehn-navigation/foehn-navigation.service.mjs +3 -3
- package/esm2022/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.mjs +3 -3
- package/esm2022/foehn-notfound/foehn-notfound.component.mjs +3 -3
- package/esm2022/foehn-notfound/foehn-notfound.module.mjs +4 -4
- package/esm2022/foehn-page/foehn-page-counter.component.mjs +3 -3
- package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.mjs +3 -3
- package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration.service.mjs +3 -3
- package/esm2022/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.mjs +3 -3
- package/esm2022/foehn-page/foehn-page-modal.component.mjs +3 -3
- package/esm2022/foehn-page/foehn-page-modal.service.mjs +3 -3
- package/esm2022/foehn-page/foehn-page.component.mjs +3 -3
- package/esm2022/foehn-page/foehn-page.module.mjs +4 -4
- package/esm2022/foehn-page/foehn-page.service.mjs +3 -3
- package/esm2022/foehn-page/foehn-transmit-waiting-modal/demande-transmit-interceptor.mjs +3 -3
- package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.component.mjs +3 -3
- package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.service.mjs +3 -3
- package/esm2022/foehn-recap-section/foehn-recap-section.component.mjs +3 -3
- package/esm2022/foehn-recap-section/foehn-recap-section.module.mjs +4 -4
- package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs +3 -3
- package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs +4 -4
- package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +3 -3
- package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +4 -4
- package/esm2022/foehn-table/foehn-table.component.mjs +3 -3
- package/esm2022/foehn-table/foehn-table.module.mjs +4 -4
- package/esm2022/foehn-upload/abstract-foehn-uploader.component.mjs +3 -3
- package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +3 -3
- package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +3 -3
- package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +4 -4
- package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +3 -3
- package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +4 -4
- package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +3 -3
- package/esm2022/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +8 -6
- package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +3 -3
- package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +4 -4
- package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +3 -3
- package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +4 -4
- package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +3 -3
- package/esm2022/foehn-upload/page-upload-limit.service.mjs +3 -3
- package/esm2022/foehn-user-connected-as/foehn-user-connected-as.component.mjs +3 -3
- package/esm2022/foehn-user-connected-as/foehn-user-connected-as.module.mjs +4 -4
- package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +3 -3
- package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +4 -4
- package/esm2022/foehn-validation-alerts/foehn-validation-alerts.component.mjs +3 -3
- package/esm2022/foehn-validation-alerts/foehn-validation-alerts.module.mjs +4 -4
- package/esm2022/gesdem/gesdem-error-handler.service.mjs +5 -4
- package/esm2022/gesdem/gesdem-event.service.mjs +3 -3
- package/esm2022/gesdem/gesdem-handler.service.mjs +11 -5
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +3 -3
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +3 -3
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery.module.mjs +4 -4
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery.service.mjs +3 -3
- package/esm2022/gesdem-confirmation/gesdem-confirmation.component.mjs +17 -13
- package/esm2022/gesdem-confirmation/gesdem-confirmation.module.mjs +4 -4
- package/esm2022/gesdem-error/gesdem-error.component.mjs +8 -6
- package/esm2022/gesdem-error/gesdem-error.module.mjs +4 -4
- package/esm2022/pipes/currency.pipe.mjs +3 -3
- package/esm2022/pipes/date.pipe.mjs +3 -3
- package/esm2022/pipes/formatIde.pipe.mjs +3 -3
- package/esm2022/pipes/pipes.module.mjs +4 -4
- package/esm2022/prestations-ng-core.module.mjs +4 -4
- package/esm2022/sdk-appinfo/application-info.mjs +7 -1
- package/esm2022/sdk-appinfo/application-info.service.mjs +24 -6
- package/esm2022/sdk-currency/currency.helper.mjs +3 -3
- package/esm2022/sdk-date/date.helper.mjs +3 -3
- package/esm2022/sdk-dictionary/default-dictionary.mjs +6 -3
- package/esm2022/sdk-dictionary/sdk-dictionary.module.mjs +4 -4
- package/esm2022/sdk-dictionary/sdk-dictionary.pipe.mjs +3 -3
- package/esm2022/sdk-dictionary/sdk-dictionary.service.mjs +3 -3
- package/esm2022/sdk-drafts/drafts-container.component.mjs +3 -3
- package/esm2022/sdk-drafts/drafts.module.mjs +4 -4
- package/esm2022/sdk-drafts/drafts.service.mjs +3 -3
- package/esm2022/sdk-epayment/sdk-epayment.component.mjs +3 -3
- package/esm2022/sdk-epayment/sdk-epayment.module.mjs +4 -4
- package/esm2022/sdk-epayment/sdk-epayment.service.mjs +3 -3
- package/esm2022/sdk-events-logger/sdk-events-logger.service.mjs +3 -3
- package/esm2022/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs +3 -3
- package/esm2022/sdk-recaptcha/recaptcha.service.mjs +3 -3
- package/esm2022/sdk-recaptcha/sdk-recaptcha.component.mjs +3 -3
- package/esm2022/sdk-recaptcha/sdk-recaptcha.module.mjs +4 -4
- package/esm2022/sdk-redirect/iam-expired-interceptor.service.mjs +7 -9
- package/esm2022/sdk-redirect/redirect.component.mjs +27 -16
- package/esm2022/sdk-redirect/sdk-redirect.module.mjs +4 -4
- package/esm2022/sdk-session-info/session-info-with-application.service.mjs +3 -3
- package/esm2022/sdk-session-info/session-info.service.mjs +3 -3
- package/esm2022/sdk-statistics/sdk-statistics.service.mjs +3 -3
- package/esm2022/sdk-support-alert/support-alert-container.component.mjs +3 -3
- package/esm2022/sdk-support-alert/support-alert.component.mjs +3 -3
- package/esm2022/sdk-support-alert/support-alert.module.mjs +4 -4
- package/esm2022/sdk-support-alert/support-alert.service.mjs +3 -3
- package/esm2022/supported-browser.mjs +2 -2
- package/esm2022/validation/validation-handler.service.mjs +3 -3
- package/fesm2022/dsivd-prestations-ng.mjs +958 -896
- package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
- package/foehn-address/foehn-input-address.component.d.ts +2 -1
- package/foehn-breadcrumb/breadcrumb-event.service.d.ts +3 -1
- package/gesdem/gesdem-error-handler.service.d.ts +1 -0
- package/gesdem/gesdem-handler.service.d.ts +1 -1
- package/gesdem-confirmation/gesdem-confirmation.component.d.ts +2 -0
- package/gesdem-error/gesdem-error.component.d.ts +1 -0
- package/package.json +1 -1
- package/sdk-appinfo/application-info.d.ts +3 -2
- package/sdk-redirect/redirect.component.d.ts +4 -2
- package/dsivd-prestations-ng-17.0.0-beta.3.tgz +0 -0
|
@@ -113,10 +113,10 @@ export class FoehnTableComponent {
|
|
|
113
113
|
const start = (this.currentPage - 1) * this.itemsPerPage;
|
|
114
114
|
this.filteredList = this._list.slice(start, start + this.itemsPerPage);
|
|
115
115
|
}
|
|
116
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
117
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FoehnTableComponent, selector: "foehn-table", inputs: { itemsPerPage: "itemsPerPage", id: "id", previousLabel: "previousLabel", nextLabel: "nextLabel", totalElements: "totalElements", fixedPageCount: "fixedPageCount", columnsConfiguration: "columnsConfiguration", sort: "sort", list: "list", trackByFn: "trackByFn" }, outputs: { pageChange: "pageChange", sortChange: "sortChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <thead class=\"vd-bg-pattern-bars-gray\">\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <td\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: red\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.iconGetter\">\n <span\n *ngIf=\"col.iconGetter(item) as iconDef\"\n class=\"cell-vertical-align-middle me-2\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [icon]=\"iconDef.icon\"\n [title]=\"iconDef.label\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{ iconDef.label }}\n </span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.template\">\n <ng-template\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{\n item: item,\n index: index\n }\"\n ></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!col.template\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}.cell-vertical-align-middle{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FoehnIconChevronDownComponent, selector: "foehn-icon-chevron-down" }, { kind: "component", type: i3.FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { kind: "component", type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i5.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: i6.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "pipe", type: i7.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
116
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
117
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FoehnTableComponent, selector: "foehn-table", inputs: { itemsPerPage: "itemsPerPage", id: "id", previousLabel: "previousLabel", nextLabel: "nextLabel", totalElements: "totalElements", fixedPageCount: "fixedPageCount", columnsConfiguration: "columnsConfiguration", sort: "sort", list: "list", trackByFn: "trackByFn" }, outputs: { pageChange: "pageChange", sortChange: "sortChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <thead class=\"vd-bg-pattern-bars-gray\">\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <td\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: red\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.iconGetter\">\n <span\n *ngIf=\"col.iconGetter(item) as iconDef\"\n class=\"cell-vertical-align-middle me-2\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [icon]=\"iconDef.icon\"\n [title]=\"iconDef.label\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{ iconDef.label }}\n </span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.template\">\n <ng-template\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{\n item: item,\n index: index\n }\"\n ></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!col.template\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}.cell-vertical-align-middle{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FoehnIconChevronDownComponent, selector: "foehn-icon-chevron-down" }, { kind: "component", type: i3.FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { kind: "component", type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i5.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: i6.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "pipe", type: i7.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
118
118
|
}
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnTableComponent, decorators: [{
|
|
120
120
|
type: Component,
|
|
121
121
|
args: [{ selector: 'foehn-table', template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <thead class=\"vd-bg-pattern-bars-gray\">\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <td\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: red\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.iconGetter\">\n <span\n *ngIf=\"col.iconGetter(item) as iconDef\"\n class=\"cell-vertical-align-middle me-2\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [icon]=\"iconDef.icon\"\n [title]=\"iconDef.label\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{ iconDef.label }}\n </span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.template\">\n <ng-template\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{\n item: item,\n index: index\n }\"\n ></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!col.template\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}.cell-vertical-align-middle{vertical-align:middle}\n"] }]
|
|
122
122
|
}], propDecorators: { itemsPerPage: [{
|
|
@@ -6,17 +6,17 @@ import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
|
|
|
6
6
|
import { FoehnTableComponent } from './foehn-table.component';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class FoehnTableModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: FoehnTableModule, declarations: [FoehnTableComponent], imports: [CommonModule,
|
|
11
11
|
FoehnIconsModule,
|
|
12
12
|
SdkDictionaryModule,
|
|
13
13
|
RouterModule], exports: [FoehnTableComponent] }); }
|
|
14
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
14
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnTableModule, imports: [CommonModule,
|
|
15
15
|
FoehnIconsModule,
|
|
16
16
|
SdkDictionaryModule,
|
|
17
17
|
RouterModule] }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnTableModule, decorators: [{
|
|
20
20
|
type: NgModule,
|
|
21
21
|
args: [{
|
|
22
22
|
imports: [
|
|
@@ -178,10 +178,10 @@ export class AbstractFoehnUploaderComponent extends FoehnInputComponent {
|
|
|
178
178
|
}
|
|
179
179
|
return false;
|
|
180
180
|
}
|
|
181
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
182
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
181
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AbstractFoehnUploaderComponent, deps: [{ token: i1.ApplicationInfoService }, { token: i2.FoehnConfirmModalService }, { token: i3.SdkDictionaryService }, { token: i4.GrowlBrokerService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
182
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: AbstractFoehnUploaderComponent, inputs: { required: "required", dragAndDrop: "dragAndDrop", showUploadButton: "showUploadButton", readonly: "readonly", hideGlobalInfos: "hideGlobalInfos", multiple: "multiple", key: "key", chooseButtonLabel: "chooseButtonLabel", chooseButtonLabelMultiple: "chooseButtonLabelMultiple", dropZoneLabel: "dropZoneLabel", dropZoneLabelMultiple: "dropZoneLabelMultiple", overrideAcceptedExtensions: "overrideAcceptedExtensions", overrideMaxFileNameLength: "overrideMaxFileNameLength", overrideIllegalCharacters: "overrideIllegalCharacters", showDeleteConfirmationMessage: "showDeleteConfirmationMessage", deleteConfirmationMessage: "deleteConfirmationMessage", maxSimultaneousSelectedFiles: "maxSimultaneousSelectedFiles", shouldDisplayFileSavedConfirmation: "shouldDisplayFileSavedConfirmation", maxFilesCount: "maxFilesCount", maxFilesSizeInMo: "maxFilesSizeInMo" }, host: { listeners: { "window:dragover": "onDocumentDragOver($event)", "window:dragleave": "onDocumentDragLeave($event)", "window:drop": "onDocumentDrop($event)" } }, usesInheritance: true, ngImport: i0 }); }
|
|
183
183
|
}
|
|
184
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AbstractFoehnUploaderComponent, decorators: [{
|
|
185
185
|
type: Directive
|
|
186
186
|
}], ctorParameters: () => [{ type: i1.ApplicationInfoService }, { type: i2.FoehnConfirmModalService }, { type: i3.SdkDictionaryService }, { type: i4.GrowlBrokerService }], propDecorators: { required: [{
|
|
187
187
|
type: Input
|
|
@@ -112,10 +112,10 @@ export class BoMultiUploadService {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
116
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BoMultiUploadService, deps: [{ token: i1.HttpClient }, { token: i2.GrowlBrokerService }, { token: i3.ApplicationInfoService }, { token: i4.SdkDictionaryService }, { token: i5.UploadProgressService }, { token: i6.IamExpiredInterceptorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
116
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BoMultiUploadService, providedIn: 'root' }); }
|
|
117
117
|
}
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BoMultiUploadService, decorators: [{
|
|
119
119
|
type: Injectable,
|
|
120
120
|
args: [{
|
|
121
121
|
providedIn: 'root'
|
|
@@ -161,8 +161,8 @@ export class FoehnBoMultiUploadComponent extends AbstractFoehnUploaderComponent
|
|
|
161
161
|
// Then we ensure we take only one file from current selection
|
|
162
162
|
return files.slice(0, 1);
|
|
163
163
|
}
|
|
164
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
165
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
164
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBoMultiUploadComponent, deps: [{ token: i1.BoMultiUploadService }, { token: i2.ApplicationInfoService }, { token: i3.FoehnConfirmModalService }, { token: i4.SdkDictionaryService }, { token: i5.GrowlBrokerService }, { token: i6.PageUploadLimitService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
165
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FoehnBoMultiUploadComponent, selector: "foehn-bo-multi-upload", inputs: { uploadUrl: "uploadUrl", deleteUrl: "deleteUrl", downloadUrl: "downloadUrl" }, outputs: { documentDeleted: "documentDeleted" }, providers: [
|
|
166
166
|
{
|
|
167
167
|
provide: FoehnInputComponent,
|
|
168
168
|
useExisting: forwardRef(() => FoehnBoMultiUploadComponent),
|
|
@@ -172,7 +172,7 @@ export class FoehnBoMultiUploadComponent extends AbstractFoehnUploaderComponent
|
|
|
172
172
|
{ provide: UploadProgressService, useClass: UploadProgressService }
|
|
173
173
|
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group container-box\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [class.drop-zone-highlight]=\"showDropZone\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n (drop)=\"onDrop($event)\"\n (dragenter)=\"onDragenter($event)\"\n (dragleave)=\"onDragleave($event)\"\n (dragover)=\"onDragover($event)\"\n #fallBackTrigger\n>\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-validation-alerts\n [component]=\"this\"\n [shouldErrorsBeLive]=\"hasLiveUploadErrors()\"\n ></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <!-- PRESTAKIT-309: Fake input with NgModel to be registered into Form controls -->\n <input type=\"hidden\" [name]=\"name || label\" [ngModel]=\"model\" />\n\n <ng-content></ng-content>\n\n <div\n *ngFor=\"let document of model; trackBy: trackByDocument\"\n class=\"file file-uploaded\"\n >\n <!-- prettier-ignore -->\n <a [href]=\"boMultiUploadService.getDownloadUrl(downloadUrl, document)\">{{ document.filename }}</a>\n <span class=\"ms-1 me-1\">\n ({{ toMegaOctets(document.fileSize) }}\n <abbr\n [title]=\"'foehn-uploader.abbr-megaoctet-title' | fromDictionary\"\n >\n {{ 'foehn-uploader.abbr-megaoctet' | fromDictionary }}\n </abbr>\n )\n </span>\n <button\n *ngIf=\"!readonly\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n type=\"button\"\n class=\"btn btn-link icon-button delete-uploaded\"\n (click)=\"removeFile(document)\"\n >\n <foehn-icon-times\n [title]=\"\n 'foehn-uploader.delete-icon-title'\n | fromDictionary: { docName: document.filename }\n \"\n ></foehn-icon-times>\n </button>\n </div>\n\n <small\n class=\"form-text text-secondary uploaded-global-info\"\n *ngIf=\"showGlobalInfos(model)\"\n [innerHTML]=\"getGlobalInfos(model)\"\n ></small>\n\n <ng-container *ngIf=\"canAddMoreFiles()\">\n <input\n class=\"form-control actual-input\"\n type=\"file\"\n [name]=\"name || label\"\n [multiple]=\"multiple\"\n [attr.accept]=\"\n overrideAcceptedExtensions\n ? overrideAcceptedExtensions\n : uploaderHelper.accept\n ? uploaderHelper.accept\n : null\n \"\n (change)=\"onFileChange($event)\"\n #inputFile\n />\n\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [ngClass]=\"{ 'visually-hidden': !showUploadButton }\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-describedby]=\"buildId('ErrorsContainer')\"\n (click)=\"inputFile.click()\"\n #entryComponent\n >\n {{ multiple ? chooseButtonLabelMultiple : chooseButtonLabel }}\n </button>\n\n <div\n *ngIf=\"dragAndDrop && !disabled\"\n aria-hidden=\"true\"\n class=\"dropfile\"\n [class.dropfile-border-transparent]=\"showDropZone\"\n (click)=\"inputFile.click()\"\n >\n {{ multiple ? dropZoneLabelMultiple : dropZoneLabel }}\n </div>\n </ng-container>\n\n <foehn-upload-progress-bar\n [progressBarTriggerHtmlElement]=\"\n inputElement?.nativeElement || fallBackTrigger\n \"\n ></foehn-upload-progress-bar>\n</div>\n", styles: [".dropfile{width:300px;border:3px dashed #bbb;text-align:center;margin-top:10px;cursor:pointer;padding:15px 3px}.dropfile-border-transparent{border-color:#fff}.actual-input{display:none}.file-list{margin-top:20px}.icon-button{border:0}.icon-button:hover{cursor:pointer}:host ::ng-deep .svg-inline--fa{color:#000!important}.drop-zone-highlight{outline:3px dashed #bbb}.container-box{border:1px solid #ededed;background-color:#fbfbfb;padding:.5rem}.container-box.vd-form-group-danger{border-left:5px solid var(--vd-danger);padding-left:1rem}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.FoehnIconTimesComponent, selector: "foehn-icon-times" }, { kind: "component", type: i9.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i11.FoehnUploadProgressBarComponent, selector: "foehn-upload-progress-bar", inputs: ["progressBarTriggerHtmlElement"] }, { kind: "pipe", type: i12.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
174
174
|
}
|
|
175
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBoMultiUploadComponent, decorators: [{
|
|
176
176
|
type: Component,
|
|
177
177
|
args: [{ selector: 'foehn-bo-multi-upload', providers: [
|
|
178
178
|
{
|
|
@@ -8,21 +8,21 @@ import { FoehnUploadProgressBarModule } from '../foehn-upload-progress-bar/foehn
|
|
|
8
8
|
import { FoehnBoMultiUploadComponent } from './foehn-bo-multi-upload.component';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export class FoehnBoMultiUploadModule {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
12
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBoMultiUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: FoehnBoMultiUploadModule, declarations: [FoehnBoMultiUploadComponent], imports: [CommonModule,
|
|
13
13
|
FoehnIconsModule,
|
|
14
14
|
FoehnValidationAlertsModule,
|
|
15
15
|
SdkDictionaryModule,
|
|
16
16
|
FormsModule,
|
|
17
17
|
FoehnUploadProgressBarModule], exports: [FoehnBoMultiUploadComponent] }); }
|
|
18
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
18
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBoMultiUploadModule, imports: [CommonModule,
|
|
19
19
|
FoehnIconsModule,
|
|
20
20
|
FoehnValidationAlertsModule,
|
|
21
21
|
SdkDictionaryModule,
|
|
22
22
|
FormsModule,
|
|
23
23
|
FoehnUploadProgressBarModule] }); }
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnBoMultiUploadModule, decorators: [{
|
|
26
26
|
type: NgModule,
|
|
27
27
|
args: [{
|
|
28
28
|
imports: [
|
|
@@ -217,8 +217,8 @@ export class FoehnMultiUploadComponent extends AbstractFoehnUploaderComponent {
|
|
|
217
217
|
// Then we ensure we take only one file from current selection
|
|
218
218
|
return files.slice(0, 1);
|
|
219
219
|
}
|
|
220
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
221
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
220
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnMultiUploadComponent, deps: [{ token: i1.MultiUploadService }, { token: i2.PendingUploadService }, { token: i3.ApplicationInfoService }, { token: i4.FoehnConfirmModalService }, { token: i5.SdkDictionaryService }, { token: i6.GrowlBrokerService }, { token: i7.PageUploadLimitService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
221
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FoehnMultiUploadComponent, selector: "foehn-multi-upload", inputs: { url: "url", reference: "reference" }, providers: [
|
|
222
222
|
{
|
|
223
223
|
provide: FoehnInputComponent,
|
|
224
224
|
useExisting: forwardRef(() => FoehnMultiUploadComponent),
|
|
@@ -228,7 +228,7 @@ export class FoehnMultiUploadComponent extends AbstractFoehnUploaderComponent {
|
|
|
228
228
|
{ provide: UploadProgressService, useClass: UploadProgressService }
|
|
229
229
|
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group container-box\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [class.drop-zone-highlight]=\"showDropZone\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n (drop)=\"onDrop($event)\"\n (dragenter)=\"onDragenter($event)\"\n (dragleave)=\"onDragleave($event)\"\n (dragover)=\"onDragover($event)\"\n #fallBackTrigger\n>\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-validation-alerts\n [component]=\"this\"\n [shouldErrorsBeLive]=\"hasLiveUploadErrors()\"\n ></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <!-- PRESTAKIT-309: Fake input with NgModel to be registered into Form controls -->\n <input type=\"hidden\" [name]=\"name || label\" [ngModel]=\"model\" />\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"reference\">\n <div\n *ngFor=\"let document of model; trackBy: trackByDocument\"\n class=\"file file-uploaded\"\n >\n <!-- prettier-ignore -->\n <a [href]=\"multiUploadService.getDownloadUrl(url, document)\">{{ document.filename }}</a>\n <span class=\"ms-1 me-1\">\n ({{ toMegaOctets(document.fileSize) }}\n <abbr\n [title]=\"\n 'foehn-uploader.abbr-megaoctet-title' | fromDictionary\n \"\n >\n {{ 'foehn-uploader.abbr-megaoctet' | fromDictionary }}\n </abbr>\n )\n </span>\n <button\n *ngIf=\"!readonly\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n type=\"button\"\n class=\"btn btn-link icon-button delete-uploaded\"\n (click)=\"removeFile(document)\"\n >\n <foehn-icon-times\n [title]=\"\n 'foehn-uploader.delete-icon-title'\n | fromDictionary: { docName: document.filename }\n \"\n ></foehn-icon-times>\n </button>\n </div>\n\n <small\n class=\"form-text text-secondary uploaded-global-info\"\n *ngIf=\"showGlobalInfos(model)\"\n [innerHTML]=\"getGlobalInfos(model)\"\n ></small>\n </ng-container>\n\n <ng-container *ngIf=\"!reference\">\n <div\n *ngFor=\"let pending of pendingFiles; trackBy: trackByPending\"\n class=\"file file-pending\"\n >\n <span>{{ pending.name }}</span>\n <span class=\"ms-1 me-1\">\n ({{ toMegaOctets(pending.size) }}\n <abbr\n [title]=\"\n 'foehn-uploader.abbr-megaoctet-title' | fromDictionary\n \"\n >\n {{ 'foehn-uploader.abbr-megaoctet' | fromDictionary }}\n </abbr>\n )\n </span>\n <button\n *ngIf=\"!readonly\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n type=\"button\"\n class=\"btn btn-link icon-button delete-pending\"\n (click)=\"removeFile(pending)\"\n >\n <foehn-icon-times\n [title]=\"\n 'foehn-uploader.delete-icon-title'\n | fromDictionary: { docName: pending.name }\n \"\n ></foehn-icon-times>\n </button>\n </div>\n\n <small\n class=\"form-text text-secondary pending-global-info\"\n *ngIf=\"showGlobalInfos(pendingFiles)\"\n [innerHTML]=\"getGlobalInfos(pendingFiles)\"\n ></small>\n </ng-container>\n\n <ng-container *ngIf=\"canAddMoreFiles()\">\n <input\n class=\"form-control actual-input\"\n type=\"file\"\n [name]=\"name || label\"\n [multiple]=\"multiple\"\n [attr.accept]=\"\n overrideAcceptedExtensions\n ? overrideAcceptedExtensions\n : uploaderHelper.accept\n ? uploaderHelper.accept\n : null\n \"\n (change)=\"onFileChange($event)\"\n #inputFile\n />\n\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n [ngClass]=\"{ 'visually-hidden': !showUploadButton }\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-describedby]=\"buildId('ErrorsContainer')\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n (click)=\"inputFile.click()\"\n #entryComponent\n >\n {{ multiple ? chooseButtonLabelMultiple : chooseButtonLabel }}\n </button>\n\n <div\n *ngIf=\"dragAndDrop && !disabled\"\n aria-hidden=\"true\"\n class=\"dropfile\"\n [class.dropfile-border-transparent]=\"showDropZone\"\n (click)=\"inputFile.click()\"\n >\n {{ multiple ? dropZoneLabelMultiple : dropZoneLabel }}\n </div>\n </ng-container>\n\n <foehn-upload-progress-bar\n *ngIf=\"reference\"\n [progressBarTriggerHtmlElement]=\"\n inputElement?.nativeElement || fallBackTrigger\n \"\n ></foehn-upload-progress-bar>\n</div>\n", styles: [".dropfile{width:300px;border:3px dashed #bbb;text-align:center;margin-top:10px;cursor:pointer;padding:15px 3px}.dropfile-border-transparent{border-color:#fff}.actual-input{display:none}.file-list{margin-top:20px}.icon-button{border:0}.icon-button:hover{cursor:pointer}:host ::ng-deep .svg-inline--fa{color:#000!important}.drop-zone-highlight{outline:3px dashed #bbb}.container-box{border:1px solid #ededed;background-color:#fbfbfb;padding:.5rem}.container-box.vd-form-group-danger{border-left:5px solid var(--vd-danger);padding-left:1rem}\n"], dependencies: [{ kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.FoehnIconTimesComponent, selector: "foehn-icon-times" }, { kind: "component", type: i10.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "directive", type: i11.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i12.FoehnUploadProgressBarComponent, selector: "foehn-upload-progress-bar", inputs: ["progressBarTriggerHtmlElement"] }, { kind: "pipe", type: i13.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
230
230
|
}
|
|
231
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
231
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnMultiUploadComponent, decorators: [{
|
|
232
232
|
type: Component,
|
|
233
233
|
args: [{ selector: 'foehn-multi-upload', providers: [
|
|
234
234
|
{
|
|
@@ -8,21 +8,21 @@ import { FoehnUploadProgressBarModule } from '../foehn-upload-progress-bar/foehn
|
|
|
8
8
|
import { FoehnMultiUploadComponent } from './foehn-multi-upload.component';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export class FoehnMultiUploadModule {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
12
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnMultiUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: FoehnMultiUploadModule, declarations: [FoehnMultiUploadComponent], imports: [CommonModule,
|
|
13
13
|
FoehnIconsModule,
|
|
14
14
|
FoehnValidationAlertsModule,
|
|
15
15
|
SdkDictionaryModule,
|
|
16
16
|
FormsModule,
|
|
17
17
|
FoehnUploadProgressBarModule], exports: [FoehnMultiUploadComponent] }); }
|
|
18
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
18
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnMultiUploadModule, imports: [CommonModule,
|
|
19
19
|
FoehnIconsModule,
|
|
20
20
|
FoehnValidationAlertsModule,
|
|
21
21
|
SdkDictionaryModule,
|
|
22
22
|
FormsModule,
|
|
23
23
|
FoehnUploadProgressBarModule] }); }
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnMultiUploadModule, decorators: [{
|
|
26
26
|
type: NgModule,
|
|
27
27
|
args: [{
|
|
28
28
|
imports: [
|
|
@@ -121,10 +121,10 @@ export class MultiUploadService {
|
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
125
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
124
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: MultiUploadService, deps: [{ token: i1.HttpClient }, { token: i2.GrowlBrokerService }, { token: i3.GesdemHandlerService }, { token: i4.ApplicationInfoService }, { token: i5.SdkDictionaryService }, { token: i6.UploadProgressService }, { token: i7.IamExpiredInterceptorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
125
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: MultiUploadService, providedIn: 'root' }); }
|
|
126
126
|
}
|
|
127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: MultiUploadService, decorators: [{
|
|
128
128
|
type: Injectable,
|
|
129
129
|
args: [{
|
|
130
130
|
providedIn: 'root'
|
|
@@ -103,8 +103,10 @@ export class PendingUploadService {
|
|
|
103
103
|
this.pendingFilesByFormKey.delete(formKey);
|
|
104
104
|
// save the form when every document has been uploaded
|
|
105
105
|
if (this.pendingFilesByFormKey.size === 0) {
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
this.gesdemService
|
|
107
|
+
.save(form, false, false)
|
|
108
|
+
// eslint-disable-next-line rxjs/no-nested-subscribe
|
|
109
|
+
.subscribe(() => {
|
|
108
110
|
this.attachmentsUploadedSubject.next(form);
|
|
109
111
|
// Dispatch errors coming from server
|
|
110
112
|
if (!!mergedResponse.errors.length) {
|
|
@@ -149,13 +151,13 @@ export class PendingUploadService {
|
|
|
149
151
|
obj[path[0]] = value;
|
|
150
152
|
}
|
|
151
153
|
}
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
153
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
154
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PendingUploadService, deps: [{ token: i1.MultiUploadService }, { token: i2.GesdemHandlerService }, { token: i3.GesdemEventService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
155
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PendingUploadService, providedIn: 'root' }); }
|
|
154
156
|
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PendingUploadService, decorators: [{
|
|
156
158
|
type: Injectable,
|
|
157
159
|
args: [{
|
|
158
160
|
providedIn: 'root'
|
|
159
161
|
}]
|
|
160
162
|
}], ctorParameters: () => [{ type: i1.MultiUploadService }, { type: i2.GesdemHandlerService }, { type: i3.GesdemEventService }] });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi11cGxvYWQvZm9laG4tbXVsdGktdXBsb2FkL3BlbmRpbmctdXBsb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBSzFELE1BQU0sT0FBTyxvQkFBb0I7SUFNN0IsWUFDWSxrQkFBc0MsRUFDdEMsYUFBbUMsRUFDbkMsa0JBQXNDO1FBRnRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFSMUMsMEJBQXFCLEdBQUcsSUFBSSxHQUFHLEVBQXdCLENBQUM7UUFDaEUsOERBQThEO1FBQ3RELCtCQUEwQixHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFDaEQsaUNBQTRCLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7UUFPdEUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHlCQUF5QjthQUM1QyxJQUFJO1FBQ0QsNEJBQTRCO1FBQzVCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ1IsSUFBSTtZQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTO1NBQ2pELENBQUM7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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTVBUWSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEdlc2RlbUV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2dlc2RlbS9nZXNkZW0tZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2dlc2RlbS9nZXNkZW0taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBlbmRpbmdGaWxlcyB9IGZyb20gJy4uL3BlbmRpbmctdXBsb2FkLnR5cGUnO1xuaW1wb3J0IHsgTXVsdGlVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9tdWx0aS11cGxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBEb2N1bWVudHNXaXRoRXJyb3JzIH0gZnJvbSAnLi9tdWx0aS11cGxvYWQudHlwZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGVuZGluZ1VwbG9hZFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcGVuZGluZ0ZpbGVzQnlGb3JtS2V5ID0gbmV3IE1hcDxzdHJpbmcsIFBlbmRpbmdGaWxlcz4oKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgYXR0YWNobWVudHNVcGxvYWRlZFN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgcHJpdmF0ZSBwZW5kaW5nVXBsb2FkZWRFcnJvcnNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8RG9jdW1lbnRzV2l0aEVycm9ycz4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG11bHRpVXBsb2FkU2VydmljZTogTXVsdGlVcGxvYWRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdlc2RlbVNlcnZpY2U6IEdlc2RlbUhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdlc2RlbUV2ZW50U2VydmljZTogR2VzZGVtRXZlbnRTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZ2VzZGVtRXZlbnRTZXJ2aWNlLmZvcm1Jbml0aWFsaXphdGlvblN1YmplY3RcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIEdldCB0aGUgY3VycmVudCByZWZlcmVuY2VcbiAgICAgICAgICAgICAgICBtYXAoZm9ybSA9PiBbXG4gICAgICAgICAgICAgICAgICAgIGZvcm0sXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UubWV0YS5yZWZlcmVuY2VcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IHdhbnQgdG8gdXBsb2FkIHRoZSBkb2N1bWVudHMgaWYgdGhlcmUgaXMgbm93IGEgcmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgZmlsdGVyKHJlZmVyZW5jZSA9PiAhIXJlZmVyZW5jZSksXG4gICAgICAgICAgICAgICAgLy8gSXQgb25seSBtYWtlcyBzZW5zZSB0byB1cGxvYWQgdGhlIGRvY3VtZW50IGlmIHRoZXJlIGFyZSBwZW5kaW5nIGRvY3VtZW50cy5cbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gISF0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5zaXplKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW2Zvcm1dKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWRQZW5kaW5nRmlsZXNBbmRTYXZlRm9ybShmb3JtKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0IGF0dGFjaG1lbnRzVXBsb2FkZWQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXR0YWNobWVudHNVcGxvYWRlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgZ2V0IHBlbmRpbmdVcGxvYWRlZEVycm9ycygpOiBPYnNlcnZhYmxlPERvY3VtZW50c1dpdGhFcnJvcnM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGVuZGluZ1VwbG9hZGVkRXJyb3JzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBnZXRQZW5kaW5nRmlsZXMoZm9ybUtleTogc3RyaW5nKTogRmlsZVtdIHtcbiAgICAgICAgaWYgKHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KS5maWxlcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgaGFzUGVuZGluZ0ZpbGVzKGZvcm1LZXk6IHN0cmluZyA9IG51bGwpOiBib29sZWFuIHtcbiAgICAgICAgLy8gTm8gZm9ybUtleSwgd2UgcmV0dXJuIGdsb2JhbCBzaXplIG9mIHBlbmRpbmcgZmlsZXNcbiAgICAgICAgaWYgKCFmb3JtS2V5KSB7XG4gICAgICAgICAgICByZXR1cm4gISF0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5zaXplO1xuICAgICAgICB9XG4gICAgICAgIC8vIENoZWNrIGlmIHdlIGhhdmUgc29tZXRoaW5nIG9uIGZvcm1LZXkgYW5kIGFzc29jaWF0ZWQgZmlsZXNcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KSB8fFxuICAgICAgICAgICAgIXRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KS5maWxlc1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBhdCBsZWFzdCBvbmUgZmlsZXMgZm9yIGEgZ2l2ZW4gZm9ybUtleSBleGlzdFxuICAgICAgICByZXR1cm4gISF0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5nZXQoZm9ybUtleSkuZmlsZXMubGVuZ3RoO1xuICAgIH1cblxuICAgIGFkZFBlbmRpbmdGaWxlcyhcbiAgICAgICAgYmFzZVVybDogc3RyaW5nLFxuICAgICAgICBmb3JtS2V5OiBzdHJpbmcsXG4gICAgICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGZpbGVzOiBGaWxlW10sXG4gICAgICAgIGtleTogc3RyaW5nLFxuICAgICAgICBpc011bHRpcGxlOiBib29sZWFuLFxuICAgICAgICBzaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uOiBib29sZWFuXG4gICAgKTogdm9pZCB7XG4gICAgICAgIC8vIEluaXRpYWxpemUgcGVuZGluZyBmaWxlcyBieSBmb3JtS2V5XG4gICAgICAgIGlmICghdGhpcy5oYXNQZW5kaW5nRmlsZXMoZm9ybUtleSkpIHtcbiAgICAgICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LnNldChmb3JtS2V5LCBuZXcgUGVuZGluZ0ZpbGVzKCkpO1xuICAgICAgICAgICAgdGhpcy5wZW5kaW5nRmlsZXNCeUZvcm1LZXkuZ2V0KGZvcm1LZXkpLmZpbGVzID0gW107XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2V0IHBlbmRpbmcgaW5mb3JtYXRpb25zXG4gICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KS51cmwgPSBiYXNlVXJsO1xuICAgICAgICB0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5nZXQoZm9ybUtleSkuZm9ybUtleSA9IGZvcm1LZXk7XG4gICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KS5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5nZXQoZm9ybUtleSkuZmlsZXMgPSBbXG4gICAgICAgICAgICAuLi50aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5nZXQoZm9ybUtleSkuZmlsZXMsXG4gICAgICAgICAgICAuLi5maWxlc1xuICAgICAgICBdO1xuICAgICAgICB0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5nZXQoZm9ybUtleSkua2V5ID0ga2V5O1xuICAgICAgICB0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5nZXQoZm9ybUtleSkuaXNNdWx0aXBsZSA9IGlzTXVsdGlwbGU7XG4gICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChcbiAgICAgICAgICAgIGZvcm1LZXlcbiAgICAgICAgKS5zaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uID1cbiAgICAgICAgICAgIHNob3VsZERpc3BsYXlGaWxlU2F2ZWRDb25maXJtYXRpb247XG4gICAgfVxuXG4gICAgcmVtb3ZlUGVuZGluZ0ZpbGUoZmlsZTogRmlsZSwgZm9ybUtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc1BlbmRpbmdGaWxlcyhmb3JtS2V5KSkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleVxuICAgICAgICAgICAgICAgIC5nZXQoZm9ybUtleSlcbiAgICAgICAgICAgICAgICAuZmlsZXMuaW5kZXhPZihmaWxlKTtcbiAgICAgICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KS5maWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIHVwbG9hZFBlbmRpbmdGaWxlc0FuZFNhdmVGb3JtKGZvcm06IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWxlc1RvVXBsb2FkID0gbmV3IE1hcCh0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleSk7XG4gICAgICAgIGNvbnN0IG1lcmdlZFJlc3BvbnNlOiBEb2N1bWVudHNXaXRoRXJyb3JzID0gbmV3IERvY3VtZW50c1dpdGhFcnJvcnMoKTtcblxuICAgICAgICBmaWxlc1RvVXBsb2FkLmZvckVhY2goKHBlbmRpbmdGaWxlcywgZm9ybUtleSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tdWx0aVVwbG9hZFNlcnZpY2VcbiAgICAgICAgICAgICAgICAudXBsb2FkRG9jdW1lbnRzKFxuICAgICAgICAgICAgICAgICAgICBwZW5kaW5nRmlsZXMudXJsLFxuICAgICAgICAgICAgICAgICAgICBmb3JtS2V5LFxuICAgICAgICAgICAgICAgICAgICBwZW5kaW5nRmlsZXMubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHBlbmRpbmdGaWxlcy5maWxlcyxcbiAgICAgICAgICAgICAgICAgICAgcGVuZGluZ0ZpbGVzLmtleSxcbiAgICAgICAgICAgICAgICAgICAgcGVuZGluZ0ZpbGVzLmlzTXVsdGlwbGUsXG4gICAgICAgICAgICAgICAgICAgIGZvcm0ubGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHBlbmRpbmdGaWxlcy5zaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmRlbGV0ZShmb3JtS2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IERvY3VtZW50c1dpdGhFcnJvcnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gTWVyZ2UgYWxsIHVwbG9hZHMgcmVzcG9uc2VcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXJnZVBlbmRpbmdVcGxvYWRlZFNlcnZlclJlc3VsdChcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlZFJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2V0IHRoZSBkb2N1bWVudCBpbiB0aGUgZm9ybVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldE5lc3RlZFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlbmRpbmdGaWxlcy5mb3JtS2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UuZG9jdW1lbnRzXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmRlbGV0ZShmb3JtS2V5KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2F2ZSB0aGUgZm9ybSB3aGVuIGV2ZXJ5IGRvY3VtZW50IGhhcyBiZWVuIHVwbG9hZGVkXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5zaXplID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy9uby1uZXN0ZWQtc3Vic2NyaWJlXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdlc2RlbVNlcnZpY2Uuc2F2ZShmb3JtLCBmYWxzZSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmF0dGFjaG1lbnRzVXBsb2FkZWRTdWJqZWN0Lm5leHQoZm9ybSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRGlzcGF0Y2ggZXJyb3JzIGNvbWluZyBmcm9tIHNlcnZlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIW1lcmdlZFJlc3BvbnNlLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZW5kaW5nVXBsb2FkZWRFcnJvcnNTdWJqZWN0Lm5leHQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXJnZWRSZXNwb25zZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbWVyZ2VQZW5kaW5nVXBsb2FkZWRTZXJ2ZXJSZXN1bHQoXG4gICAgICAgIG1lcmdlZFJlc3BvbnNlOiBEb2N1bWVudHNXaXRoRXJyb3JzLFxuICAgICAgICBzZXJ2ZXJSZXNwb25zZTogRG9jdW1lbnRzV2l0aEVycm9yc1xuICAgICk6IHZvaWQge1xuICAgICAgICAvLyBJbml0aWFsaXplIGFycmF5cyB3aGVuIG5lZWRlZFxuICAgICAgICBpZiAoIW1lcmdlZFJlc3BvbnNlLmRvY3VtZW50cykge1xuICAgICAgICAgICAgbWVyZ2VkUmVzcG9uc2UuZG9jdW1lbnRzID0gW107XG4gICAgICAgIH1cbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBhcnJheXMgd2hlbiBuZWVkZWRcbiAgICAgICAgaWYgKCFtZXJnZWRSZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgICAgIG1lcmdlZFJlc3BvbnNlLmVycm9ycyA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWVyZ2UgYWxsIHVwbG9hZHMgcmVzcG9uc2VcbiAgICAgICAgbWVyZ2VkUmVzcG9uc2UuZG9jdW1lbnRzID0gW1xuICAgICAgICAgICAgLi4ubWVyZ2VkUmVzcG9uc2UuZG9jdW1lbnRzLFxuICAgICAgICAgICAgLi4uKHNlcnZlclJlc3BvbnNlLmRvY3VtZW50cyB8fCBbXSlcbiAgICAgICAgXTtcbiAgICAgICAgbWVyZ2VkUmVzcG9uc2UuZXJyb3JzID0gW1xuICAgICAgICAgICAgLi4ubWVyZ2VkUmVzcG9uc2UuZXJyb3JzLFxuICAgICAgICAgICAgLi4uKHNlcnZlclJlc3BvbnNlLmVycm9ycyB8fCBbXSlcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE5lc3RlZFZhbHVlKFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBvYmo6IGFueSxcbiAgICAgICAgcGF0aDogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIHZhbHVlOiBhbnlcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBwYXRoID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcGF0aCA9IHBhdGguc3BsaXQoJy4nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGF0aC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0aGlzLnNldE5lc3RlZFZhbHVlKG9ialtwYXRoLnNoaWZ0KCldLCBwYXRoLCB2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvYmpbcGF0aFswXV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi11cGxvYWQvZm9laG4tbXVsdGktdXBsb2FkL3BlbmRpbmctdXBsb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBSzFELE1BQU0sT0FBTyxvQkFBb0I7SUFNN0IsWUFDWSxrQkFBc0MsRUFDdEMsYUFBbUMsRUFDbkMsa0JBQXNDO1FBRnRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFSMUMsMEJBQXFCLEdBQUcsSUFBSSxHQUFHLEVBQXdCLENBQUM7UUFDaEUsOERBQThEO1FBQ3RELCtCQUEwQixHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFDaEQsaUNBQTRCLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7UUFPdEUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHlCQUF5QjthQUM1QyxJQUFJO1FBQ0QsNEJBQTRCO1FBQzVCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ1IsSUFBSTtZQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTO1NBQ2pELENBQUM7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TTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTVBUWSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEdlc2RlbUV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2dlc2RlbS9nZXNkZW0tZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2dlc2RlbS9nZXNkZW0taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBlbmRpbmdGaWxlcyB9IGZyb20gJy4uL3BlbmRpbmctdXBsb2FkLnR5cGUnO1xuaW1wb3J0IHsgTXVsdGlVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9tdWx0aS11cGxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBEb2N1bWVudHNXaXRoRXJyb3JzIH0gZnJvbSAnLi9tdWx0aS11cGxvYWQudHlwZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGVuZGluZ1VwbG9hZFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcGVuZGluZ0ZpbGVzQnlGb3JtS2V5ID0gbmV3IE1hcDxzdHJpbmcsIFBlbmRpbmdGaWxlcz4oKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgYXR0YWNobWVudHNVcGxvYWRlZFN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgcHJpdmF0ZSBwZW5kaW5nVXBsb2FkZWRFcnJvcnNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8RG9jdW1lbnRzV2l0aEVycm9ycz4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG11bHRpVXBsb2FkU2VydmljZTogTXVsdGlVcGxvYWRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdlc2RlbVNlcnZpY2U6IEdlc2RlbUhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdlc2RlbUV2ZW50U2VydmljZTogR2VzZGVtRXZlbnRTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZ2VzZGVtRXZlbnRTZXJ2aWNlLmZvcm1Jbml0aWFsaXphdGlvblN1YmplY3RcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIEdldCB0aGUgY3VycmVudCByZWZlcmVuY2VcbiAgICAgICAgICAgICAgICBtYXAoZm9ybSA9PiBbXG4gICAgICAgICAgICAgICAgICAgIGZvcm0sXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UubWV0YS5yZWZlcmVuY2VcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IHdhbnQgdG8gdXBsb2FkIHRoZSBkb2N1bWVudHMgaWYgdGhlcmUgaXMgbm93IGEgcmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgZmlsdGVyKHJlZmVyZW5jZSA9PiAhIXJlZmVyZW5jZSksXG4gICAgICAgICAgICAgICAgLy8gSXQgb25seSBtYWtlcyBzZW5zZSB0byB1cGxvYWQgdGhlIGRvY3VtZW50IGlmIHRoZXJlIGFyZSBwZW5kaW5nIGRvY3VtZW50cy5cbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gISF0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5zaXplKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW2Zvcm1dKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWRQZW5kaW5nRmlsZXNBbmRTYXZlRm9ybShmb3JtKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0IGF0dGFjaG1lbnRzVXBsb2FkZWQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXR0YWNobWVudHNVcGxvYWRlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgZ2V0IHBlbmRpbmdVcGxvYWRlZEVycm9ycygpOiBPYnNlcnZhYmxlPERvY3VtZW50c1dpdGhFcnJvcnM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGVuZGluZ1VwbG9hZGVkRXJyb3JzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBnZXRQZW5kaW5nRmlsZXMoZm9ybUtleTogc3RyaW5nKTogRmlsZVtdIHtcbiAgICAgICAgaWYgKHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KS5maWxlcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgaGFzUGVuZGluZ0ZpbGVzKGZvcm1LZXk6IHN0cmluZyA9IG51bGwpOiBib29sZWFuIHtcbiAgICAgICAgLy8gTm8gZm9ybUtleSwgd2UgcmV0dXJuIGdsb2JhbCBzaXplIG9mIHBlbmRpbmcgZmlsZXNcbiAgICAgICAgaWYgKCFmb3JtS2V5KSB7XG4gICAgICAgICAgICByZXR1cm4gISF0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5zaXplO1xuICAgICAgICB9XG4gICAgICAgIC8vIENoZWNrIGlmIHdlIGhhdmUgc29tZXRoaW5nIG9uIGZvcm1LZXkgYW5kIGFzc29jaWF0ZWQgZmlsZXNcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KSB8fFxuICAgICAgICAgICAgIXRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KS5maWxlc1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBhdCBsZWFzdCBvbmUgZmlsZXMgZm9yIGEgZ2l2ZW4gZm9ybUtleSBleGlzdFxuICAgICAgICByZXR1cm4gISF0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5nZXQoZm9ybUtleSkuZmlsZXMubGVuZ3RoO1xuICAgIH1cblxuICAgIGFkZFBlbmRpbmdGaWxlcyhcbiAgICAgICAgYmFzZVVybDogc3RyaW5nLFxuICAgICAgICBmb3JtS2V5OiBzdHJpbmcsXG4gICAgICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGZpbGVzOiBGaWxlW10sXG4gICAgICAgIGtleTogc3RyaW5nLFxuICAgICAgICBpc011bHRpcGxlOiBib29sZWFuLFxuICAgICAgICBzaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uOiBib29sZWFuXG4gICAgKTogdm9pZCB7XG4gICAgICAgIC8vIEluaXRpYWxpemUgcGVuZGluZyBmaWxlcyBieSBmb3JtS2V5XG4gICAgICAgIGlmICghdGhpcy5oYXNQZW5kaW5nRmlsZXMoZm9ybUtleSkpIHtcbiAgICAgICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LnNldChmb3JtS2V5LCBuZXcgUGVuZGluZ0ZpbGVzKCkpO1xuICAgICAgICAgICAgdGhpcy5wZW5kaW5nRmlsZXNCeUZvcm1LZXkuZ2V0KGZvcm1LZXkpLmZpbGVzID0gW107XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2V0IHBlbmRpbmcgaW5mb3JtYXRpb25zXG4gICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KS51cmwgPSBiYXNlVXJsO1xuICAgICAgICB0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5nZXQoZm9ybUtleSkuZm9ybUtleSA9IGZvcm1LZXk7XG4gICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KS5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5nZXQoZm9ybUtleSkuZmlsZXMgPSBbXG4gICAgICAgICAgICAuLi50aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5nZXQoZm9ybUtleSkuZmlsZXMsXG4gICAgICAgICAgICAuLi5maWxlc1xuICAgICAgICBdO1xuICAgICAgICB0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5nZXQoZm9ybUtleSkua2V5ID0ga2V5O1xuICAgICAgICB0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5nZXQoZm9ybUtleSkuaXNNdWx0aXBsZSA9IGlzTXVsdGlwbGU7XG4gICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChcbiAgICAgICAgICAgIGZvcm1LZXlcbiAgICAgICAgKS5zaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uID1cbiAgICAgICAgICAgIHNob3VsZERpc3BsYXlGaWxlU2F2ZWRDb25maXJtYXRpb247XG4gICAgfVxuXG4gICAgcmVtb3ZlUGVuZGluZ0ZpbGUoZmlsZTogRmlsZSwgZm9ybUtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc1BlbmRpbmdGaWxlcyhmb3JtS2V5KSkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleVxuICAgICAgICAgICAgICAgIC5nZXQoZm9ybUtleSlcbiAgICAgICAgICAgICAgICAuZmlsZXMuaW5kZXhPZihmaWxlKTtcbiAgICAgICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmdldChmb3JtS2V5KS5maWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIHVwbG9hZFBlbmRpbmdGaWxlc0FuZFNhdmVGb3JtKGZvcm06IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWxlc1RvVXBsb2FkID0gbmV3IE1hcCh0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleSk7XG4gICAgICAgIGNvbnN0IG1lcmdlZFJlc3BvbnNlOiBEb2N1bWVudHNXaXRoRXJyb3JzID0gbmV3IERvY3VtZW50c1dpdGhFcnJvcnMoKTtcblxuICAgICAgICBmaWxlc1RvVXBsb2FkLmZvckVhY2goKHBlbmRpbmdGaWxlcywgZm9ybUtleSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tdWx0aVVwbG9hZFNlcnZpY2VcbiAgICAgICAgICAgICAgICAudXBsb2FkRG9jdW1lbnRzKFxuICAgICAgICAgICAgICAgICAgICBwZW5kaW5nRmlsZXMudXJsLFxuICAgICAgICAgICAgICAgICAgICBmb3JtS2V5LFxuICAgICAgICAgICAgICAgICAgICBwZW5kaW5nRmlsZXMubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHBlbmRpbmdGaWxlcy5maWxlcyxcbiAgICAgICAgICAgICAgICAgICAgcGVuZGluZ0ZpbGVzLmtleSxcbiAgICAgICAgICAgICAgICAgICAgcGVuZGluZ0ZpbGVzLmlzTXVsdGlwbGUsXG4gICAgICAgICAgICAgICAgICAgIGZvcm0ubGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHBlbmRpbmdGaWxlcy5zaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmRlbGV0ZShmb3JtS2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IERvY3VtZW50c1dpdGhFcnJvcnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gTWVyZ2UgYWxsIHVwbG9hZHMgcmVzcG9uc2VcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXJnZVBlbmRpbmdVcGxvYWRlZFNlcnZlclJlc3VsdChcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlZFJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2V0IHRoZSBkb2N1bWVudCBpbiB0aGUgZm9ybVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldE5lc3RlZFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlbmRpbmdGaWxlcy5mb3JtS2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UuZG9jdW1lbnRzXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ0ZpbGVzQnlGb3JtS2V5LmRlbGV0ZShmb3JtS2V5KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2F2ZSB0aGUgZm9ybSB3aGVuIGV2ZXJ5IGRvY3VtZW50IGhhcyBiZWVuIHVwbG9hZGVkXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnBlbmRpbmdGaWxlc0J5Rm9ybUtleS5zaXplID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdlc2RlbVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2F2ZShmb3JtLCBmYWxzZSwgZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMvbm8tbmVzdGVkLXN1YnNjcmliZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmF0dGFjaG1lbnRzVXBsb2FkZWRTdWJqZWN0Lm5leHQoZm9ybSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERpc3BhdGNoIGVycm9ycyBjb21pbmcgZnJvbSBzZXJ2ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhbWVyZ2VkUmVzcG9uc2UuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZW5kaW5nVXBsb2FkZWRFcnJvcnNTdWJqZWN0Lm5leHQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVyZ2VkUmVzcG9uc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1lcmdlUGVuZGluZ1VwbG9hZGVkU2VydmVyUmVzdWx0KFxuICAgICAgICBtZXJnZWRSZXNwb25zZTogRG9jdW1lbnRzV2l0aEVycm9ycyxcbiAgICAgICAgc2VydmVyUmVzcG9uc2U6IERvY3VtZW50c1dpdGhFcnJvcnNcbiAgICApOiB2b2lkIHtcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBhcnJheXMgd2hlbiBuZWVkZWRcbiAgICAgICAgaWYgKCFtZXJnZWRSZXNwb25zZS5kb2N1bWVudHMpIHtcbiAgICAgICAgICAgIG1lcmdlZFJlc3BvbnNlLmRvY3VtZW50cyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIC8vIEluaXRpYWxpemUgYXJyYXlzIHdoZW4gbmVlZGVkXG4gICAgICAgIGlmICghbWVyZ2VkUmVzcG9uc2UuZXJyb3JzKSB7XG4gICAgICAgICAgICBtZXJnZWRSZXNwb25zZS5lcnJvcnMgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1lcmdlIGFsbCB1cGxvYWRzIHJlc3BvbnNlXG4gICAgICAgIG1lcmdlZFJlc3BvbnNlLmRvY3VtZW50cyA9IFtcbiAgICAgICAgICAgIC4uLm1lcmdlZFJlc3BvbnNlLmRvY3VtZW50cyxcbiAgICAgICAgICAgIC4uLihzZXJ2ZXJSZXNwb25zZS5kb2N1bWVudHMgfHwgW10pXG4gICAgICAgIF07XG4gICAgICAgIG1lcmdlZFJlc3BvbnNlLmVycm9ycyA9IFtcbiAgICAgICAgICAgIC4uLm1lcmdlZFJlc3BvbnNlLmVycm9ycyxcbiAgICAgICAgICAgIC4uLihzZXJ2ZXJSZXNwb25zZS5lcnJvcnMgfHwgW10pXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXROZXN0ZWRWYWx1ZShcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgb2JqOiBhbnksXG4gICAgICAgIHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICB2YWx1ZTogYW55XG4gICAgKTogdm9pZCB7XG4gICAgICAgIGlmICh0eXBlb2YgcGF0aCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHBhdGggPSBwYXRoLnNwbGl0KCcuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhdGgubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhpcy5zZXROZXN0ZWRWYWx1ZShvYmpbcGF0aC5zaGlmdCgpXSwgcGF0aCwgdmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb2JqW3BhdGhbMF1dID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -161,8 +161,8 @@ export class FoehnPictureUploadComponent extends FoehnInputComponent {
|
|
|
161
161
|
const fileExtension = `.${filename.split('.').pop()}`.toLowerCase();
|
|
162
162
|
return acceptedFormats.includes(fileExtension);
|
|
163
163
|
}
|
|
164
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
165
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
164
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnPictureUploadComponent, deps: [{ token: i1.GrowlBrokerService }, { token: i2.MultiUploadService }, { token: i3.SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
165
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FoehnPictureUploadComponent, selector: "foehn-picture-upload", inputs: { name: "name", key: "key", label: "label", baseUrl: "baseUrl", croppedPictureFilename: "croppedPictureFilename", resizeToWidth: "resizeToWidth", resizeToHeight: "resizeToHeight", shouldDisplayFileSavedConfirmation: "shouldDisplayFileSavedConfirmation" }, providers: [
|
|
166
166
|
{
|
|
167
167
|
provide: FoehnInputComponent,
|
|
168
168
|
useExisting: forwardRef(() => FoehnPictureUploadComponent),
|
|
@@ -172,7 +172,7 @@ export class FoehnPictureUploadComponent extends FoehnInputComponent {
|
|
|
172
172
|
{ provide: UploadProgressService, useClass: UploadProgressService }
|
|
173
173
|
], usesInheritance: true, ngImport: i0, template: "<div\n [attr.id]=\"buildId('Container')\"\n [class.has-danger]=\"hasErrors()\"\n [class.vd-form-group-danger]=\"hasErrors()\"\n class=\"form-group clearable-input-form-group\"\n tabindex=\"-1\"\n #fallBackTrigger\n>\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <input type=\"hidden\" [name]=\"name || label\" [ngModel]=\"model\" />\n\n <ng-content></ng-content>\n\n <div *ngIf=\"hasPicture\" class=\"row\">\n <div class=\"col-md-6\">\n <img\n [id]=\"buildChildId('Picture')\"\n [attr.alt]=\"label\"\n [src]=\"getDownloadUrl()\"\n />\n </div>\n <div class=\"col-md-4\">\n <button\n type=\"button\"\n class=\"btn btn-danger w-100\"\n [attr.id]=\"buildChildId('DeleteButton')\"\n (click)=\"deleteFile()\"\n >\n {{\n 'foehn-picture-upload.delete-picture-label' | fromDictionary\n }}\n </button>\n </div>\n </div>\n\n <div *ngIf=\"!hasPicture && !croppedPictureAsBase64Url\">\n <input\n #inputFile\n type=\"file\"\n class=\"form-control d-none\"\n [attr.id]=\"name\"\n [attr.accept]=\"acceptFormats\"\n [multiple]=\"false\"\n [name]=\"name\"\n (change)=\"onPictureSelection($event)\"\n />\n\n <button\n type=\"button\"\n class=\"btn btn-primary my-2\"\n [attr.id]=\"buildChildId('ChooseButton')\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-describedby]=\"buildId('ErrorsContainer')\"\n (click)=\"inputFile.click()\"\n [attr.disabled]=\"loading ? 'disabled' : null\"\n >\n {{ 'foehn-picture-upload.choose-button-label' | fromDictionary }}\n </button>\n </div>\n\n <div *ngIf=\"loading\">\n {{ 'foehn-picture-upload.loading-label' | fromDictionary }}\n </div>\n\n <div *ngIf=\"!hasPicture\" class=\"row\">\n <div class=\"col-md-6\">\n <image-cropper\n [id]=\"buildChildId('Cropper')\"\n (cropperReady)=\"loading = false\"\n (imageCropped)=\"onImageCropped($event)\"\n (loadImageFailed)=\"onPictureSelectionFailed()\"\n [aspectRatio]=\"3 / 4\"\n [imageChangedEvent]=\"pictureToCrop\"\n [maintainAspectRatio]=\"true\"\n [resizeToWidth]=\"resizeToWidth\"\n [resizeToHeight]=\"resizeToHeight\"\n [onlyScaleDown]=\"true\"\n format=\"png\"\n ></image-cropper>\n </div>\n\n <div *ngIf=\"!hasPicture\" class=\"col-md-4\">\n <div class=\"row mb-3\">\n <button\n *ngIf=\"croppedPictureAsBase64Url\"\n type=\"button\"\n class=\"btn btn-primary w-100\"\n [attr.id]=\"buildChildId('SaveButton')\"\n (click)=\"savePicture()\"\n >\n {{\n 'foehn-picture-upload.validate-selection-label'\n | fromDictionary\n }}\n </button>\n </div>\n <div class=\"row\">\n <button\n *ngIf=\"croppedPictureAsBase64Url\"\n type=\"button\"\n class=\"btn btn-secondary w-100\"\n [attr.id]=\"buildChildId('CancelButton')\"\n (click)=\"resetPictureSelection()\"\n >\n {{\n 'foehn-picture-upload.cancel-selection-label'\n | fromDictionary\n }}\n </button>\n </div>\n </div>\n </div>\n\n <foehn-upload-progress-bar\n [progressBarTriggerHtmlElement]=\"\n inputElement?.nativeElement || fallBackTrigger\n \"\n ></foehn-upload-progress-bar>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "cropperFrameAriaLabel", "output", "format", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "autoCrop", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "cropper", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange"] }, { kind: "component", type: i8.FoehnUploadProgressBarComponent, selector: "foehn-upload-progress-bar", inputs: ["progressBarTriggerHtmlElement"] }, { kind: "pipe", type: i9.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
174
174
|
}
|
|
175
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnPictureUploadComponent, decorators: [{
|
|
176
176
|
type: Component,
|
|
177
177
|
args: [{ selector: 'foehn-picture-upload', providers: [
|
|
178
178
|
{
|
|
@@ -9,15 +9,15 @@ import { FoehnUploadProgressBarModule } from '../foehn-upload-progress-bar/foehn
|
|
|
9
9
|
import { FoehnPictureUploadComponent } from './foehn-picture-upload.component';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class FoehnPictureUploadModule {
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnPictureUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: FoehnPictureUploadModule, declarations: [FoehnPictureUploadComponent], imports: [CommonModule,
|
|
14
14
|
FoehnIconsModule,
|
|
15
15
|
FoehnValidationAlertsModule,
|
|
16
16
|
SdkDictionaryModule,
|
|
17
17
|
FormsModule,
|
|
18
18
|
ImageCropperModule,
|
|
19
19
|
FoehnUploadProgressBarModule], exports: [FoehnPictureUploadComponent] }); }
|
|
20
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
20
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnPictureUploadModule, imports: [CommonModule,
|
|
21
21
|
FoehnIconsModule,
|
|
22
22
|
FoehnValidationAlertsModule,
|
|
23
23
|
SdkDictionaryModule,
|
|
@@ -25,7 +25,7 @@ export class FoehnPictureUploadModule {
|
|
|
25
25
|
ImageCropperModule,
|
|
26
26
|
FoehnUploadProgressBarModule] }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnPictureUploadModule, decorators: [{
|
|
29
29
|
type: NgModule,
|
|
30
30
|
args: [{
|
|
31
31
|
imports: [
|
package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs
CHANGED
|
@@ -68,10 +68,10 @@ export class FoehnUploadProgressBarComponent {
|
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnUploadProgressBarComponent, deps: [{ token: i1.UploadProgressService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FoehnUploadProgressBarComponent, selector: "foehn-upload-progress-bar", inputs: { progressBarTriggerHtmlElement: "progressBarTriggerHtmlElement" }, viewQueries: [{ propertyName: "progressBarPanel", first: true, predicate: ["progressBarPanel"], descendants: true }], ngImport: i0, template: "<div\n *ngIf=\"(showProgress | async) === true\"\n role=\"dialog\"\n class=\"progress-bar-container d-flex justify-content-center\"\n tabindex=\"-1\"\n cdkTrapFocus\n>\n <div\n class=\"progress-bar-panel d-flex flex-column align-self-center\"\n tabindex=\"-1\"\n #progressBarPanel\n >\n <div class=\"progress-bar-panel-title py-2 px-3\">\n <h2\n class=\"h5 mb-0 py-1\"\n [innerHTML]=\"'foehn-upload-progress-bar.title' | fromDictionary\"\n ></h2>\n </div>\n <div class=\"progress-bar-panel-body p-3\">\n <ng-container *ngIf=\"(hasUploadPackages | async) === false\">\n <p\n *ngIf=\"(analysisProgress | async) === false\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.upload' | fromDictionary\n \"\n ></p>\n <p\n *ngIf=\"(analysisProgress | async) === true\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.analysis' | fromDictionary\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(hasUploadPackages | async) === true\">\n <ng-container *ngIf=\"(analysisProgress | async) === false\">\n <p\n *ngIf=\"uploadPackage | async as uploadPackage\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.group.upload'\n | fromDictionary\n : {\n packageIndex: (\n uploadPackage.packageIndex + 1\n ).toString(),\n nbPackages:\n uploadPackage.nbPackages.toString()\n }\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(analysisProgress | async) === true\">\n <p\n *ngIf=\"uploadPackage | async as uploadPackage\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.group.analysis'\n | fromDictionary\n : {\n packageIndex: (\n uploadPackage.packageIndex + 1\n ).toString(),\n nbPackages:\n uploadPackage.nbPackages.toString()\n }\n \"\n ></p>\n </ng-container>\n </ng-container>\n <!-- Need to add a tabindex=\"0\" (here on progress) otherwise cdkTrapFocus will not work -->\n <div class=\"progress\" tabindex=\"0\">\n <div\n *ngIf=\"currentUploadPercentage | async as progress\"\n role=\"progressbar\"\n class=\"progress-bar bg-success\"\n [class.progress-bar-animated]=\"\n (analysisProgress | async) === true\n \"\n [class.progress-bar-striped]=\"\n (analysisProgress | async) === true\n \"\n [style.width]=\"progress + '%'\"\n [attr.aria-valuenow]=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <ng-container *ngIf=\"(analysisProgress | async) === false\">\n {{ progress + '%' }}\n </ng-container>\n </div>\n </div>\n <small\n class=\"form-text text-secondary\"\n *ngIf=\"(hasUploadPackages | async) === true\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.group.info' | fromDictionary\n \"\n ></small>\n </div>\n </div>\n</div>\n", styles: [".progress-bar-container{top:0;left:0;height:100%;width:100%;position:fixed;z-index:10000;overflow:auto;background-color:#000;background-color:#0006}.progress-bar-panel{width:30%;background-color:#fff;box-shadow:0 .5rem 1rem #00000080}.progress-bar-panel-title{background-color:var(--vd-neutral-lighter)}.progress-bar-panel-title h2{margin-top:.5rem}.progress{width:100%;background-color:var(--vd-neutral-lighter);box-shadow:none}.progress:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem var(--vd-focus)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
73
73
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FoehnUploadProgressBarComponent, decorators: [{
|
|
75
75
|
type: Component,
|
|
76
76
|
args: [{ selector: 'foehn-upload-progress-bar', template: "<div\n *ngIf=\"(showProgress | async) === true\"\n role=\"dialog\"\n class=\"progress-bar-container d-flex justify-content-center\"\n tabindex=\"-1\"\n cdkTrapFocus\n>\n <div\n class=\"progress-bar-panel d-flex flex-column align-self-center\"\n tabindex=\"-1\"\n #progressBarPanel\n >\n <div class=\"progress-bar-panel-title py-2 px-3\">\n <h2\n class=\"h5 mb-0 py-1\"\n [innerHTML]=\"'foehn-upload-progress-bar.title' | fromDictionary\"\n ></h2>\n </div>\n <div class=\"progress-bar-panel-body p-3\">\n <ng-container *ngIf=\"(hasUploadPackages | async) === false\">\n <p\n *ngIf=\"(analysisProgress | async) === false\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.upload' | fromDictionary\n \"\n ></p>\n <p\n *ngIf=\"(analysisProgress | async) === true\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.analysis' | fromDictionary\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(hasUploadPackages | async) === true\">\n <ng-container *ngIf=\"(analysisProgress | async) === false\">\n <p\n *ngIf=\"uploadPackage | async as uploadPackage\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.group.upload'\n | fromDictionary\n : {\n packageIndex: (\n uploadPackage.packageIndex + 1\n ).toString(),\n nbPackages:\n uploadPackage.nbPackages.toString()\n }\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(analysisProgress | async) === true\">\n <p\n *ngIf=\"uploadPackage | async as uploadPackage\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.group.analysis'\n | fromDictionary\n : {\n packageIndex: (\n uploadPackage.packageIndex + 1\n ).toString(),\n nbPackages:\n uploadPackage.nbPackages.toString()\n }\n \"\n ></p>\n </ng-container>\n </ng-container>\n <!-- Need to add a tabindex=\"0\" (here on progress) otherwise cdkTrapFocus will not work -->\n <div class=\"progress\" tabindex=\"0\">\n <div\n *ngIf=\"currentUploadPercentage | async as progress\"\n role=\"progressbar\"\n class=\"progress-bar bg-success\"\n [class.progress-bar-animated]=\"\n (analysisProgress | async) === true\n \"\n [class.progress-bar-striped]=\"\n (analysisProgress | async) === true\n \"\n [style.width]=\"progress + '%'\"\n [attr.aria-valuenow]=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <ng-container *ngIf=\"(analysisProgress | async) === false\">\n {{ progress + '%' }}\n </ng-container>\n </div>\n </div>\n <small\n class=\"form-text text-secondary\"\n *ngIf=\"(hasUploadPackages | async) === true\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.group.info' | fromDictionary\n \"\n ></small>\n </div>\n </div>\n</div>\n", styles: [".progress-bar-container{top:0;left:0;height:100%;width:100%;position:fixed;z-index:10000;overflow:auto;background-color:#000;background-color:#0006}.progress-bar-panel{width:30%;background-color:#fff;box-shadow:0 .5rem 1rem #00000080}.progress-bar-panel-title{background-color:var(--vd-neutral-lighter)}.progress-bar-panel-title h2{margin-top:.5rem}.progress{width:100%;background-color:var(--vd-neutral-lighter);box-shadow:none}.progress:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem var(--vd-focus)}\n"] }]
|
|
77
77
|
}], ctorParameters: () => [{ type: i1.UploadProgressService }], propDecorators: { progressBarTriggerHtmlElement: [{
|