{"version":3,"sources":["webpack:///src/$_lazy_route_resource lazy namespace object","webpack:///node_modules/moment/locale sync fr\\.js","webpack:///src/environments/environment.ts","webpack:///src/app/app.module.ts","webpack:///src/app/shared/models/notification.model.ts","webpack:///src/app/shared/enums/restaurant-type.enum.ts","webpack:///src/app/shared/helpers/restaurant-type.helper.ts","webpack:///src/app/app.component.ts","webpack:///src/app/loader/loader.component.ts","webpack:///src/app/loader/loader.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/loader/loader.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/loader/loader.component.html","webpack:///src/app/popup-custom/popup-custom-content.component.ts","webpack:///src/app/legal-info/legal-info.component.ts","webpack:///src/app/shared/services/parametre.service.ts","webpack:///src/app/shared/services/interaction.service.ts","webpack:///src/app/legal-info/legal-info.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/legal-info/legal-info.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/legal-info/legal-info.component.html","webpack:///src/app/popup/contrat-notification-popup/contrat-notification-popup.component.ts","webpack:///src/app/popup/contrat-notification-popup/contrat-notification-popup.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/popup/contrat-notification-popup/contrat-notification-popup.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/popup/contrat-notification-popup/contrat-notification-popup.component.html","webpack:///src/app/shared/helpers/date.helper.ts","webpack:///src/app/shared/pipes/error-pretty-date.pipe.ts","webpack:///src/app/popup/error-popup/error-popup.component.ts","webpack:///src/app/popup/error-popup/error-popup.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/popup/error-popup/error-popup.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/popup/error-popup/error-popup.component.html","webpack:///src/app/popup/warning-popup/warning-popup.component.ts","webpack:///src/app/popup/warning-popup/warning-popup.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/popup/warning-popup/warning-popup.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/popup/warning-popup/warning-popup.component.html","webpack:///src/app/shared/directives/restaurant-type-color.directive.ts","webpack:///src/app/alertes/components/alerte/alerte.component.ts","webpack:///src/app/shared/services/application-data.service.ts","webpack:///src/app/alertes/components/alerte/alerte.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/alertes/components/alerte/alerte.component.scss.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/alertes/components/alerte/alerte.component.html","webpack:///src/app/alertes/components/rating/rating.component.ts","webpack:///src/app/alertes/components/rating/rating.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/alertes/components/rating/rating.component.scss.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/alertes/components/rating/rating.component.html","webpack:///src/app/alertes/components/enquete/enquete.component.ts","webpack:///src/app/alertes/components/enquete/enquete.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/alertes/components/enquete/enquete.component.scss.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/alertes/components/enquete/enquete.component.html","webpack:///src/app/shared/directives/pagination-color.directive.ts","webpack:///src/app/shared/directives/swiper-restaurant-theme.directive.ts","webpack:///src/app/alertes/components/popup-notifications/popup-notifications.component.ts","webpack:///src/app/alertes/components/popup-notifications/popup-notifications.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/alertes/components/popup-notifications/popup-notifications.component.scss.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/alertes/components/popup-notifications/popup-notifications.component.html","webpack:///src/app/item-selector/item-selector.component.ts","webpack:///src/app/item-selector/item-selector.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/item-selector/item-selector.component.scss.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/item-selector/item-selector.component.html","webpack:///src/app/dropdown/dropdown.component.ts","webpack:///src/app/dropdown/dropdown.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/dropdown/dropdown.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/dropdown/dropdown.component.html","webpack:///src/app/shared/directives/select-all-on-focus.directive.ts","webpack:///src/app/shared/directives/input-number-range.directive.ts","webpack:///src/app/shared/directives/link-form-control.directive.ts","webpack:///src/app/shared/models/base-jour.model.ts","webpack:///src/app/repas/models/commande-repas.model.ts","webpack:///src/app/repas/models/commande-repas.model.ts.pre-build-optimizer.js","webpack:///src/app/shared/helpers/math.helper.ts","webpack:///src/app/shared/validators/number.validator.ts","webpack:///src/app/shared/validators/prestation.validator.ts","webpack:///src/app/shared/helpers/form-control.helper.ts","webpack:///src/app/repas/prestation/prestation.component.ts","webpack:///src/app/shared/models/commande-repas-error.model.ts","webpack:///src/app/repas/projectors/commande-repas.projector.ts","webpack:///src/app/repas/services/commande-repas.service.ts","webpack:///src/app/repas/prestation/prestation.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/repas/prestation/prestation.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/repas/prestation/prestation.component.html","webpack:///src/app/shared/directives/repas-jour-vignette.directive.ts","webpack:///src/app/shared/directives/translate-slider.directive.ts","webpack:///src/app/shared/directives/translateY-slider.directive.ts","webpack:///src/app/date-selector/date-selector.component.ts","webpack:///src/app/date-selector/date-selector.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/date-selector/date-selector.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/date-selector/date-selector.component.html","webpack:///src/app/shared/models/component-layout/base-component-nav.ts","webpack:///src/app/shared/enums/rythme-contrat.enum.ts","webpack:///src/app/shared/models/semaine.model.ts","webpack:///src/app/repas/repas.component.ts","webpack:///src/app/shared/helpers/string.helper.ts","webpack:///src/app/shared/services/log.service.ts","webpack:///src/app/shared/services/api/logo/logo-route.service.ts","webpack:///src/app/shared/services/navigation.service.ts","webpack:///src/app/shared/enums/http-status-code.enum.ts","webpack:///src/app/shared/models/fileresult.model.ts","webpack:///src/app/shared/helpers/file.helper.ts","webpack:///src/app/reporting/reporting.projector.ts","webpack:///src/app/reporting/services/reporting.service.ts","webpack:///src/app/repas/repas.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/repas/repas.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/repas/repas.component.html","webpack:///src/app/contact/contact-card/contact-card.component.ts","webpack:///src/app/shared/helpers/color.helper.ts","webpack:///src/app/contact/contact-card/contact-card.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/contact/contact-card/contact-card.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/contact/contact-card/contact-card.component.html","webpack:///src/app/contact/contact-list/contact-list/contact-list.component.ts","webpack:///src/app/contact/contact-list/contact-list/contact-list.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/contact/contact-list/contact-list/contact-list.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/contact/contact-list/contact-list/contact-list.component.html","webpack:///src/app/contact/contact.component.ts","webpack:///src/app/contact/projectors/contact.projector.ts","webpack:///src/app/contact/services/contact.service.ts","webpack:///src/app/contact/contact.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/contact/contact.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/contact/contact.component.html","webpack:///src/app/shared/pipes/dateFormat.pipe.ts","webpack:///src/app/date-input/date-input.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/date-input/date-input.component.ts","webpack:///src/app/date-input/date-input.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/date-input/date-input.component.html","webpack:///src/app/epicerie-inventaire/models/history-commande.model.ts","webpack:///src/app/epicerie-inventaire/models/type-liste-articles.model.ts","webpack:///src/app/epicerie-inventaire/epicerie-inventaire.component.ts","webpack:///src/app/epicerie-inventaire/models/commande.model.ts","webpack:///src/app/epicerie-inventaire/models/article.model.ts","webpack:///src/app/epicerie-inventaire/models/api/article.apimodel.ts","webpack:///src/app/epicerie-inventaire/epicerie-inventaire.projector.ts","webpack:///src/app/epicerie-inventaire/services/epicerie-inventaire.service.ts","webpack:///src/app/epicerie-inventaire/epicerie-inventaire.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/epicerie-inventaire/epicerie-inventaire.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/epicerie-inventaire/epicerie-inventaire.component.html","webpack:///src/app/pretty-price/pretty-price.component.ts","webpack:///src/app/pretty-price/pretty-price.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/pretty-price/pretty-price.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/pretty-price/pretty-price.component.html","webpack:///src/app/epicerie-inventaire/create/article/article.component.ts","webpack:///src/app/epicerie-inventaire/create/article/article.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/epicerie-inventaire/create/article/article.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/epicerie-inventaire/create/article/article.component.html","webpack:///src/app/shared/rx/operators/outsideZone.operator.ts","webpack:///src/app/shared/directives/sticky-block.directive.ts","webpack:///src/app/shared/pipes/currency-euro.pipe.ts","webpack:///src/app/epicerie-inventaire/cart/cart.component.ts","webpack:///src/app/epicerie-inventaire/cart/cart.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/epicerie-inventaire/cart/cart.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/epicerie-inventaire/cart/cart.component.html","webpack:///src/app/epicerie-inventaire/create/epicerie-inventaire-create.component.ts","webpack:///src/app/shared/enums/allowed-feature.enum.ts","webpack:///src/app/shared/constants/route_urls.ts","webpack:///src/app/shared/models/user-info.model.ts","webpack:///src/app/shared/services/authentication/jwt-helper.helper.ts","webpack:///src/app/shared/services/authentication/authentication-token.model.ts","webpack:///src/app/shared/projectors/auth-token.projector.ts","webpack:///src/app/shared/projectors/user-info.projector.ts","webpack:///src/app/shared/models/menu-link.model.ts","webpack:///src/app/shared/services/authentication/authentication.service.ts","webpack:///src/app/epicerie-inventaire/create/epicerie-inventaire-create.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/epicerie-inventaire/create/epicerie-inventaire-create.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/epicerie-inventaire/create/epicerie-inventaire-create.component.html","webpack:///src/app/repas/export-bilan-repas/export-bilan-repas.component.ts","webpack:///src/app/repas/export-bilan-repas/export-bilan-repas.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/repas/export-bilan-repas/export-bilan-repas.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/repas/export-bilan-repas/export-bilan-repas.component.html","webpack:///src/app/repas/export-ecarts/export-ecarts.component.ts","webpack:///src/app/repas/export-ecarts/export-ecarts.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/repas/export-ecarts/export-ecarts.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/repas/export-ecarts/export-ecarts.component.html","webpack:///src/app/odg-reporting/exports-odg/exports-odg.component.ts","webpack:///src/app/odg-reporting/services/odgReporting.service.ts","webpack:///src/app/odg-reporting/exports-odg/exports-odg.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/odg-reporting/exports-odg/exports-odg.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/odg-reporting/exports-odg/exports-odg.component.html","webpack:///src/app/bon-livraison/export-non-conformites/export-non-conformites.component.ts","webpack:///src/app/bon-livraison/models/bon-livraison.model.ts","webpack:///src/app/bon-livraison/models/bon-livraison.projector.ts","webpack:///src/app/bon-livraison/models/bon-livraison-temperature-status.model.ts","webpack:///src/app/bon-livraison/models/bon-livraison-dlc-status.model.ts","webpack:///src/app/bon-livraison/services/bon-livraison.service.ts","webpack:///src/app/bon-livraison/export-non-conformites/export-non-conformites.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/export-non-conformites/export-non-conformites.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/export-non-conformites/export-non-conformites.component.html","webpack:///src/app/bon-livraison/export-manques/export-manques.component.ts","webpack:///src/app/bon-livraison/export-manques/export-manques.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/export-manques/export-manques.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/export-manques/export-manques.component.html","webpack:///src/app/alertes/components/export-enquetes/export-enquetes.component.ts","webpack:///src/app/alertes/models/notifications.model.ts","webpack:///src/app/shared/models/api/api-settings.ts","webpack:///src/app/alertes/services/alertes-api.service.ts","webpack:///src/app/alertes/services/alertes-api.service.ts.pre-build-optimizer.js","webpack:///src/app/alertes/services/enquetes-api.service.ts","webpack:///src/app/alertes/services/enquetes-api.service.ts.pre-build-optimizer.js","webpack:///src/app/shared/services/browser-storage.service.ts","webpack:///src/app/alertes/services/alertes.service.ts","webpack:///src/app/alertes/services/alertes.service.ts.pre-build-optimizer.js","webpack:///src/app/alertes/components/export-enquetes/export-enquetes.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/alertes/components/export-enquetes/export-enquetes.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/alertes/components/export-enquetes/export-enquetes.component.html","webpack:///src/app/discussion/export-suivi-qualite/export-suivi-qualite.component.ts","webpack:///src/app/discussion/models/file-type.enum.ts","webpack:///src/app/discussion/models/discussion-status.enum.ts","webpack:///src/app/discussion/models/discussion.projector.ts","webpack:///src/app/discussion/services/discussion.service.ts","webpack:///src/app/discussion/export-suivi-qualite/export-suivi-qualite.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/discussion/export-suivi-qualite/export-suivi-qualite.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/discussion/export-suivi-qualite/export-suivi-qualite.component.html","webpack:///src/app/reporting/models/filter-base.model.ts","webpack:///src/app/reporting/models/commande-repas-filter.model.ts","webpack:///src/app/reporting/models/epicerie-inventaire-filter.model.ts","webpack:///src/app/reporting/models/epicerie-inventaire-filter.model.ts.pre-build-optimizer.js","webpack:///src/app/reporting/models/matrice-choix-filter.model.ts","webpack:///src/app/reporting/reporting.component.ts","webpack:///src/app/reporting/reporting.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/reporting/reporting.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/reporting/reporting.component.html","webpack:///src/app/bon-livraison/pipes/format-bon-livraison-statut.pipe.ts","webpack:///src/app/bon-livraison/models/api/bon-livraison-api-error-codes.ts","webpack:///src/app/bon-livraison/popup-search-code-barre/popup-search-code-barre.component.ts","webpack:///src/app/bon-livraison/bon-livraison.component.ts","webpack:///src/app/bon-livraison/bon-livraison.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/bon-livraison.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/bon-livraison.component.html","webpack:///src/app/bon-livraison/pipes/format-temperature.pipe.ts","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-temperature/livraison-temperature.component.ts","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-temperature/livraison-temperature.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-temperature/livraison-temperature.component.scss.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-temperature/livraison-temperature.component.html","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-dlc/livraison-dlc.component.ts","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-dlc/livraison-dlc.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-dlc/livraison-dlc.component.scss.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-dlc/livraison-dlc.component.html","webpack:///src/app/bon-livraison/pipes/format-livraison-statut.pipe.ts","webpack:///src/app/bon-livraison/pipes/format-reception-statut.pipe.ts","webpack:///src/app/bon-livraison/pipes/format-mise-en-conformite-statut.pipe.ts","webpack:///src/app/bon-livraison/bon-livraison-info-header/bon-livraison-info-header.component.ts","webpack:///src/app/bon-livraison/bon-livraison-info-header/bon-livraison-info-header.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/bon-livraison-info-header/bon-livraison-info-header.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/bon-livraison-info-header/bon-livraison-info-header.component.html","webpack:///src/app/bon-livraison/bonlivraison-info-panel/bonlivraison-info-panel.component.ts","webpack:///src/app/bon-livraison/bonlivraison-info-panel/bonlivraison-info-panel.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/bonlivraison-info-panel/bonlivraison-info-panel.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/bonlivraison-info-panel/bonlivraison-info-panel.component.html","webpack:///src/app/bon-livraison/pipes/filter-allowed-famille-plat.pipe.ts","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-popup-validation/livraison-popup-validation.component.ts","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-bon-livraison.component.ts","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-bon-livraison.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-bon-livraison.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-bon-livraison.component.html","webpack:///src/app/bon-livraison/details-bon-livraison/composants-livres/composants-livres.component.ts","webpack:///src/app/bon-livraison/details-bon-livraison/composants-livres/composants-livres.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/details-bon-livraison/composants-livres/composants-livres.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/details-bon-livraison/composants-livres/composants-livres.component.html","webpack:///src/app/bon-livraison/details-bon-livraison/popup-validation/popup-validation.component.ts","webpack:///src/app/bon-livraison/details-bon-livraison/details-bon-livraison.component.ts","webpack:///src/app/bon-livraison/details-bon-livraison/details-bon-livraison.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/details-bon-livraison/details-bon-livraison.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/details-bon-livraison/details-bon-livraison.component.html","webpack:///src/app/circle-loader/circle-loader.component.ts","webpack:///src/app/circle-loader/circle-loader.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/circle-loader/circle-loader.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/circle-loader/circle-loader.component.html","webpack:///src/app/document-thumbnail/document-thumbnail.component.ts","webpack:///src/app/document-thumbnail/document-thumbnail.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/document-thumbnail/document-thumbnail.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/document-thumbnail/document-thumbnail.component.html","webpack:///src/app/shared/directives/takePhoto.directive.ts","webpack:///src/app/file-tag-list/file-tag-list.component.ts","webpack:///src/app/file-tag-list/file-tag-list.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/file-tag-list/file-tag-list.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/file-tag-list/file-tag-list.component.html","webpack:///src/app/discussion/requalifier-discussion/requalifier-discussion.component.ts","webpack:///src/app/discussion/discussion-details/discussion-details.component.ts","webpack:///src/app/discussion/discussion-details/discussion-details.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/discussion/discussion-details/discussion-details.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/discussion/discussion-details/discussion-details.component.html","webpack:///src/app/discussion/new-discussion/new-discussion.component.ts","webpack:///src/app/discussion/new-discussion/new-discussion.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/discussion/new-discussion/new-discussion.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/discussion/new-discussion/new-discussion.component.html","webpack:///src/app/discussion/discussion.component.ts","webpack:///src/app/discussion/discussion.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/discussion/discussion.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/discussion/discussion.component.html","webpack:///src/app/discussion/requalifier-discussion/requalifier-discussion.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/discussion/requalifier-discussion/requalifier-discussion.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/discussion/requalifier-discussion/requalifier-discussion.component.html","webpack:///src/app/bon-livraison/popup-search-code-barre/popup-search-code-barre.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/popup-search-code-barre/popup-search-code-barre.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/popup-search-code-barre/popup-search-code-barre.component.html","webpack:///src/app/bon-livraison/details-bon-livraison/popup-validation/popup-validation.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/details-bon-livraison/popup-validation/popup-validation.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/details-bon-livraison/popup-validation/popup-validation.component.html","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-signature/livraison-signature.component.ts","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-signature/livraison-signature.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-signature/livraison-signature.component.scss.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-signature/livraison-signature.component.html","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-popup-validation/livraison-popup-validation.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-popup-validation/livraison-popup-validation.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/bon-livraison/livraison-bon-livraison/livraison-popup-validation/livraison-popup-validation.component.html","webpack:///src/app/odg/smileys/smiley.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/odg/models/odg.model.ts","webpack:///src/app/odg/smileys/smiley-base.ts","webpack:///src/app/odg/smileys/odg-smiley-tbc.component.ts","webpack:///src/app/odg/smileys/odg-smiley-tbc.component.ts.pre-build-optimizer.js","webpack:///src/app/odg/smileys/odg-smiley-tbc.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/odg/smileys/odg-smiley-tbc.component.ts.OdgSmileyTresBienConsommeComponent.html","webpack:///src/app/odg/smileys/odg-smiley-pbc.component.ts","webpack:///src/app/odg/smileys/odg-smiley-pbc.component.ts.pre-build-optimizer.js","webpack:///src/app/odg/smileys/odg-smiley-pbc.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/odg/smileys/odg-smiley-pbc.component.ts.OdgSmileyPlutotBienConsommeComponent.html","webpack:///src/app/odg/smileys/odg-smiley-pc.component.ts","webpack:///src/app/odg/smileys/odg-smiley-pc.component.ts.pre-build-optimizer.js","webpack:///src/app/odg/smileys/odg-smiley-pc.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/odg/smileys/odg-smiley-pc.component.ts.OdgSmileyPasConsommeComponent.html","webpack:///src/app/odg/smileys/odg-smiley-pcdt.component.ts","webpack:///src/app/odg/smileys/odg-smiley-pcdt.component.ts.pre-build-optimizer.js","webpack:///src/app/odg/smileys/odg-smiley-pcdt.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/odg/smileys/odg-smiley-pcdt.component.ts.OdgSmileyPasConsommeDuToutComponent.html","webpack:///src/app/odg/odg-evaluation/odg-evaluation.component.ts","webpack:///src/app/odg/odg-evaluation/odg-evaluation.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/odg/odg-evaluation/odg-evaluation.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/odg/odg-evaluation/odg-evaluation.component.html","webpack:///src/app/odg/odg-prestation/odg-prestation.component.ts","webpack:///src/app/odg/odg-prestation/odg-prestation.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/odg/odg-prestation/odg-prestation.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/odg/odg-prestation/odg-prestation.component.html","webpack:///src/app/odg/odg-export-fiches-evalutations/odg-export-fiches-evalutations.component.ts","webpack:///src/app/odg/odg.component.ts","webpack:///src/app/odg/projectors/odg.projector.ts","webpack:///src/app/odg/services/odg.service.ts","webpack:///src/app/odg/odg.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/odg/odg.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/odg/odg.component.html","webpack:///src/app/odg/odg-export-fiches-evalutations/odg-export-fiches-evalutations.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/odg/odg-export-fiches-evalutations/odg-export-fiches-evalutations.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/odg/odg-export-fiches-evalutations/odg-export-fiches-evalutations.component.html","webpack:///src/app/documentheque/models/documentheque.model.ts","webpack:///src/app/documentheque/documentheque.component.ts","webpack:///src/app/documentheque/documentheque.projector.ts","webpack:///src/app/documentheque/services/documentheque.service.ts","webpack:///src/app/documentheque/documentheque.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/documentheque/documentheque.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/documentheque/documentheque.component.html","webpack:///src/app/logo/logo.component.ts","webpack:///src/app/logo/logo.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/logo/logo.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/logo/logo.component.html","webpack:///src/app/login/login.component.ts","webpack:///src/app/login/login.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/login/login.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/login/login.component.html","webpack:///src/app/meal-tile/meal-tile.component.ts","webpack:///src/app/meal-tile/meal-tile.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/meal-tile/meal-tile.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/meal-tile/meal-tile.component.html","webpack:///src/app/meal-resume/meal-resume.component.ts","webpack:///src/app/meal-resume/meal-resume.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/meal-resume/meal-resume.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/meal-resume/meal-resume.component.html","webpack:///src/app/meal-slider/meal-slider.component.ts","webpack:///src/app/meal-slider/meal-slider.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/meal-slider/meal-slider.component.scss.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/meal-slider/meal-slider.component.html","webpack:///src/app/home/home.component.ts","webpack:///src/app/home/home.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/home/home.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/home/home.component.html","webpack:///src/app/sandbox/sandbox.component.ts","webpack:///src/app/sandbox/sandbox.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/sandbox/sandbox.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/sandbox/sandbox.component.html","webpack:///src/app/odg/odg-bad-evaluation/odg-bad-evaluation.component.ts","webpack:///src/app/odg/odg-bad-evaluation/odg-bad-evaluation.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/odg/odg-bad-evaluation/odg-bad-evaluation.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/odg/odg-bad-evaluation/odg-bad-evaluation.component.html","webpack:///src/app/cart-tile/cart-tile.component.ts","webpack:///src/app/cart-tile/cart-tile.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/cart-tile/cart-tile.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/cart-tile/cart-tile.component.html","webpack:///src/app/notif-tile/notif-tile.component.ts","webpack:///src/app/notif-tile/notif-tile.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/notif-tile/notif-tile.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/notif-tile/notif-tile.component.html","webpack:///src/app/menu-item/menu-item.component.ts","webpack:///src/app/menu-item/menu-item.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/menu-item/menu-item.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/menu-item/menu-item.component.html","webpack:///src/app/hamburger/hamburger.component.ts","webpack:///src/app/hamburger/hamburger.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/hamburger/hamburger.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/hamburger/hamburger.component.html","webpack:///src/app/alertes/components/alertes-tile/alertes-tile.component.ts","webpack:///src/app/alertes/components/alertes-tile/alertes-tile.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/alertes/components/alertes-tile/alertes-tile.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/alertes/components/alertes-tile/alertes-tile.component.html","webpack:///src/app/select-autocomplete/select-autocomplete.component.ts","webpack:///src/app/select-autocomplete/select-autocomplete.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/select-autocomplete/select-autocomplete.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/select-autocomplete/select-autocomplete.component.html","webpack:///src/app/restaurant-selector/restaurant-selector.component.ts","webpack:///src/app/restaurant-selector/restaurant-selector.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/restaurant-selector/restaurant-selector.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/restaurant-selector/restaurant-selector.component.html","webpack:///src/app/layout-header/layout-header.component.ts","webpack:///src/app/shared/models/app-settings.model.ts","webpack:///src/app/layout-header/layout-header.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/layout-header/styles/layout-header.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/layout-header/styles/layout-subheader.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/layout-header/layout-header.component.html","webpack:///src/app/user-info/user-info.component.ts","webpack:///src/app/user-info/user-info.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/user-info/user-info.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/user-info/user-info.component.html","webpack:///src/app/drawer/drawer.component.ts","webpack:///src/app/drawer/drawer.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/drawer/drawer.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/drawer/drawer.component.html","webpack:///src/app/loading-overlay/loading-overlay.component.ts","webpack:///src/app/loading-overlay/loading-overlay.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/loading-overlay/loading-overlay.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/loading-overlay/loading-overlay.component.html","webpack:///src/app/popup/popup.component.ts","webpack:///src/app/popup/popup.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/popup/popup.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/popup/popup.component.html","webpack:///src/app/popup-custom/popup-custom-content.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/popup-custom/popup-custom-content.component.html","webpack:///src/app/popup-custom/popup-custom.component.ts","webpack:///src/app/popup-custom/popup-custom.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/popup-custom/popup-custom.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/popup-custom/popup-custom.component.html","webpack:///src/app/popup-confirm/popup-confirm.component.ts","webpack:///src/app/popup-confirm/popup-confirm.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/popup-confirm/popup-confirm.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/popup-confirm/popup-confirm.component.html","webpack:///src/app/shared/services/correlationToken.service.ts","webpack:///src/app/analytics/analytics-service.ts","webpack:///src/app/app.component.ngfactory.js.pre-build-optimizer.js","webpack:///src/app/app.component.scss.shim.ngstyle.js.pre-build-optimizer.js","webpack:///src/app/app.component.html","webpack:///src/app/shared/models/api/error/error.apimodel.ts","webpack:///src/app/shared/services/api/authentication/authentication.apiservice.ts","webpack:///src/app/shared/services/base-http-interceptor.ts","webpack:///src/app/shared/services/http/app-http-interceptor.ts","webpack:///src/app/shared/services/http/auth-http-interceptor.ts","webpack:///src/app/shared/services/http/error-handler-http-interceptor.ts","webpack:///src/app/repas/services/api/commande-repas.apiservice.ts","webpack:///src/app/contact/services/api/contact.apiservice.ts","webpack:///src/app/epicerie-inventaire/services/api/epicerie-inventaire.apiservice.ts","webpack:///src/app/discussion/services/api/discussion.apiservice.ts","webpack:///src/app/bon-livraison/services/api/bon-livraison-api.service.ts","webpack:///src/app/odg-reporting/services/api/odg-reporting.apiservice.ts","webpack:///src/app/reporting/services/api/reporting.apiservice.ts","webpack:///src/app/odg/services/api/odg.apiservice.ts","webpack:///src/app/documentheque/services/api/documentheque.apiservice.ts","webpack:///src/app/analytics/models/analytics-dimension-mapping.model.ts","webpack:///src/app/analytics/providers/analytics-provider-base.ts","webpack:///src/app/analytics/providers/appinsights-analytics-provider.ts","webpack:///src/app/shared/services/app-settings.service.ts","webpack:///src/app/analytics/providers/google-analytics-provider.ts","webpack:///src/app/analytics/analytics.module.ts","webpack:///src/app/shared/guards/auth-guard.ts","webpack:///src/app/shared/guards/prompt-for-nav-guard.ts","webpack:///src/app/shared/services/api/parametre/parametre.apiservice.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/app/shared/elior-error-handler.ts","webpack:///src/app/repas/repas-routing.module.ts.pre-build-optimizer.js","webpack:///src/app/repas/repas-routing.module.ts","webpack:///src/app/contact/contact-routing.module.ts.pre-build-optimizer.js","webpack:///src/app/contact/contact-routing.module.ts","webpack:///src/app/epicerie-inventaire/epicerie-inventaire-routing.module.ts.pre-build-optimizer.js","webpack:///src/app/epicerie-inventaire/epicerie-inventaire-routing.module.ts","webpack:///src/app/reporting/reporting-routing.module.ts.pre-build-optimizer.js","webpack:///src/app/reporting/reporting-routing.module.ts","webpack:///src/app/bon-livraison/bon-livraison-routing.module.ts.pre-build-optimizer.js","webpack:///src/app/bon-livraison/bon-livraison-routing.module.ts","webpack:///src/app/discussion/discussion-routing.module.ts.pre-build-optimizer.js","webpack:///src/app/discussion/discussion-routing.module.ts","webpack:///src/app/odg/odg-routing.module.ts.pre-build-optimizer.js","webpack:///src/app/odg/odg-routing.module.ts","webpack:///src/app/documentheque/documentheque-routing.module.ts.pre-build-optimizer.js","webpack:///src/app/documentheque/documentheque-routing.module.ts","webpack:///src/app/app-routing.module.ts.pre-build-optimizer.js","webpack:///src/app/app-routing.module.ts","webpack:///src/app/alertes/alertes.module.ts","webpack:///src/app/repas/repas.module.ts","webpack:///src/app/contact/contact.module.ts","webpack:///src/app/epicerie-inventaire/epicerie-inventaire.module.ts","webpack:///src/app/discussion/discussion.module.ts","webpack:///src/app/bon-livraison/bon-livraison.module.ts","webpack:///src/app/odg-reporting/odg-reporting.module.ts","webpack:///src/app/reporting/reporting.module.ts","webpack:///src/app/odg/odg.module.ts","webpack:///src/app/documentheque/documentheque.module.ts","webpack:///src/app/app.module.ngfactory.js.pre-build-optimizer.js","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","map","./fr.js","webpackContext","webpackContextResolve","__webpack_require__","o","Object","environment","debugInfo","production","mockOdgService","FallBackAppSettings","version","appVersion","appSettingsFactory","appSettingsService","appSettings","AppModule","[object Object]","NotificationModelBase","this","closeOnBackdropClick","onClose","NotificationModel","NotificationCustomModel","NotificationConfirmModel","showOk","showCancel","super","onOk","onCancel","RestaurantTypeEnum","Creche","Maternelle","Elementaire","Adulte","restaurant_type_helper_RestaurantTypeHelper","type","theme","hover","prefix","getThemeClass","suffix","backgroundClass","borderClass","colorClass","fillClass","app_component_appVersion","SelectedRestaurantIdStorageKey","SelectedContratKeyStorageKey","app_component_AppComponent","appDataService","logService","authService","location","document","router","activatedRoute","titleService","logoService","navigationService","interactionService","correlationTokenService","analytics","sessionStorageService","swUpdate","platformLocation","changeDetectorRef","appRef","isUserLogged","isUserAdmin","isLoginPage","logoContratUrl","events","subscribe","event","fesm2015_router","d","url","pipe","filter","a","route","firstChild","outlet","switchMap","data","routeData","changePageTitle","title","isEnabled","available","updateEvent","from","activateUpdate","showConfirmDialog","first","confirmation","reload","appIsStable$","isStable","everyHours$","interval","concat","checkForUpdate","hostClasses","class","currentType","join","correlationId","setCorrelationId","setDimensionProperties","client-version","host","hostname","notification$","notif","showNewNotification","showNewCustomNotification","showNewConfirmNotification","currentUser$","ngx_take_until_destroy","user","setUserId","handleContrats","isAdmin","contrat$","contrat","currentContrat","cuisine","cuisineCentrale","libelle","grandCompte","grandCompteLibelle","restaurant","restaurants","name","eventTrack","GetLogoUrl","cuisineCentraleId","handleRestaurants","restaurant$","currentRestaurant","setString","toString","getContratKey","contratId","showBadEval","badEval","badOdgEvaluation","toggleEmitter","toggleData","toggle","loaderOverlayComponent","open","message","hide","getAvailableMenuLinks","menuList","headerMenuList","filterMenuForHeader","hideCordovaSplashScreen","window","cordova","navigator","splashscreen","getLogger","warn","detectChanges","hideSplash","bind","addEventListener","setTimeout","selectedRestaurantId","getString","find","r","changeRestaurant","contrats","allContrats","sort","b","localeCompare","selectedContratKey","c","changeContrat","selectedRestaurantContext","oldContrat","canExecute","oldRestaurant","err","menus","m","isInHeader","drawerComponent","show","popupComponent","popupCustomComponent","popupConfirmComponent","LoaderComponent","RenderType_LoaderComponent","core","encapsulation","styles","View_LoaderComponent_1","_l","_ck","_v","component","View_LoaderComponent_0","common","NgIf","ViewContainerRef","TemplateRef","ngIf","PopupCustomComponentBase","PopupCustomComponentGeneric","model","emitter","next","popup_custom_content_component_PopupCustomContentComponent","componentFactoryResolver","onHideEmitter","EventEmitter","componentRef","innerComponentType","_innerComponentType","value","isViewInitialized","updateComponent","componentType","target","destroy","factory","resolveComponentFactory","createComponent","instance","innerComponentData","legal_info_component_LegalInfoComponent","parametreService","sanitizer","isLoading","getParametre","finalize","mentionsLegales","sanitize","SecurityContext","HTML","error","notifModel","Message","showNotification","ParametreService","apiService","interaction_service_InteractionService","blockCount","notificationSubject","BehaviorSubject","undefined","asObservable","Debug","JSON","stringify","Observable","subscriber","complete","RenderType_LegalInfoComponent","View_LegalInfoComponent_1","View_LegalInfoComponent_0","View_LegalInfoComponent_Host_0","Sanitizer","LegalInfoComponentNgFactory","contrat_notification_popup_component_ContratNotificationPopupComponent","RenderType_ContratNotificationPopupComponent","View_ContratNotificationPopupComponent_0","View_ContratNotificationPopupComponent_Host_0","ContratNotificationPopupComponentNgFactory","date_helper_DateHelper","DateHelper","date","moment","format","date1","date2","getWithoutHours","valueOf","startOf","dateMin","dateMax","days","dateToAdd","clone","getDateWithoutHours","push","toDate","add","month","dateToCheck","defineLocale","months","split","monthsShort","monthsParseExact","weekdays","weekdaysShort","weekdaysMin","weekdaysParseExact","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","s","ss","mm","h","hh","dd","M","MM","y","yy","dayOfMonthOrdinalParse","number","arguments","week","dow","doy","locale","monthNames","dayNames","dayNamesShort","initialize","error_pretty_date_pipe_ErrorPrettyDatePipe","errorPrettyDate","Date","error_popup_component_ErrorPopupComponent","errorPopupData","errors","jours","jour","errorJour","jourDate","messagesDatas","famillePlats","portions","prestations","item","index","messageData","onClick","RenderType_ErrorPopupComponent","View_ErrorPopupComponent_3","en","$event","ad","context","$implicit","View_ErrorPopupComponent_2","NgForOf","IterableDiffers","ngForOf","currVal_0","parent","View_ErrorPopupComponent_1","View_ErrorPopupComponent_0","View_ErrorPopupComponent_Host_0","ErrorPopupComponentNgFactory","warning_popup_component_WarningPopupComponent","warningPopupData","warnings","warningJour","WarningPopupDataMessage","RenderType_WarningPopupComponent","View_WarningPopupComponent_3","View_WarningPopupComponent_2","View_WarningPopupComponent_1","View_WarningPopupComponent_0","View_WarningPopupComponent_Host_0","WarningPopupComponentNgFactory","restaurant_type_color_directive_RestaurantTypeColorDirective","el","renderer","isSecondary","isBlack","restaurantColor","clear","getClasses","apply","background","border","color","fill","handleSecondary","handleBlack","clearAll","isSec","toggleClass","lodash","values","v","forEach","restoType","isAdd","addClass","removeClass","call","nativeElement","alerte_component_AlerteComponent","_domSanitizer","_appDataService","showTitle","alerteDismissed","restaurantType$","safeMessage","alerte","bypassSecurityTrustHtml","wasUnread","receivedAlerte","isRead","application_data_service_ApplicationDataService","navService","_restaurantSubject","_restaurantTypeSubject","_pageTitleSubject","_contratSubject","distinctUntilChanged","pageTitle$","closeBadEval","notificationLu","of","sub","isAnyComponentDirty","showConfirmNavigationDialog","changeContrat_Imp","rest","force","changeRestaurant_Imp","currentRythme","rythme","newTitle","applicationTitle","getTitle","trim","setTitle","odgEval","emit","count","RenderType_AlerteComponent","View_AlerteComponent_1","titre","View_AlerteComponent_2","View_AlerteComponent_0","dismissAlerte","ElementRef","Renderer2","AsyncPipe","ChangeDetectorRef","_co","currVal_3","transform","rating_component_RatingComponent","ratings","rating","tooltip","label","reverse","ratingClick","inputName","itemId","unsubscribe","ratingModel","nextRating","RenderType_RatingComponent","View_RatingComponent_1","mouseenter","View_RatingComponent_0","mouseleave","enquete_component_EnqueteComponent","enqueteDismissed","enquete","question","commentaireRequired","note","seuilCommentaireRequis","changes","change","receivedEnquete","currentValue","commentaire","RenderType_EnqueteComponent","View_EnqueteComponent_1","View_EnqueteComponent_0","onSubmit","onReset","repondreEnquete","fesm2015_forms","NgForm","ControlContainer","NgControlStatusGroup","ratingComponentClick","platform_browser","_handleInput","onTouched","_compositionStart","_compositionEnd","DefaultValueAccessor","COMPOSITION_BUFFER_MODE","RequiredValidator","required","MaxLengthValidator","maxlength","NG_VALIDATORS","p0_0","p1_0","NG_VALUE_ACCESSOR","NgModel","update","NgControl","NgControlStatus","enqueteId","currVal_26","ngClassUntouched","ngClassTouched","ngClassPristine","ngClassDirty","ngClassValid","ngClassInvalid","ngClassPending","informations","pagination_color_directive_PaginationColorDirective","bg","bullets","querySelectorAll","length","i","bullet","classList","contains","remove","paginationColor","swiper_restaurant_theme_directive_SwiperRestaurantThemeDirective","_elementRef","_renderer","defaults","params","ngx_swiper_wrapper_es5","assign","config","navigation","prevEl","nextEl","prevBtn","querySelector","nextBtn","popup_notifications_component_PopupNotificationsComponent","_toastrService","swiperConfig","watchOverflow","simulateTouch","pagination","clickable","hasMultipleNotifications","alertes","enquetes","orderBy","notifications","state","receivedAlertes","ra","alerteId","receivedEnquetes","re","loadViewModels","S_SLIDECHANGE","_","closest","popupBodyEl","scrollTo","S_INIT","slideToFirstUnread","ngOnDestroy","slideNext","enqueteState","success","directiveRef","hideIfLastSlide","unreadIndex","findIndex","setIndex","nextSlide","getIndex","notifCount","RenderType_PopupNotificationsComponent","View_PopupNotificationsComponent_1","View_PopupNotificationsComponent_2","dismissEnquete","View_PopupNotificationsComponent_0","slideIndex","ngx_swiper_wrapper_ngfactory","NgZone","PLATFORM_ID","indexChange","View_PopupNotificationsComponent_Host_0","ngx_toastr","j","PopupNotificationsComponentNgFactory","item_selector_component_ItemSelectorComponent","selectedItemChange","slidesPerView","spaceBetween","selectedItem","val","_selectedItem","mySwiper","refreshCurrent","items","_items","requireUpdate","hasTransmisProp","some","hasOwnProperty","currIndex","propComparer","indexOf","idx","RenderType_ItemSelectorComponent","View_ItemSelectorComponent_2","transmis","View_ItemSelectorComponent_1","propName","View_ItemSelectorComponent_0","changeIndex","dropdown_component_DropdownComponent","fnStyle","isOpen","RenderType_DropdownComponent","View_DropdownComponent_1","onItemClick","applyStyle","View_DropdownComponent_0","SelectAllOnFocusDirective","select","InputNumberRangeDirective","fc","range","min","setValue","max","inputNumberRange","LinkFormControlDirective","linkFormControl","formControl","base_jour_model_BaseJourModel","hidden","dayOfWeek","getDay","getMonthName","monthShort","getMonthNameShort","dayString","getDayName","dayShortString","getDayNameShort","day","getDate","slice","isEmpty","PrestationModel","commande_repas_model_JourModel","periodeTooltipInfo","ModeSaisieEnum","Standard","Portion","ModeSaisiePortionEnum","LectureSeule","Quantite","TauxPrise","PeriodeContratTypeEnum","Precommande","Commande","Reajustement","Reel","HorsPeriode","MathHelper","Math","round","NumberValidator","inclusiveMin","inclusiveMax","isNaN","control","isValid","prestation_validator_PrestationValidator","func","rule6","errorMsg","serverRule","form_control_helper_FormControlHelper","FormControlHelper","toSubstract","newVal","validators","oldValidators","validator","setValidators","updateValueAndValidity","originalValidators","valueChanges","res","key","controls","famillePlatControl","famillePlatData","form_control_helper_FamillePlatValidators","setFamillePlat","subs","itemToClean","unsubscribeAll","cleanFamillePlat","famillePlatValidators","fpControl","famillePlatOldValidator","famillePlatValidator","cleanAllValidators","prestation_component_PrestationComponent","builder","commandeRepasService","prestaToggle","onIsDirtyChange","inputMaxValue","isDirty","prestaForm","dirty","effectifValue","simplePrestaFormGroup","effectifQuantiteControl","effectifSansPorcQuantiteControlError","effectifSansPorcQuantiteControl","effectifQuantiteControlError","isModeStandard","prestation","modeSaisie","hasRegime","regimeData","buildForm","buildSimplePrestaFormModel","applyValidation","hasChangedView","isRegime","linkFormControls","directive","lfc","focusElement","disabled","prestaRegimeInputRef","prestaInputRef","action","isCollapsed","focus","prestationId","shouldCollapse","editedPortion","effectifPortionPourcentageControl","newPercentage","calculateEffectifByPercentage","famillePlatFormGroup","getFamillePlatFormGroup","famillePlatName","portionsLength","portionsControls","diff","lastPourcentage","portionToAdd","portion","effectifPortionId","addValue","substractValue","adjustGap","computeFamillePlatByName","effectifSansPorcCtrl","effectifSansPorcQuantitePreco","quantitePrecommande","autoriserSaisieTauxPrise","applyTauxPriseBrassage","applyRule2And3OnAllFamillePlats","effectifPortionQuantiteControl","effectifPortionQuantitePreco","calculatePortionPercentage","lastFamillePlatByEffectifId","effectifId","total","famillePlatQuantiteControl","pc","isPrestaDisabled","periode","ratioModification","quantiteJourControl","quantiteJour","effectifControls","group","famillePlatsControls","buildFamillePlats","quantiteSansPorcJourControl","addControl","famillePlatGroup","array","fp","buildFamillePlat","p","quantite","portionArray","controlList","buildPortion","addPortionToDictionary","famillePlat","ordre","famillePlatOrdre","autoriserEffectifZero","isComposanteRestreinte","quantiteInitialeFamille","portionQuantiteControl","Validators","effectifPortionControls","platName","plat","portionTooltipInfo","quantiteJourMin","quantiteJourMax","addValidator","regimeMin","regimeMax","addValidatorsRule5and6","rule5","fpg","firstFound","isDisabled","handlePortionFocusOut","computeFamillePlatControl","difference","checkCanIncreaseQuantiteOnFamille","applyRule2","applyRule3","toAdd","portionControl","canUpdate","checkFamilleLimitationComposanteIsValidToIncreaseQuantite","pfg","limiteComposantes","nombreLimiteFamillePlats","f","toSubstractFp","resetPortionToZero","enableToAvoidGetRawValueIgnore","enable","getRawValue","disable","prestationName","regimeId","regimeEffectifId","perc","roundToLowerWhenMiddle","fpc","get","disabledEffectif","autoriserSaisie","effectifQuantitePreco","baseDisable","disablePortionPercentage","BaseErrorModel","callback","FamillePlatErrorModel","CommandeRepasErrorTypeEnum","FamillePlat","PortionErrorModel","PrestationErrorModel","Prestation","CommandeRepasErrorModel","errorType","cb","CommandeRepasErrorNumber","Regle9","Regle10","Regle11","Regle12","InvalidModelState","CommandeRepasUpdateErrorTypeEnum","Unhandled","Validation","TransmissionElixir","formatDate","commande_repas_projector_CommandeRepasProjector","apiPrestas","apiPresta","familles","projectDailyFamilles","plats","projectDailyPlats","apiCmdRepas","valide","semaines","autoriserDepassementEffectif","autoriserInsuffisanceEffectif","convives","projectConvives","convivesDisponibles","lieuCommandes","lieuCommandeDisponibles","jourFinSemaine","projectJours","modifiePar","dateModification","exportRequis","convivesApi","convApi","abrege","projectPeriode","quantitePiqueNique","projectPrestations","tooltipText","getPeriodeTypeText","startDate","endDate","dateReference","projectPeriodeType","regimeLibelle","dateExport","dateImport","prestationTooltipInfo","hasCCUpdatedAfterTransmission","historique","isLastTransmission","fpToAdd","newFp","existingFp","newPortions","newP","presta","prestasApi","prestaDico","projectModeSaisie","prestationOrdre","handleSpecificData","projectFamillePlats","toReturn","famillesPlatsApi","famillePlatId","nombreLimitePlats","projectPortions","portionApi","platId","restaurantId","lieuCommandeId","conviveId","prestaDataList","prestas","effectif","projectPortionUpdate","toISODateString","famillesPlats","Array","apiError","Jours","apiJour","FamillePlats","apiFp","EffectifId","Name","Index","Code","Portions","apiPortion","Id","Prestations","RegimeId","ErrorType","PRESTACLOSED_KEY","commande_repas_service_CommandeRepasService","cmdRepasApiService","effectifPortionsFamillePlats","fcControlList","cuisineId","restId","getMenu","projectDailyMenus","isPiqueNique","getCommandeRepas","clearDictionaries","projectCmdRepas","commandeRepasUpdate","projectCmdRepasUpdate","obs","postCommandeRepas","contentError","Content","errorProjected","projectCmdRepasError","handlePostCommandeRepasErrors","errContent","ctrl","addServerValidator","effectifDico","prestaName","fpName","updateFamillePlat","ctrls","getEffectifPortionControlsByEffectifAndFamillePlats","addFamillePlatServerValidator","grandCompteId","exportEcarts","dateDebut","dateFin","exportBilanRepas","exportCommandeValorisee","prestaId","addToList","deleteFromList","getObject","RenderType_PrestationComponent","View_PrestationComponent_1","onChange","onFocus","onKeyUp","handlePrestaSansPorcFocusOut","NumberValueAccessor","FormControlDirective","form","currVal_11","isCurrent","View_PrestationComponent_4","View_PrestationComponent_3","applyZeroPortions","View_PrestationComponent_7","handlePortionPercentageFocusOut","currVal_8","View_PrestationComponent_6","View_PrestationComponent_5","FormGroupDirective","View_PrestationComponent_2","View_PrestationComponent_0","handlePrestaFocusOut","currVal_23","repas_jour_vignette_directive_RepasJourVignetteDirective","cls","jourType","translate_slider_directive_TranslateSliderDirective","width","innerWidth","translateEmitter","debounceTime","setTranslate","translateSlider","setStyle","TranslateYSliderDirective","translateYSlider","date_selector_component_DateSelectorComponent","previewClick","nextClick","selectedJourChange","selectedJour","_selectedJour","isSwipeNextAllowed","isSwipePrevAllowed","jourModel","RenderType_DateSelectorComponent","View_DateSelectorComponent_3","selectedRange","View_DateSelectorComponent_6","View_DateSelectorComponent_7","View_DateSelectorComponent_5","View_DateSelectorComponent_9","View_DateSelectorComponent_10","View_DateSelectorComponent_8","View_DateSelectorComponent_4","onJourClick","currVal_1","hasError","View_DateSelectorComponent_2","validJours","View_DateSelectorComponent_1","dateRanges","View_DateSelectorComponent_0","onPrevClick","onNextClick","base_component_nav_BaseComponentNav","isNoContent","isRestaurantDisplay","_logoService","_interactionService","selectedDate","selectedRestaurant","_selectedRestaurant","restaurantSubscription","handleNewRestaurant","contratSubscription","isNextWeekAllowed","isPrevWeekAllowed","checkIsDirty","confirm","handleNavigation_imp","newIndex","refreshNavigationAllowed","now","isBetweenDates","firstDay","handleNewDate","dateSelector","handleNavigation","list1","list2","prop","every","item1","l2","RythmeContratEnum","None","QuatreSurSept","CinqSurSept","SeptSurSept","semaine_model_SemaineModel","monday","sunday","endOf","getRangeFromDates","areSameMonth","isHorsRythme","contratRythme","refreshJourIsHorsRythme","DEBOUNCE_CMD_REPAS_MS","repas_component_RepasComponent","reportingService","isLieuCommandeDisplay","isRegle1ButtonDisplay","isConviveDisplay","cmdRepas","isMatriceDeChoixDownloading","isMenuDownloading","isSendingCommandeRepas","_selectedLieuCommande","_selectedConvive","selectedLieuCommande","newLieuCmd","oldLieuCmd","handleNewLieuCommande","selectedConvive","newConvive","oldConvive","handleNewConvive","handleRoute","handleSubscription","initComponent","registerComponent","subscribeDateSelectorEvents","unregisterComponent","prestationComponents","dateRange","semaineDropdown","getCommandeEmitter","refreshList","newRest","selectNewDay","restaurantList","GetPicture2Url","alignRequested","alignPrestations","repasContainer","famillePlatsDic","daysArray","prestaArray","joursLength","prestasLength","prestaList","maxHeight","famillePlatsLength","k","order","getAttribute","fpList","jourIndex","clientHeight","prestaIndex","joursMissingFpHeight","sortedKeys","fpLine","fpLength","missingDays","missingKey","getMissingKey","previousMissingFp","tryGetPreviousMissingFp","height","thisDayPreviousFp","missingData","pmfp","missingDay","missingHeight","missing","prestaKey","prestaLine","dictionary","currentOrder","conv","askGetCommandeRepas","lieuCmd","cmdRepasSubscription","cmdRepasModel","handleNewCommandeRepas","conviveList","lieuCmdList","computeSemaine","computeDisplayRules","areSameDayOfYear","sameConvive","sameLieuCmd","l","prestationsToCollapse","getPrestationsToCollapse","onPrestaToggle_Imp","semaineInfos","preSelectSemaine","si","getDaysBetween","newSemaine","sm","today","getSemainesFromDates","refreshSemaine","semaine","joursToMap","indexCount","jourMap","jToMap","isSame","isEditInfosDisplay","lundi","shouldDisplayRegle1Button","blockUI","cleanAllServerValidators","prestaData","getData","releaseUI","fullScreen","setCallBack","errorModel","onErrorClicked","dates","oldJour","tryFocusControl","prestaError","prestaControl","applyRule1","handleToggle","classes","report$","getCommandeRepasMatriceDeChoix","handleReportResponse","getCommandeRepasMenu","string_helper_StringHelper","StringHelper","str","deburr","text","search","caseSensitive","ignoreAccents","toLocaleLowerCase","withoutAccent","json","dateFields","parse","buildJsonDateReviver","_defaultDateReviver","imul","charCodeAt","fieldMatcher","includes","test","minDecimals","maxDecimals","decimalSeparator","toFixed","integerPart","decimalPart","trimEnd","padEnd","seen","WeakSet","has","object","getCircularReplacer","string","replace","log_service_appVersion","log_service_LogService","_apiSettings","_ngZone","consoleAppender","jsnlog","JL","createConsoleAppender","setOptions","level","isDevMode","getTraceLevel","getWarnLevel","appInsightAppender","createAjaxAppender","storeInBufferLevel","sendWithBufferLevel","getErrorLevel","bufferSize","beforeSend","addRequestHeaders","sendLogItems","logItems","successCallback","log","props","logger","n","timestamp","t","toISOString","JSNLogLevelToAppInsightLevel","ai_module","AppInsights","trackTrace","trackException","queue","addTelemetryInitializer","envelope","baseData","properties","time","appenders","_correlationId","xhr","setRequestHeader","msg","runOutsideAngular","debug","info","DumpError","fatal","logPayload","stack","hasToStringOverride","prototype","jsonStringifyCircular","Logger","_logService","_name","Info","Warn","Fatal","LogoRouteService","apiSettings","contratControllerRoute","apiUrl","NavigationService","components","splice","HttpStatusCode","ConnectionRefused","OK","Unauthorized","Forbidden","NotFound","NoContent","FileResultModel","file","filename","httpStatus","file_helper_FileHelper","blob","fileName","msSaveOrOpenBlob","resolveLocalFileSystemURL","externalDataDirectory","entry","getFile","create","createWriter","fileWriter","onwriteend","filePath","decodeURIComponent","nativeURL","plugins","disusered","write","createElement","body","appendChild","style","display","URL","createObjectURL","href","download","click","revokeObjectURL","saveBlob","response","headers","httpClient","observe","responseType","getFileNameFromResponse","status","reader","FileReader","onloadend","result","onerror","errorContent","readAsText","ReportingProjector","reporting_service_ReportingService","_reportingApiService","_log","typeListeArticleId","getEtatCommandeInventaireReport","getBilanCommandeRepasOuPiqueNiqueReport","getPrestations","reportRequest$","fileresult","readBlobAsString","content","showSimpleMessage","saveFile","RenderType_RepasComponent","View_RepasComponent_1","View_RepasComponent_2","View_RepasComponent_3","View_RepasComponent_4","View_RepasComponent_5","onDocumentClick","dateFnStyle","View_RepasComponent_6","View_RepasComponent_8","View_RepasComponent_9","View_RepasComponent_7","View_RepasComponent_12","View_RepasComponent_13","View_RepasComponent_15","onPrestaToggle","FormBuilder","View_RepasComponent_14","View_RepasComponent_16","View_RepasComponent_11","currVal_2","View_RepasComponent_17","View_RepasComponent_18","View_RepasComponent_10","validateCommand","onResize","View_RepasComponent_0","selectedRangeChanged","printMenu","printCommande","View_RepasComponent_Host_0","RepasComponentNgFactory","contact_card_component_ContactCardComponent","contact","_contact","initials","nom","prenom","initialsColor","hash","RenderType_ContactCardComponent","View_ContactCardComponent_1","View_ContactCardComponent_2","View_ContactCardComponent_0","mobile","telephone","email","fonction","ContactListComponent","RenderType_ContactListComponent","View_ContactListComponent_1","View_ContactListComponent_0","contacts","contact_component_ContactComponent","contactService","handleSubs","restSubscription","isLoadingContacts","urgenceContacts","getContacts","hasContacts","estUrgence","restType","ContactProjector","apiContacts","apiContact","estPiqueNique","fax","contact_service_ContactService","contactApiService","projectContacts","RenderType_ContactComponent","View_ContactComponent_1","View_ContactComponent_3","View_ContactComponent_5","View_ContactComponent_6","View_ContactComponent_4","View_ContactComponent_2","View_ContactComponent_0","View_ContactComponent_Host_0","ContactComponentNgFactory","dateFormat_pipe_DateFormatPipe","date_input_component_DateInputComponent","_disabled","placeholder","innerValue","i18n","previousMonth","nextMonth","_viewInitialized","applyPickaday","inputId","currentDate","minDate","calendarInfo","maxDate","availableDays","enableDayFilter","yearRange","getFullYear","removePickaday","attachPickaday","pikaday","field","_inputRef","formatStrict","disableDayFn","isItADisabledDay","showWeekNumber","onSelect","setDate","gotoToday","fn","newDate","RenderType_DateInputComponent","View_DateInputComponent_1","View_DateInputComponent_0","onModelChange","onBlur","currVal_10","showClearButton","HistoryCommandeModel","EtatCommandeEnum","Transmise","ValideeNonTransmise","EnAttenteValidation","TypeListeEnum","Epicerie","Inventaire","TypeListArticleFrequenceEnum","Quotidienne","Hebdomadaire","Mensuelle","PAGE_LENGTH","epicerie_inventaire_component_EpicerieInventaireComponent","epicerieInventaireService","_reportingService","askLoadListeArticlesEmitter","estEnAttenteValidation","isPrintCommandeDownloading","_page","_isInventaire","selectedTypeListeArticle","_selectedTypeListeArticle","validationRequise","oldListeArticleId","getCommandes","page","totalPage","isInventaire","isInv","displayListeArticles","newListeArticles","typeListeArticlesInventaire","typeListeArticlesEpicerie","selectedTypeListeArticles","isTypeListValidationRequise","calendarBase","dateCalendarData","year","getTypeListeArticles","_cuisineCentraleId","_restaurantId","_contratId","typesListeArticleEpicerie","typesListeArticleInventaire","hasLoadedForm","restaurantName","askLoadListeArticles","etat","preventDefault","commandes","computePagination","refreshDisplayedCommandes","isLoadingCommandes","handleNewCommandes","displayedCommandes","ceil","pages","commande","canEdit","navigateToEdit","navigateToConsult","actif","dateFinInventaire","isSameOrAfter","dateDebutInventaire","isSameOrBefore","noInventaireError","toShortDateString","navigate","queryParams","commandeId","consult","stopPropagation","duplicate","notifConfirmModel","deleteCommande","imprimerCommande","CommandeModel","ArticleModel","ArticleApiModel","ArticleDetailApiModel","epicerie_inventaire_projector_EpicerieInventaireProjector","article","quantity","unite","unitPrice","qteLimite","prix","typeListeArticle","tl","projectTypeListArticle","typeListeApi","estGratuit","frequence","commandesResponse","historyCommande","numberArticles","nombreArticles","peutModifier","canDuplicate","peutCopier","canDelete","peutSupprimer","dateLivraison","dateCommande","estTransmise","estValidee","dateValidation","dateReception","articles","art","projectArticleDetailToCartArticle","dateLivraisons","epicerie_inventaire_service_EpicerieInventaireService","epicerieInventaireApiService","showCartEmitter","QuantiteMax","CartMaxLength","currentCartArticles","currentCartLength","articleModel","cartArticle","projectArticleToCartArticle","handleNewArticle","newArticle","maxQuantity","existing","warnMaxCartReached","warnMaxArticlesReached","warning","extendedTimeOut","displayCart","_displayCart","showCart","getArticles","projectArticles","getArticlePicture","projectTypeListeArticles","dateDuMois","getAvailableDateLivraison","projectDateLivraisons","typeList","projectCommandesResponseToHistoryCommande","getCommande","projectCommande","getTypeListeArticle","createCommande","projectArticleDetails","saveCommande","RenderType_EpicerieInventaireComponent","View_EpicerieInventaireComponent_2","NgSelectOption","SelectControlValueAccessor","ngValue","View_EpicerieInventaireComponent_1","View_EpicerieInventaireComponent_3","View_EpicerieInventaireComponent_5","View_EpicerieInventaireComponent_6","View_EpicerieInventaireComponent_4","ngIfElse","View_EpicerieInventaireComponent_7","checked","CheckboxControlValueAccessor","View_EpicerieInventaireComponent_8","View_EpicerieInventaireComponent_9","View_EpicerieInventaireComponent_12","View_EpicerieInventaireComponent_11","View_EpicerieInventaireComponent_13","View_EpicerieInventaireComponent_15","View_EpicerieInventaireComponent_16","View_EpicerieInventaireComponent_17","View_EpicerieInventaireComponent_18","View_EpicerieInventaireComponent_14","openCommande","navigateToDuplicate","currVal_9","getToolTip","currVal_5","View_EpicerieInventaireComponent_10","View_EpicerieInventaireComponent_20","View_EpicerieInventaireComponent_21","changePage","isPageDisplayed","View_EpicerieInventaireComponent_22","View_EpicerieInventaireComponent_19","prev","View_EpicerieInventaireComponent_0","DatePipe","LOCALE_ID","searchCommandes","RadioControlValueAccessor","Injector","navigateToCreate","currVal_57","View_EpicerieInventaireComponent_Host_0","EpicerieInventaireComponentNgFactory","pretty_price_component_PrettyPriceComponent","price","formatDecimal","RenderType_PrettyPriceComponent","View_PrettyPriceComponent_0","ArticleComponent","_epicerieService","_cd","QUANTITY_MIN","QUANTITY_MAX","showPrice","articlePicture","activated","addArticle","markForCheck","RenderType_ArticleComponent","View_ArticleComponent_1","View_ArticleComponent_3","decrementCount","incrementCount","addToCart","View_ArticleComponent_4","View_ArticleComponent_2","View_ArticleComponent_0","outsideZone","zone","source","observer","sticky_block_directive_StickyBlockDirective","ngZone","mobileMQ","stickyBlock","setDefaults","container","blockClass","containerClass","scrollContainer","documentElement","onScrollSubscription","fromEvent","checkSticky","setDimensions","elementHeight","containerHeight","winHeight","stickyClass","stickyBottomClass","resetDisplay","matchMedia","matches","elementWidth","clientWidth","containerTopOffset","offsetTop","containerBottomOffset","stickyBottomPos","isScrollable","setScrollPos","scrollPos","isStickyBottom","isSticky","setClasses","scrollTop","scrollY","removeProperty","currency_euro_pipe_CurrencyEuroPipe","CartComponent","epicerieService","totalPrice","reduce","lastValue","RenderType_CartComponent","View_CartComponent_1","View_CartComponent_3","View_CartComponent_4","deleteArticle","View_CartComponent_2","View_CartComponent_5","View_CartComponent_0","DEBOUNCE_FILTER","CREATION_WARNING_HOUR_LIMIT","epicerie_inventaire_create_component_EpicerieInventaireCreateComponent","cartArticles","isSendingCommand","validationButtonLabel","_dateLivraison","availableDateLivraisons","isDateDirty","dateLivraisonComponent","setNewDate","clearCartArticles","searchIsVisible","filterArticlesEmitter","filteredArticles","searchText","toLowerCase","focusEmitter","searchInput","hour","typeListe","isCommandeJustCreated","getTypeListeArticleInfo","_typeListeArticleId","mergeMap","typeListName","typeListType","tryPromptMessageAfterHourLimit","hours","newCommande","cmd","handleGetArticles","handleDateLivraisons","dateLivraisonCalendarData","addMonth","observeOn","asap","combineLatest","tuple","restaurantType","handleGetOrCreateCommande","cartIsVisible","AllowedFeatureEnum","CommandeRepas","PiqueNiques","EpicerieInventaire","Documentheque","Discussion","ObservatoireDuGout","Reporting","Contacts","BonLivraison","Administration","ROUTE_URLS","Home","CmdRepas","PiqueNique","Observatoire","Login","Contact","user_info_model_UserInfoModel","fullName","allowedFeatures","cuisines","grandComptes","current","allRestaurants","featureLink","feature","linkToFeatureEnum","link","af","JwtHelper","token","parts","decoded","urlBase64Decode","decodeToken","setUTCSeconds","exp","offsetSeconds","getTokenExpirationDate","output","b64DecodeUnicode","String","bs","buffer","bc","charAt","fromCharCode","b64decode","authentication_token_model_AuthenticationToken","accessToken","authToken","refreshToken","accessTokenExpirationDate","refreshTokenExpirationDate","isExpired","expirationDate","AuthTokenProjector","apiModel","user_info_projector_UserInfoProjector","userApi","firstName","lastName","toLocaleUpperCase","projectCuisines","projectGrandComptes","userId","projectAllowedFeatures","apiFeatures","contractsApi","projectRestaurants","cuisineCentraleCode","contratsApi","cuisinesById","projectContracts","grandComptesById","restauApi","projectRestaurantType","MENU_IMG_BASE_FOLDER","MenuLinkModel","path","description","isSpecialHeight","isInHomeTile","img","icon","USER_STORAGEKEY","LEGACY_RTOKEN_STORAGEKEY","LEGACY_TOKEN_STORAGEKEY","authentication_service_AuthenticationService","_apiAuthenticationService","_router","_sessionStorageService","_localStorageService","_currentTokenSubject","currentToken","currentToken$","shareReplay","_currentUserSubject","currentUser","_token","loadStoredToken","storeToken","_user","loadStoredUser","storeUser","username","password","login","authData","projectFromApi","loadUser","checkExpiration","canRefreshToken","isAccessTokenExpired","isRefreshTokenExpired","me","apiUserModel","projectUserInfo","tap","setObject","keyPrefix","sessionUser","throwError","refresh","rerouteToLogin","redirectUrl","getToken","sendPassword","subtract","hasAccessToFeature","RenderType_EpicerieInventaireCreateComponent","View_EpicerieInventaireCreateComponent_2","View_EpicerieInventaireCreateComponent_3","View_EpicerieInventaireCreateComponent_1","View_EpicerieInventaireCreateComponent_4","validate","hideCart","View_EpicerieInventaireCreateComponent_5","View_EpicerieInventaireCreateComponent_6","View_EpicerieInventaireCreateComponent_7","View_EpicerieInventaireCreateComponent_0","DOCUMENT","showSearch","currVal_4","currVal_13","currVal_15","currVal_16","currVal_18","currVal_27","currVal_28","currVal_6","View_EpicerieInventaireCreateComponent_Host_0","EpicerieInventaireCreateComponentNgFactory","export_bilan_repas_component_ExportBilanRepasComponent","_commandeRepasService","_authService","isDowloading","isAllowed","allowGrandCompte","_selectedGrandCompte","_selectedCuisine","selectedContrat","dateConsoDebut","dateConsoFin","selectedGrandCompte","selectedCuisine","getGrandCompteContrats","Set","size","RenderType_ExportBilanRepasComponent","View_ExportBilanRepasComponent_3","View_ExportBilanRepasComponent_6","View_ExportBilanRepasComponent_5","View_ExportBilanRepasComponent_8","View_ExportBilanRepasComponent_9","View_ExportBilanRepasComponent_7","View_ExportBilanRepasComponent_11","View_ExportBilanRepasComponent_12","View_ExportBilanRepasComponent_10","View_ExportBilanRepasComponent_4","View_ExportBilanRepasComponent_2","export","View_ExportBilanRepasComponent_13","View_ExportBilanRepasComponent_1","View_ExportBilanRepasComponent_0","export_ecarts_component_ExportEcartsComponent","RenderType_ExportEcartsComponent","View_ExportEcartsComponent_3","View_ExportEcartsComponent_6","View_ExportEcartsComponent_5","View_ExportEcartsComponent_8","View_ExportEcartsComponent_9","View_ExportEcartsComponent_7","View_ExportEcartsComponent_11","View_ExportEcartsComponent_12","View_ExportEcartsComponent_10","View_ExportEcartsComponent_4","View_ExportEcartsComponent_2","View_ExportEcartsComponent_13","View_ExportEcartsComponent_1","View_ExportEcartsComponent_0","exports_odg_component_ExportsOdgComponent","_odgReportingService","isLoadingOdgPrestationsConvives","_selectedContrat","_dateConsoDebut","_dateConsoFin","_perimeterState","prestationsConvives","selectedPrestations","selectedConvives","updatePerimeterState","perimeter","getPrestationsConvives","sp","sc","loadOdgPrestationsConvives","exportRecapitulatifDesPlats","exportSyntheseDetailleePlats","exportSyntheseObservations","OdgReportingService","_odgReportingApiService","odgPrestationIds","odgConviveIds","RenderType_ExportsOdgComponent","View_ExportsOdgComponent_3","View_ExportsOdgComponent_6","View_ExportsOdgComponent_5","View_ExportsOdgComponent_8","View_ExportsOdgComponent_9","View_ExportsOdgComponent_7","View_ExportsOdgComponent_11","View_ExportsOdgComponent_12","View_ExportsOdgComponent_10","View_ExportsOdgComponent_4","handleKeyDown","ng_select_ng_select_ngfactory","ng_select_ng_select","bindLabel","notFoundText","loadingText","loading","closeOnSelect","multiple","optionTemplate","optgroupTemplate","labelTemplate","multiLabelTemplate","headerTemplate","footerTemplate","notFoundTemplate","typeToSearchTemplate","loadingTextTemplate","tagTemplate","loadingSpinnerTemplate","ngOptions","useDefaultClass","typeahead","addTag","searchable","clearable","filtered","View_ExportsOdgComponent_2","View_ExportsOdgComponent_13","View_ExportsOdgComponent_1","View_ExportsOdgComponent_0","export_non_conformites_component_ExportNonConformitesComponent","_bonLivraisonService","exportNonConformites","LivraisonStatut","NonLivre","Conforme","NonConforme","ReceptionStatut","NA","Valide","Manque","Excedent","MiseEnConformiteStatut","ARelivrer","BonLivraisonStatut","ALivrer","AReceptionner","AReceptionnerCloture","ManqueCloture","parseDate","dateString","bon_livraison_projector_BonLivraisonProjector","bonLivraisonPrestations","projectBonLivraisonPrestation","nonConformites","projectBonLivraisonTypeNonConformite","settings","projectBonLivraisonSettings","dateConsommation","dateCreation","livraisonDate","receptionDate","miseEnConformiteDate","dateCloture","dateFinReception","dateDLCMin","livraisonStatut","receptionStatut","miseEnConformiteStatut","statut","typeNonConformites","bonLivraisonPrestationEffectifs","projectBonLivraisonPrestationEffectif","bonLivraisonFamillePlats","projectBonLivraisonFamillePlat","bonLivraisonPlats","projectBonLivraisonPlat","livraisonDLC","bonLivraisonComposants","projectBonLivraisonComposant","BonLivraisonTemperatureStatus","Tolere","InvalidTemperatureStatuses","BonLivraisonDLCStatus","InvalidDLCStatuses","bon_livraison_service_BonLivraisonService","bonLivraisonApiService","getBonsLivraisonListe","bonsLivraisonListModels","projectBonLivraisonListe","codeBonLivraison","getBonLivraison","bonLivraisonApiModel","projectBonLivraison","bonLivraisonCode","signature","tournee","request","bonLivraisonPlatId","livraisonTemperature","declarerBonLivre","defauts","composants","bonLivraisonComposantId","quantiteLivreeRelative","receptionnerBon","conforme","nonConformiteIds","miseEnConformiteBon","exportManques","bonLivraison","getPlats","pl","getComposants","computeDLCStatus","computeTemperatureStatus","temperature","temperatureConformeMin","temperatureConformeMax","toleranceTemperatureMin","toleranceTemperatureMax","dateDlc","dlcPlats","temperaturePlats","nonConformiteDlcPlats","nonConformiteTemperaturePlats","dlcStatus","dlcPlat","temperatureStatus","temperaturePlat","RenderType_ExportNonConformitesComponent","View_ExportNonConformitesComponent_3","View_ExportNonConformitesComponent_6","View_ExportNonConformitesComponent_5","View_ExportNonConformitesComponent_8","View_ExportNonConformitesComponent_9","View_ExportNonConformitesComponent_7","View_ExportNonConformitesComponent_11","View_ExportNonConformitesComponent_12","View_ExportNonConformitesComponent_10","View_ExportNonConformitesComponent_4","View_ExportNonConformitesComponent_2","View_ExportNonConformitesComponent_13","View_ExportNonConformitesComponent_1","View_ExportNonConformitesComponent_0","export_manques_component_ExportManquesComponent","RenderType_ExportManquesComponent","View_ExportManquesComponent_3","View_ExportManquesComponent_6","View_ExportManquesComponent_5","View_ExportManquesComponent_8","View_ExportManquesComponent_9","View_ExportManquesComponent_7","View_ExportManquesComponent_11","View_ExportManquesComponent_12","View_ExportManquesComponent_10","View_ExportManquesComponent_4","View_ExportManquesComponent_2","View_ExportManquesComponent_13","View_ExportManquesComponent_1","View_ExportManquesComponent_0","export_enquetes_component_ExportEnquetesComponent","_alertesService","exportEnquetesSatisfaction","notifications_model_NotificationsModel","alerteShortMessage","hasDisplayableNotification","extractAlerteAlternativeMessage","getFirstUnreadAlerte","getFirstReplyedEnquete","shouldAutoDisplayNotifications","received","isAfter","showAfterDate","countUnread","alertesWithState","enquetesWithState","match","exec","fallbackToFirst","ApiSettings","alertes_api_service_AlertesApiService","AlertesApiService","_http","ngInjectableDef","http","HttpClient","providedIn","enquetes_api_service_CONTROLLER_URL","enquetes_api_service_EnquetesApiService","EnquetesApiService","reponse","post","HttpParams","append","StorageType","Local","Session","browser_storage_service_StorageServiceBase","storageType","_storage","localStorage","_serviceName","LocalStorageService","sessionStorage","SessionStorageService","buildStorageKey","setItem","clearItem","getItem","jsonParseWithDates","removeItem","itemToAdd","itemToDelete","RECEIVEDALERTES_KEY","RECEIVEDENQUETES_KEY","alertes_service_AlertesService","AlertesService","_alertesApi","_enquetesApi","_notificationUpdatedSubject","Subject","notifications$","merge","getNotifications","getRestaurantAlertes","getRestaurantEnquetes","forkJoin","loadReceivedNotifications","hasNoOverflow","pushEnqueteReponses","storeReceivedNotification","notifyNotificationsUpdated","empty","newReceivedAlertes","getExpirationDate","recurrence","newReceivedEnquetes","serverPersisted","isBefore","RenderType_ExportEnquetesComponent","View_ExportEnquetesComponent_3","View_ExportEnquetesComponent_6","View_ExportEnquetesComponent_5","View_ExportEnquetesComponent_8","View_ExportEnquetesComponent_9","View_ExportEnquetesComponent_7","View_ExportEnquetesComponent_11","View_ExportEnquetesComponent_12","View_ExportEnquetesComponent_10","View_ExportEnquetesComponent_4","View_ExportEnquetesComponent_2","View_ExportEnquetesComponent_13","View_ExportEnquetesComponent_1","View_ExportEnquetesComponent_0","export_suivi_qualite_component_ExportSuiviQualiteComponent","_discussionService","FileTypeEnum","Image","Word","Excel","Powerpoint","Other","DiscussionStatusEnum","Ouvert","Ferme","FILE_PPTX","FILE_PPT","FILE_DOCX","FILE_DOC","FILE_XLSX","FILE_XLS","nameof","discussion_projector_DiscussionProjector","apiTypes","BuildTypeInterventionGroups","typeInterventions","typeInterventionsByGroupe","groupBy","ti","groupe","typeInterventionGroups","tiGroupe","groupeTypeInterventions","entries","typeMaintenancesByGroupe","typeMaintenances","tm","typeMaintenanceGroups","tmGroupe","groupeTypeMaintenances","typeNonConformite","templateMessage","descriptionObligatoire","apiMessages","apiMsg","projectMessage","texte","utilisateur","fromOtherUser","utilisateurId","documents","projectDocuments","apiDocuments","apiDoc","nomFichier","typeMime","getTypeFromTypeMime","extension","getExtension","hasMiniature","splitted","startsWith","apiDiscussions","apiDisc","lu","sujet","typeInterventionId","typeIntervention","typeMaintenanceId","typeMaintenance","projectDiscussionStatut","peutCloturer","peutRequalifier","apiStatut","discussion_service_DiscussionService","discussionApiService","getTypeInterventionsForContrat","types","projectTypeInterventions","files","sendNewDiscussion","discussionId","requalifierDiscussion","isDiscussionsOuvertes","searchFilter","getDiscussions","discussions","projectDiscussions","getDiscussionMessages","messages","projectMessages","cloturerDiscussion","sendNewMessage","lireDiscussion","getUnreadCount","unreadCount","documentId","getDocument","getThumbnailSrc","RenderType_ExportSuiviQualiteComponent","View_ExportSuiviQualiteComponent_3","View_ExportSuiviQualiteComponent_6","View_ExportSuiviQualiteComponent_5","View_ExportSuiviQualiteComponent_8","View_ExportSuiviQualiteComponent_9","View_ExportSuiviQualiteComponent_7","View_ExportSuiviQualiteComponent_11","View_ExportSuiviQualiteComponent_12","View_ExportSuiviQualiteComponent_10","View_ExportSuiviQualiteComponent_4","View_ExportSuiviQualiteComponent_2","View_ExportSuiviQualiteComponent_13","View_ExportSuiviQualiteComponent_1","View_ExportSuiviQualiteComponent_0","FilterBaseModel","commande_repas_filter_model_CommandeRepasFilterModel","epicerie_inventaire_filter_model_EpicerieInventaireFilterModel","loadingData","MatriceDeChoixFilterModel","lieuCommandeList","semaineList","selectedSemaine","DEBOUNCE_EMITTER","EPICERIE_LABEL","INVENTAIRE_LABEL","reporting_component_ReportingComponent","cmdRepasService","epicerieInventaireFilter","epicerieInventaireEmitter","selectTypeListeArticle","commandeRepasFilter","handleSubscribe","matriceDeChoixFilter","startOfWeek","initMatriceDeChoixFilter","typeListeArticles","downloading","getBilanCommandeRepasOuPiqueNiqueReportForAllRestaurant","isDownloading","RenderType_ReportingComponent","View_ReportingComponent_2","View_ReportingComponent_5","View_ReportingComponent_4","View_ReportingComponent_6","View_ReportingComponent_3","View_ReportingComponent_1","downloadButtonText","View_ReportingComponent_7","View_ReportingComponent_9","View_ReportingComponent_12","View_ReportingComponent_11","View_ReportingComponent_14","View_ReportingComponent_13","View_ReportingComponent_15","View_ReportingComponent_10","View_ReportingComponent_8","View_ReportingComponent_16","View_ReportingComponent_0","View_ReportingComponent_Host_0","ReportingComponentNgFactory","format_bon_livraison_statut_pipe_FormatBonLivraisonStatutPipe","formatBonLivraisonStatut","BonLivraisonApiErrorCodes","BonLivraisonNotFound","QUAGGA_DEFAULT_CONFIG","inputStream","constraints","aspectRatio","facingMode","singleChannel","locator","patchSize","halfSample","locate","numOfWorkers","decoder","readers","drawBoundingBox","showFrequency","drawScanline","showPattern","popup_search_code_barre_component_PopupSearchCodeBarreComponent","bonLivraisonService","configQuagga","console","codeResult","_inputCodeBarre","cuisineCode","codeBarre","toUpperCase","bon_livraison_component_BonLivraisonComponent","BonLivraisonStatutEnum","contratPicture","askLoadListeBLsEmitter","listeBonsLivraison","isLoadingBonsLivraison","askLoadListeBLs","bons","RenderType_BonLivraisonComponent","View_BonLivraisonComponent_1","View_BonLivraisonComponent_3","View_BonLivraisonComponent_4","View_BonLivraisonComponent_5","navigateToDetails","View_BonLivraisonComponent_2","View_BonLivraisonComponent_0","OpenAjouterBL","searchBonsLivraison","currVal_30","View_BonLivraisonComponent_Host_0","BonLivraisonComponentNgFactory","format_temperature_pipe_FormatTemperaturePipe","unit","livraison_temperature_component_LivraisonTemperatureComponent","isModifiable","step","TemperatureStatusEnum","increment","newTemperature","temp","toNumber","RenderType_LivraisonTemperatureComponent","View_LivraisonTemperatureComponent_1","incrementTemperature","parseTemperature","View_LivraisonTemperatureComponent_2","View_LivraisonTemperatureComponent_0","livraison_dlc_component_LivraisonDlcComponent","DLCStatusEnum","RenderType_LivraisonDlcComponent","View_LivraisonDlcComponent_1","View_LivraisonDlcComponent_2","View_LivraisonDlcComponent_0","format_livraison_statut_pipe_FormatLivraisonStatutPipe","formatStatut","hasDlcFault","checkHasDlcFault","hasTemperatureFault","checkHasTemperatureFault","faults","format_reception_statut_pipe_FormatReceptionStatutPipe","format_mise_en_conformite_statut_pipe_FormatMiseEnConformiteStatutPipe","bon_livraison_info_header_component_BonLivraisonInfoHeaderComponent","LivraisonStatutEnum","ReceptionStatutEnum","MiseEnConformiteStatutEnum","isInfoBonCollapsed","notifyDateFinReceptionExpired","dateFinReceptionExpired","dateClotureExpired","notifyDateClotureExpired","RenderType_BonLivraisonInfoHeaderComponent","View_BonLivraisonInfoHeaderComponent_1","livraisonUtilisateur","currVal_7","View_BonLivraisonInfoHeaderComponent_2","receptionUtilisateur","View_BonLivraisonInfoHeaderComponent_4","View_BonLivraisonInfoHeaderComponent_3","miseEnConformiteUtilisateur","View_BonLivraisonInfoHeaderComponent_0","toggleInfoBon","bonlivraison_info_panel_component_BonlivraisonInfoPanelComponent","releveLivraison","getReleveLivraison","RenderType_BonlivraisonInfoPanelComponent","View_BonlivraisonInfoPanelComponent_2","livraisonCommentaire","View_BonlivraisonInfoPanelComponent_4","View_BonlivraisonInfoPanelComponent_3","View_BonlivraisonInfoPanelComponent_6","View_BonlivraisonInfoPanelComponent_5","View_BonlivraisonInfoPanelComponent_7","livraisonSignature","View_BonlivraisonInfoPanelComponent_1","View_BonlivraisonInfoPanelComponent_9","receptionCommentaire","View_BonlivraisonInfoPanelComponent_8","View_BonlivraisonInfoPanelComponent_12","View_BonlivraisonInfoPanelComponent_11","View_BonlivraisonInfoPanelComponent_13","miseEnConformiteCommentaire","View_BonlivraisonInfoPanelComponent_10","View_BonlivraisonInfoPanelComponent_0","filter_allowed_famille_plat_pipe_FilterAllowedFamillePlatPipe","livraisonExcludeFamillePlatIds","livraison_popup_validation_component_LivraisonPopupValidationComponent","showNonConformePrompt","_data","loadModel","_relevesLivraison","hasNonConformiteTemperature","hasNonConformiteDlc","hasPlatFaults","allowLivraison","peutLivrer","hasModification","isCommentaireRequired","erreurValidationMessage","validateForm","livrerBon","remainingDuration","duration","delaisReception","humanize","checkSignature","releves","signatureImage","signatureControl","toDataURL","validateAllFormFields","valid","formGroup","FormControl","markAsTouched","onlySelf","FormGroup","targetElement","scrollIntoView","livraison_bon_livraison_component_LivraisonBonLivraisonComponent","isLoadingBonLivraison","askLoadDetailsBLEmitter","hasChanged","detailsBonLivraison","_originalBonLivraisonCheckSum","checkSumTemperatureDLC","canValidate","checkReleveCount","askToGetDetails","_currentRestaurantId","updateCurrentRestaurantIfNeeded","bonLivraisonContrat","bonLivraisonResto","releveTemperatureMin","releveDlcMin","RenderType_LivraisonBonLivraisonComponent","View_LivraisonBonLivraisonComponent_1","View_LivraisonBonLivraisonComponent_3","View_LivraisonBonLivraisonComponent_4","View_LivraisonBonLivraisonComponent_7","View_LivraisonBonLivraisonComponent_6","View_LivraisonBonLivraisonComponent_5","View_LivraisonBonLivraisonComponent_2","View_LivraisonBonLivraisonComponent_0","View_LivraisonBonLivraisonComponent_Host_0","LivraisonBonLivraisonComponentNgFactory","ComposantsLivresComponent","HasChanged","composant","_originalQuantiteLivreeRelative","formattedQuantiteLivreeRelative","qte","parseFloat","relative","testerPositivite","abs","RenderType_ComposantsLivresComponent","View_ComposantsLivresComponent_1","manqueComposant","KeyValueDiffers","NgClass","klass","ngClass","rouge","View_ComposantsLivresComponent_2","View_ComposantsLivresComponent_0","popup_validation_component_PopupValidationComponent","hasManques","manques","hasExcedents","excedents","hasComposantFaults","hasNonConformite","nc","selected","allowReception","peutReceptionner","forceReceptionOnly","allowConformite","peutMettreEnConformite","nonConformite","commentaireRequis","tnc","bonLivraisonTypeNonConformiteId","isConforme","reception$","checkNonConformite","checkBox","nonConformiteId","parseInt","details_bon_livraison_component_DetailsBonLivraisonComponent","isValidate","_originalBonLivraisonQteLivreeCheckSum","checkSumQteLivree","hasManque","checkHasManque","RenderType_DetailsBonLivraisonComponent","View_DetailsBonLivraisonComponent_1","View_DetailsBonLivraisonComponent_3","View_DetailsBonLivraisonComponent_4","View_DetailsBonLivraisonComponent_8","contenance","View_DetailsBonLivraisonComponent_7","View_DetailsBonLivraisonComponent_6","View_DetailsBonLivraisonComponent_5","View_DetailsBonLivraisonComponent_2","View_DetailsBonLivraisonComponent_0","View_DetailsBonLivraisonComponent_Host_0","DetailsBonLivraisonComponentNgFactory","CircleLoaderComponent","RenderType_CircleLoaderComponent","View_CircleLoaderComponent_0","FILE_IMAGE_PATH","FILE_EXCEL","FILE_WORD","document_thumbnail_component_FILE_PPT","FILE_DEFAULT","FILE_NOMINIATURE","document_thumbnail_component_DocumentThumbnailComponent","discussionService","imageLoadedEmitter","isImage","isOther","loadDocumentThumbnail","imageSource","getFileNameFromType","RenderType_DocumentThumbnailComponent","View_DocumentThumbnailComponent_1","imageLoaded","View_DocumentThumbnailComponent_2","View_DocumentThumbnailComponent_3","View_DocumentThumbnailComponent_0","TakePhotoDirective","_viewContainer","_changeDetectorRef","_updateView","uploader","_uploader","_takePicture","camera","getPicture","imageURI","fileEntry","nativeFile","NativeFile","addToQueue","readAsArrayBuffer","quality","destinationType","Camera","DestinationType","FILE_URI","FileTagListComponent","cd","onAfterAddingFile","fileItem","addedItem","matchingItem","readonly","RenderType_FileTagListComponent","View_FileTagListComponent_1","deleteItem","View_FileTagListComponent_0","requalifier_discussion_component_RequalifierDiscussionComponent","selectedTypeIntervention","_selectedTypeIntervention","selectedTypeMaintenance","_selectedTypeMaintenance","hasTypeInterventions","hasTypeMaintenances","discussion","flatMap","tg","tmg","isSending","throttleTime","onRequalificationSucceed","close","discussion_details_component_DiscussionDetailsComponent","discussionClosed","messageLuTriggered","refreshDiscussionsRequired","discussionMessages","ng2_file_upload","FileUploader","imageLoadedSubs","imageLoadedCount","clearData","clearThumbnailsData","_discussion","isClosed","initialIsClosed","openDiscussion","showTakePictureButton","thumbnailComponents","scrollBottomMessages","isScrollBottomRequired","thumbComponent","onThumbnailImageLoaded","isLoadingMessages","trySendLireDiscussion","discussionLuDecreaseCount","isSendingMessage","_file","clearQueue","clearOnlyForm","messageListElement","element","scrollHeight","typeInterventionGroups$","tiGroups","RenderType_DiscussionDetailsComponent","View_DiscussionDetailsComponent_1","requalifierDemande","View_DiscussionDetailsComponent_2","View_DiscussionDetailsComponent_4","View_DiscussionDetailsComponent_6","downloadDocument","View_DiscussionDetailsComponent_5","View_DiscussionDetailsComponent_3","restaurant-type-border","restaurant-type-background","View_DiscussionDetailsComponent_8","View_DiscussionDetailsComponent_9","View_DiscussionDetailsComponent_10","View_DiscussionDetailsComponent_11","View_DiscussionDetailsComponent_7","sendMessage","file_select_directive","FileSelectDirective","View_DiscussionDetailsComponent_0","new_discussion_component_NewDiscussionComponent","newDiscussionCreated","objet","hasChangedDefaultObjet","_oldSelectedTypeMaintenance","hasChangedDefaultMessage","isTypeInterventionsVisible","isTypeMaintenancesVisible","isDescriptionObligatoire","cancelAll","cleanForm","RenderType_NewDiscussionComponent","View_NewDiscussionComponent_3","View_NewDiscussionComponent_2","View_NewDiscussionComponent_1","View_NewDiscussionComponent_4","View_NewDiscussionComponent_5","View_NewDiscussionComponent_9","View_NewDiscussionComponent_8","View_NewDiscussionComponent_10","View_NewDiscussionComponent_7","submitted","touched","invalid","View_NewDiscussionComponent_11","View_NewDiscussionComponent_12","View_NewDiscussionComponent_13","View_NewDiscussionComponent_6","View_NewDiscussionComponent_14","View_NewDiscussionComponent_0","NgSwitch","ngSwitch","NgSwitchCase","ngSwitchCase","isLoadingTypeInterventions","discussion_component_DiscussionComponent","authenticationService","askLoadDiscussionsEmitter","showFilterOnContrat","_isOuvertSelected","isOuvertSelected","_blockLoadDicussionOnIsOuvertChange","askLoadDiscussions","isLoadingFilters","loadDiscussions","loadTypeInterventions","preselectDiscussionId","filterOnContrat","selectedDiscussion","isLoadingDiscussions","currentDiscussions","newDiscussionComponent","RenderType_DiscussionComponent","View_DiscussionComponent_1","View_DiscussionComponent_2","showNewDiscussion","View_DiscussionComponent_4","View_DiscussionComponent_5","View_DiscussionComponent_6","onDiscussionClick","secondary","View_DiscussionComponent_3","onDiscussionClosed","onRefreshDiscussionsRequired","onMessageLuTriggered","View_DiscussionComponent_0","discussionDetailsComponent","onNewDiscussionCreated","View_DiscussionComponent_Host_0","DiscussionComponentNgFactory","RenderType_RequalifierDiscussionComponent","View_RequalifierDiscussionComponent_1","View_RequalifierDiscussionComponent_4","View_RequalifierDiscussionComponent_3","View_RequalifierDiscussionComponent_2","View_RequalifierDiscussionComponent_5","View_RequalifierDiscussionComponent_8","View_RequalifierDiscussionComponent_7","View_RequalifierDiscussionComponent_9","View_RequalifierDiscussionComponent_6","View_RequalifierDiscussionComponent_0","View_RequalifierDiscussionComponent_Host_0","RequalifierDiscussionComponentNgFactory","RenderType_PopupSearchCodeBarreComponent","View_PopupSearchCodeBarreComponent_1","View_PopupSearchCodeBarreComponent_0","_barcodeScanner","searchBonLivraison","ngSubmit","currVal_20","View_PopupSearchCodeBarreComponent_Host_0","PopupSearchCodeBarreComponentNgFactory","RenderType_PopupValidationComponent","View_PopupValidationComponent_1","View_PopupValidationComponent_4","View_PopupValidationComponent_3","View_PopupValidationComponent_6","View_PopupValidationComponent_5","View_PopupValidationComponent_7","View_PopupValidationComponent_2","View_PopupValidationComponent_8","View_PopupValidationComponent_10","toggleNonConformite","View_PopupValidationComponent_11","View_PopupValidationComponent_9","View_PopupValidationComponent_13","View_PopupValidationComponent_15","View_PopupValidationComponent_16","View_PopupValidationComponent_14","minlength","View_PopupValidationComponent_12","scrollToElement","MinLengthValidator","View_PopupValidationComponent_17","View_PopupValidationComponent_18","View_PopupValidationComponent_19","DeclarerConformite","View_PopupValidationComponent_20","View_PopupValidationComponent_21","DeclarerManque","View_PopupValidationComponent_0","View_PopupValidationComponent_Host_0","PopupValidationComponentNgFactory","livraison_signature_component_LivraisonSignatureComponent","options","onEnd","toData","valueChange","resizeSignaturePad","canvas","resizeCanvas","renderViewValue","renderViewDisabled","_value","initializeSignaturePad","signaturePad","off","signatureData","constructor","fromData","setProperty","on","canvasRef","parentElement","className","signature_pad_min_default","points","imageType","dataURL","canvasHeight","canvasWidth","fromDataURL","RenderType_LivraisonSignatureComponent","View_LivraisonSignatureComponent_0","RenderType_LivraisonPopupValidationComponent","View_LivraisonPopupValidationComponent_1","View_LivraisonPopupValidationComponent_2","View_LivraisonPopupValidationComponent_5","View_LivraisonPopupValidationComponent_4","View_LivraisonPopupValidationComponent_7","View_LivraisonPopupValidationComponent_6","View_LivraisonPopupValidationComponent_3","View_LivraisonPopupValidationComponent_8","View_LivraisonPopupValidationComponent_10","View_LivraisonPopupValidationComponent_11","View_LivraisonPopupValidationComponent_9","View_LivraisonPopupValidationComponent_14","View_LivraisonPopupValidationComponent_15","View_LivraisonPopupValidationComponent_13","View_LivraisonPopupValidationComponent_12","View_LivraisonPopupValidationComponent_16","View_LivraisonPopupValidationComponent_17","DeclarerLivraison","View_LivraisonPopupValidationComponent_18","View_LivraisonPopupValidationComponent_0","View_LivraisonPopupValidationComponent_Host_0","LivraisonPopupValidationComponentNgFactory","smiley_component_scss_shim_ngstyle_styles","OdgModel","odg_model_OdgJourModel","OdgPrestationModel","OdgEvaluationNote","TresBienConsomme","PlutotBienConsomme","PasConsomme","PasConsommeDuTout","smiley_base_SmileyBase","smileyClick","isActive","activeNote","isUnEvaluated","isUnselected","odg_smiley_tbc_component_OdgSmileyTresBienConsommeComponent","RenderType_OdgSmileyTresBienConsommeComponent","View_OdgSmileyTresBienConsommeComponent_0","onSmileyClick","active","unselected","odg_smiley_pbc_component_OdgSmileyPlutotBienConsommeComponent","RenderType_OdgSmileyPlutotBienConsommeComponent","View_OdgSmileyPlutotBienConsommeComponent_0","odg_smiley_pc_component_OdgSmileyPasConsommeComponent","RenderType_OdgSmileyPasConsommeComponent","View_OdgSmileyPasConsommeComponent_0","odg_smiley_pcdt_component_OdgSmileyPasConsommeDuToutComponent","RenderType_OdgSmileyPasConsommeDuToutComponent","View_OdgSmileyPasConsommeDuToutComponent_0","OdgEvaluationComponent","constat","alreadySmth","assaisonnement","consistance","aspect","cleanBadEvaluationData","showBadEvaluation","autreRaison","RenderType_OdgEvaluationComponent","View_OdgEvaluationComponent_1","View_OdgEvaluationComponent_0","odg_prestation_component_OdgPrestationComponent","openBadEvaluation","odgPresta","evaluation","RenderType_OdgPrestationComponent","View_OdgPrestationComponent_1","View_OdgPrestationComponent_0","odgEvaluations","OdgExportFichesEvalutationsModel","periodeLabel","convive","onExport","contratLabel","restaurantLabel","conviveLabel","selectedConviveId","prestationLabel","selectedPrestationId","odg_export_fiches_evalutations_component_OdgExportFichesEvalutationsComponent","DEBOUNCE_ODG_MS","odg_component_OdgComponent","odgService","odg","isSendingOdg","isFicheEvalDownloading","dr","alignOdgPrestations","getOdgEmitter","getOdg","badEvaluationSubscription","getCloseBadEvaluation","askOdg","getRangeForDate","odgRepasContainer","collapsibles","collapsible","odgSubscription","odgModel","odgJours","handleNewOdg","odgConvives","areSameList","postOdg","odgPrestations","popupModel","exportFicheEvaluations","odg_projector_OdgProjector","odgApi","odgContratId","odgRestaurantId","odgJ","odgJourApi","observations","odgP","projectPresta","odgPrestaApi","ev","projectEvaluation","evalApi","autre","menuDetailId","odgConviveId","projectPostOdgJour","odgJour","projectPostOdgPresta","projectPostOdgEvaluation","odgEvaluation","odg_service_OdgService","odgApiService","projectOdg","newOdg","removeUnmodifyEvaluation","projectPostOdg","weekDate","odgPrestationId","newOdgJour","newOdgPrestation","RenderType_OdgComponent","View_OdgComponent_1","View_OdgComponent_2","View_OdgComponent_3","View_OdgComponent_4","View_OdgComponent_6","View_OdgComponent_7","View_OdgComponent_5","View_OdgComponent_10","View_OdgComponent_9","View_OdgComponent_8","validateOdg","View_OdgComponent_0","printFicheEval","currVal_24","View_OdgComponent_Host_0","OdgComponentNgFactory","RenderType_OdgExportFichesEvalutationsComponent","View_OdgExportFichesEvalutationsComponent_1","selectConviveId","View_OdgExportFichesEvalutationsComponent_2","selectPrestationId","View_OdgExportFichesEvalutationsComponent_0","selectRestaurantId","View_OdgExportFichesEvalutationsComponent_Host_0","OdgExportFichesEvalutationsComponentNgFactory","DocumentationTypeEnum","Document","Url","HtmlContent","documentheque_component_DocumenthequeComponent","documenthequeService","domSanitizer","documentsPerPage","totalPages","getDocuments","searchWords","isLoadingDocuments","concatMap","delay","handleNewDocuments","docs","createdAt","refreshDisplayedDocuments","documentationId","displayedDocuments","documentDateOptions","documentheque_projector_DocumenthequeProjector","documentsResponse","documentResp","createdAtString","toLocaleDateString","projectDocumentType","docType","documentheque_service_DocumenthequeService","docApiService","RenderType_DocumenthequeComponent","View_DocumenthequeComponent_1","View_DocumenthequeComponent_3","View_DocumenthequeComponent_4","View_DocumenthequeComponent_2","View_DocumenthequeComponent_6","View_DocumenthequeComponent_7","View_DocumenthequeComponent_8","View_DocumenthequeComponent_5","View_DocumenthequeComponent_0","searchDocuments","View_DocumenthequeComponent_Host_0","DocumenthequeComponentNgFactory","LogoComponent","_class","customclass","logo","RenderType_LogoComponent","View_LogoComponent_0","login_component_appVersion","login_component_LoginComponent","formBuilder","platformId","activeFormClass","errorMessage","isPlatformBrowser","showInternetExplorerWarning","isIE","loginForm","signIn","userInfoModel","redirectOnLogin","navigateByUrl","isPasswordSent","isPasswordFail","passwordFailError","ua","userAgent","RenderType_LoginComponent","View_LoginComponent_1","View_LoginComponent_2","View_LoginComponent_3","View_LoginComponent_0","tryLogin","FormControlName","showForgottenPwd","getPassword","showLogin","showLegalInfos","pristine","View_LoginComponent_Host_0","LoginComponentNgFactory","MealTileComponent","RenderType_MealTileComponent","View_MealTileComponent_0","redirect","MealResumeComponent","RenderType_MealResumeComponent","View_MealResumeComponent_3","View_MealResumeComponent_2","View_MealResumeComponent_1","dailyPrestation","View_MealResumeComponent_4","View_MealResumeComponent_0","MealSliderComponent","initialIndex","initialSlide","centeredSlides","centerInsufficientSlides","effect","coverflowEffect","rotate","stretch","depth","modifier","slideShadows","breakpoints","768","970","1280","dailyPrestations","_dailyPrestations","forceBindingRefresh","RenderType_MealSliderComponent","View_MealSliderComponent_1","View_MealSliderComponent_0","home_component_HomeComponent","menuList$","GetPicture1Url","showNotifications","_notifications","subscribeRestaurant","subscribeContrat","subscribeAlertes","dailyQuote","dailyQuoteTitle","getDailyMenu","prestaModel","mealSlider","handleSliderInitialIndex","firstCurrentSlideIndex","setInitialIndex","RenderType_HomeComponent","View_HomeComponent_1","View_HomeComponent_2","View_HomeComponent_0","openAlerte","View_HomeComponent_Host_0","HomeComponentNgFactory","sandbox_component_SandboxComponent","_clockDate","clockDate","actualParsedDate","normalizedParsedDate","getTime","getTimezoneOffset","parseDateToStringWithFormat","refreshServerClock","serverDate","setServerClock","getServerClock","currentClock","serverDateQueryParam","getMonth","getHours","getMinutes","RenderType_SandboxComponent","View_SandboxComponent_0","setClock","resetClock","onButtonClick","throwException","logInfo","View_SandboxComponent_Host_0","SandboxComponentNgFactory","odg_bad_evaluation_component_OdgBadEvaluationComponent","badEvaluationClose","badEvaluation","closeBadEvaluation","RenderType_OdgBadEvaluationComponent","View_OdgBadEvaluationComponent_0","currVal_36","CartTileComponent","toggleCart","RenderType_CartTileComponent","View_CartTileComponent_0","notif_tile_component_NotifTileComponent","onNotifClick","notifLuSub","decrease","RenderType_NotifTileComponent","View_NotifTileComponent_1","View_NotifTileComponent_0","menu_item_component_MenuItemComponent","onNavigated","RenderType_MenuItemComponent","View_MenuItemComponent_0","HamburgerComponent","RenderType_HamburgerComponent","View_HamburgerComponent_0","right","isRight","AlertesTileComponent","RenderType_AlertesTileComponent","View_AlertesTileComponent_3","View_AlertesTileComponent_2","View_AlertesTileComponent_1","hideIfNoAlerte","View_AlertesTileComponent_0","select_autocomplete_component_SelectAutocompleteComponent","showTooltip","entityChange","getEntities","filteredList","entities","entityFormatter","newEntity","entity","input","forceAutoCompleteReloadList","createEvent","initEvent","dispatchEvent","entityDisplayProp","entityDisplayFunc","RenderType_SelectAutocompleteComponent","View_SelectAutocompleteComponent_0","entityChanged","auto_complete_directive","NguiAutoCompleteDirective","ComponentFactoryResolver","acceptUserInput","listFormatter","noMatchFoundText","matchFormatted","reFocusAfterSelect","zIndex","valueChanged","onInputFocus","onArrowClick","restaurant_selector_component_RestaurantSelectorComponent","showDebugInfo","selectedRestaurantContextChange","selectedRestaurantTooltip","selectedContratTooltip","displayGrandCompteSelector","loadGrandComptes","loadContrats","selectRestaurant","internalSelectableContrats","newContrat","internalSelectedContrat","selectContrat","uniqBy","internalSelectableGrandComptes","newGrandCompte","internalSelectedGrandCompte","gc","selectGrandCompte","newSelectedRestaurant","_oldSelectedRestaurant","internalSelectedRestaurantContext","getRestaurantContrat","formatRestaurantLabel","newSelectedContrat","newRestaurant","newSelectedGrandCompte","grandCompteContrats","codeSearchString","RenderType_RestaurantSelectorComponent","View_RestaurantSelectorComponent_1","onSelectedGrandCompteChanged","formatGrandCompteLabel","View_RestaurantSelectorComponent_0","displayDebugInfo","onSelectedContratChanged","onSelectedRestaurantChanged","layout_header_component_appVersion","layout_header_component_LayoutHeaderComponent","_appSettings","onShowDrawer","pageTitle","menuCheckInput","isChecked","signOut","routerState","snapshot","administrationPageUrl","hasAccessToAdmin","hasAccessToContact","hasAccessToDiscussion","navigated","AppSettings","RenderType_LayoutHeaderComponent","View_LayoutHeaderComponent_1","View_LayoutHeaderComponent_2","redirectToAdmin","View_LayoutHeaderComponent_3","View_LayoutHeaderComponent_4","View_LayoutHeaderComponent_5","navigateToContact","View_LayoutHeaderComponent_6","View_LayoutHeaderComponent_0","navigateToHome","showDrawer","logOff","selectedRestaurantContextChanged","UserInfoComponent","user$","RenderType_UserInfoComponent","View_UserInfoComponent_1","View_UserInfoComponent_0","drawer_component_DrawerComponent","RenderType_DrawerComponent","View_DrawerComponent_1","View_DrawerComponent_2","View_DrawerComponent_3","View_DrawerComponent_0","visible","LoadingOverlayComponent","isDisplay","customMessage","RenderType_LoadingOverlayComponent","View_LoadingOverlayComponent_1","View_LoadingOverlayComponent_2","View_LoadingOverlayComponent_0","PopupComponent","restTypeSubscription","currentNotification","onCheck","isPrintable","print","showPopup","RenderType_PopupComponent","View_PopupComponent_2","checkboxText","View_PopupComponent_3","View_PopupComponent_1","View_PopupComponent_0","RenderType_PopupCustomContentComponent","View_PopupCustomContentComponent_0","popup_custom_component_PopupCustomComponent","withButton","RenderType_PopupCustomComponent","View_PopupCustomComponent_2","View_PopupCustomComponent_1","View_PopupCustomComponent_0","PopupConfirmComponent","RenderType_PopupConfirmComponent","View_PopupConfirmComponent_2","ok","View_PopupConfirmComponent_3","cancel","View_PopupConfirmComponent_1","View_PopupConfirmComponent_0","CORRELATIONTOKEN_STORAGEKEY","CorrelationTokenService","_createCorrelationId","random","substring","analytics_service_AnalyticsService","appInsights","google","dimensions","setUserIdSubject","ReplaySubject","setCorrelationIdSubject","pageTrackSubject","eventTrackSubject","pageTrack$","deepCompare","eventTrack$","setUserId$","setCorrelationId$","subscribeToMainService","subscribeToRouter","trackUrlChange","dimensionValues","dimensionProp","urlAfterRedirects","prepareExternalUrl","base","RenderType_AppComponent","View_AppComponent_1","onBadEvaluationClose","View_AppComponent_2","View_AppComponent_3","View_AppComponent_0","View_AppComponent_Host_0","Location","service_worker","PlatformLocation","ApplicationRef","AppComponentNgFactory","ErrorApiModel","Number","errorResponse","CheckIsErrorApiModel","obj","authentication_apiservice_CONTROLLER_URL","authentication_apiservice_AuthenticationApiService","LOGIN_ACTION_URL","postRequest","payload","catchError","handleError","extraInfo","url_url","base_http_interceptor_BaseHttpInterceptor","_options","canIntercept","handleInterception","handle","isWhitelistedDomain","isBlacklistedRoute","blacklistedRoutes","RegExp","requestUrl","whitelistedDomains","domain","app_http_interceptor_appVersion","app_http_interceptor_AppHttpInterceptor","_correlationTokenService","escapeRegExp","setHeaders","client-correlationId","Ocp-Apim-Subscription-Key","subscriberKey","SKIP_REFRESH_TOKEN_HEADERNAME","TOKEN_EXPIRATION_SERVER_ERRORS","auth_http_interceptor_AuthHttpInterceptor","_httpClient","_authenticationService","shouldRefreshToken","authenticatedRequest","applyBearerToken","HttpErrorResponse","isTokenExpirationServerErrors","relaunchRequest","applySkipRefreshTokenHeader","Authorization","skip","throwErrorFromModel","http_status_codes","UNAUTHORIZED","tokenError","error_handler_http_interceptor_ErrorHandlerHttpInterceptor","BAD_REQUEST","FromHttpErrorResponse","FORBIDDEN","GATEWAY_TIMEOUT","responseContent","statusText","Blob","responseStatus","responseStatusText","commande_repas_apiservice_CommandeRepasApiService","controllerUrl","httpParams","set","ContactApiService","epicerie_inventaire_apiservice_EpicerieInventaireApiService","delete","discussion_apiservice_DiscussionApiService","formData","FormData","bon_livraison_api_service_BonLivraisonApiService","odg_reporting_apiservice_OdgReportingApiService","_controllerUrl","prestationsId","convivesId","reporting_apiservice_ReportingApiService","restaurantIds","resId","odg_apiservice_OdgApiService","documentheque_apiservice_DocumenthequeApiService","w","AnalyticsDimensionMappings","analytics_provider_base_AnalyticsProviderBase","dimensionPropertyMappings","analyticsService","setUserId_internal","pageTrack","mappedDimensions","mapDimensionProperties","pageTrack_internal","eventTrack_internal","mappings","fromProp","appinsights_analytics_provider_AppInsightsAnalyticsProvider","loadStartTime","loadTime","startTimer","stopTimer","trackPageView","trackEvent","setAuthenticatedUserContext","clearAuthenticatedUserContext","app_settings_service_AppSettingsService","reject","XMLHttpRequest","readyState","DONE","responseText","send","google_analytics_provider_GoogleAnalyticsProvider","googleAnalyticsKey","GoogleAnalyticsObject","ga","q","getElementsByTagName","async","src","parentNode","insertBefore","_gaq","prepareDimensionsTracking","category","parsed","eventOptions","eventCategory","eventAction","eventLabel","eventValue","nonInteraction","noninteraction","pathname","analyticsServiceFactory","AnalyticsModule","auth_guard_AuthGuard","prompt_for_nav_guard_PromptForNavGuard","currentRoute","currentState","nextState","canExit","ParametreApiService","shared_module_SharedModule","ngModule","providers","parentModule","elior_error_handler_EliorErrorHandler","ErrorHandler","repas_routing_module_0","ɵ1","RepasRoutingModule","contact_routing_module_0","ContactRoutingModule","epicerie_inventaire_routing_module_0","epicerie_inventaire_routing_module_1","EpicerieInventaireRoutingModule","reporting_routing_module_0","ReportingRouteModule","bon_livraison_routing_module_0","bon_livraison_routing_module_1","ɵ2","BonLivraisonRoutingModule","discussion_routing_module_0","DiscussionRoutingModule","odg_routing_module_0","OdgRoutingModule","documentheque_routing_module_0","DocumenthequeRoutingModule","app_routing_module_0","app_routing_module_1","app_routing_module_2","forRoot","redirectTo","pathMatch","canActivate","AlertesModule","RepasModule","ContactModule","EpicerieInventaireModule","DiscussionModule","BonLivraisonModule","OdgReportingModule","ReportingModule","OdgModule","DocumenthequeModule","AppModuleNgFactory","auto_complete_component_ngfactory","router_ngfactory","ngx_toastr_ngfactory","NgModuleRef","NgLocalization","NgLocaleLocalization","APP_ID","g","p0_1","p0_2","p2_0","p2_1","p2_2","p2_3","browser","animations","RendererFactory2","Testability","fesm2015_animations","HttpXsrfTokenExtractor","XhrFactory","HttpXhrBackend","HttpBackend","HttpHandler","HTTP_INTERCEPTORS","p1_1","p1_2","p3_0","p3_1","z","NgModuleFactoryLoader","Compiler","E","ViewportScroller","C","A","APP_BOOTSTRAP_LISTENER","CommonModule","FormsModule","auto_complete_module","NguiAutoCompleteModule","NgProbeToken","u","enabled","APP_INITIALIZER","B","load","apiSubscriberKey","appInsightsInstrumentationKey","downloadAndSetup","instrumentationKey","application","ver","build","catch","ApplicationInitStatus","ApplicationModule","ReactiveFormsModule","HttpClientXsrfModule","HttpClientModule","x","LocationStrategy","APP_BASE_HREF","SystemJsNgModuleLoader","SystemJsNgModuleLoaderConfig","canDeactivate","file_upload_module","FileUploadModule","default","maxOpened","closeButton","tapToDismiss","countDuplicates","positionClass","disableTimeOut","onActivateTick","enableHtml","preventDuplicates","File","enableProdMode","bootstrapModuleFactory"],"mappings":"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","file":"main-es2015.0f3b211723b0111bb3ea.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"crnd\";","var map = {\n\t\"./fr.js\": \"nyYc\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"lBAT\";","import { AppSettings } from \"../app/shared/models/app-settings.model\";\r\n// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `angular-cli.json`.\r\n\r\nexport const environment = {\r\n debugInfo: false,\r\n production: true,\r\n mockOdgService: false,\r\n FallBackAppSettings: null as AppSettings // Settings de remplacement si le webhost n'est pas joignable (utilisé en local pour le dev \"ng serve\")\r\n};\r\n","import { AppInsights } from 'applicationinsights-js';\r\nimport { ToastrModule } from 'ngx-toastr';\r\n\r\nimport { NguiAutoCompleteModule } from '@ngui/auto-complete';\r\n\r\nimport { OdgModule } from './odg/odg.module';\r\nimport { DocumenthequeModule } from './documentheque/documentheque.module';\r\nimport { DiscussionModule } from './discussion/discussion.module';\r\nimport { ReportingModule } from './reporting/reporting.module';\r\nimport { BrowserModule, Title } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n// import { NoopAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ErrorHandler, NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n// A privilégier\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\nimport { ServiceWorkerModule } from '@angular/service-worker';\r\n\r\n// Feature module\r\nimport { EpicerieInventaireModule } from './epicerie-inventaire/epicerie-inventaire.module';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { ContactModule } from './contact/contact.module';\r\nimport { routing } from './app-routing.module';\r\nimport { AnalyticsModule } from './analytics/analytics.module';\r\nimport { RepasModule } from './repas/repas.module';\r\n\r\n// Components\r\nimport { PopupComponent } from './popup/popup.component';\r\nimport { AppComponent } from './app.component';\r\nimport { DrawerComponent } from './drawer/drawer.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { MealResumeComponent } from './meal-resume/meal-resume.component';\r\nimport { MealSliderComponent } from './meal-slider/meal-slider.component';\r\nimport { MealTileComponent } from './meal-tile/meal-tile.component';\r\nimport { NotifTileComponent } from './notif-tile/notif-tile.component';\r\nimport { LayoutHeaderComponent } from './layout-header/layout-header.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { UserInfoComponent } from './user-info/user-info.component';\r\nimport { HamburgerComponent } from './hamburger/hamburger.component';\r\nimport { MenuItemComponent } from './menu-item/menu-item.component';\r\nimport { PopupCustomComponent } from './popup-custom/popup-custom.component';\r\nimport { PopupCustomContentComponent } from './popup-custom/popup-custom-content.component';\r\nimport { SandboxComponent } from './sandbox/sandbox.component';\r\nimport { PopupConfirmComponent } from './popup-confirm/popup-confirm.component';\r\nimport { CartTileComponent } from './cart-tile/cart-tile.component';\r\nimport { LogoComponent } from './logo/logo.component';\r\nimport { SelectAutocompleteComponent } from './select-autocomplete/select-autocomplete.component';\r\nimport { RestaurantSelectorComponent } from './restaurant-selector/restaurant-selector.component';\r\n\r\n// Services\r\n// Angular DI does not work well with Barrels (so only file declaration)\r\n// Api services\r\nimport { AuthenticationApiService } from './shared/services/api/authentication/authentication.apiservice';\r\nimport { ParametreApiService } from './shared/services/api/parametre/parametre.apiservice';\r\nimport { PromptForNavGuard } from './shared/guards/prompt-for-nav-guard';\r\nimport { NavigationService } from './shared/services/navigation.service';\r\nimport { InteractionService } from './shared/services/interaction.service';\r\n\r\n// Normal services\r\nimport { ApplicationDataService } from './shared/services/application-data.service';\r\nimport { LocalStorageService } from './shared/services/browser-storage.service';\r\nimport { SessionStorageService } from './shared/services/browser-storage.service';\r\nimport { LogService } from './shared/services/log.service';\r\nimport { LogoRouteService } from './shared/services/api/logo/logo-route.service';\r\nimport { ParametreService } from './shared/services/parametre.service';\r\nimport { CommandeRepasService } from './repas/services/commande-repas.service';\r\nimport { CommandeRepasApiService } from './repas/services/api/commande-repas.apiservice';\r\nimport { AppSettingsService } from './shared/services/app-settings.service';\r\n// Directives\r\n\r\n// Guards\r\nimport { AuthGuard } from './shared/guards/auth-guard';\r\n\r\n// Error handler\r\nimport { EliorErrorHandler } from './shared/elior-error-handler';\r\n\r\n// const\r\nimport { environment } from '../environments/environment';\r\nimport { AppSettings } from './shared/models/app-settings.model';\r\nimport { ApiSettings } from './shared/models/api/api-settings';\r\nimport { BonLivraisonModule } from './bon-livraison/bon-livraison.module';\r\nimport { AppHttpInterceptor } from './shared/services/http/app-http-interceptor';\r\nimport { AuthHttpInterceptor } from './shared/services/http/auth-http-interceptor';\r\nimport { ErrorHandlerHttpInterceptor } from './shared/services/http/error-handler-http-interceptor';\r\nimport { AuthenticationService } from './shared/services/authentication/authentication.service';\r\nimport { AlertesModule } from './alertes/alertes.module';\r\n\r\nconst { version: appVersion } = require('../../package.json');\r\n\r\n// HACK pour éviter un cyclic-dependency à cause du CustomHttpService référencé en Htpp, on injecte la classe (non initialisée) pour l'initialiser ensuite\r\nexport function onAppInit(appSettingsService: AppSettingsService,\r\n apiSettings: ApiSettings)\r\n : () => Promise {\r\n // see https://hackernoon.com/hook-into-angular-initialization-process-add41a6b7e\r\n // also (+) https://www.intertech.com/Blog/angular-4-tutorial-run-code-during-app-initialization/\r\n return (): Promise => {\r\n return new Promise((resolve, reject) => {\r\n appSettingsService.load()\r\n .then(() => {\r\n // init appSettings\r\n initApiSettings(apiSettings, appSettingsService.appSettings);\r\n // App Initialization code (fetch&load settings ...)\r\n initAppInsight(appSettingsService.appSettings);\r\n\r\n resolve();\r\n })\r\n .catch(() => reject());\r\n });\r\n };\r\n}\r\n\r\nfunction initAppInsight(appSettings: AppSettings) {\r\n if (!appSettings.appInsightsInstrumentationKey) {\r\n console.warn('Pas d\\'instrumentation key : pas d\\'application Insights');\r\n return;\r\n }\r\n /* Call downloadAndSetup to download full ApplicationInsights script from CDN and initialize it with instrumentation key */\r\n AppInsights.downloadAndSetup({ instrumentationKey: appSettings.appInsightsInstrumentationKey });\r\n\r\n AppInsights.queue.push(() => {\r\n // paramétrage de l'applicationContext (version)\r\n AppInsights.context.application.ver = appVersion;\r\n AppInsights.context.application.build = appSettings.environment;\r\n });\r\n}\r\n\r\nfunction initApiSettings(apiSettings: ApiSettings, appSettings: AppSettings) {\r\n apiSettings.apiUrl = appSettings.apiUrl;\r\n apiSettings.subscriberKey = appSettings.apiSubscriberKey;\r\n apiSettings.mockOdgService = environment.mockOdgService;\r\n}\r\n\r\nexport function appSettingsFactory(appSettingsService: AppSettingsService) {\r\n if (!appSettingsService.appSettings) {\r\n throw new Error('appSettingsService.appSettings not loaded');\r\n }\r\n\r\n return appSettingsService.appSettings;\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n // pipes\r\n // directives\r\n // components\r\n PopupComponent,\r\n AppComponent,\r\n HomeComponent,\r\n MealResumeComponent,\r\n MealSliderComponent,\r\n MealTileComponent,\r\n LoginComponent,\r\n LayoutHeaderComponent,\r\n NotifTileComponent,\r\n DrawerComponent,\r\n UserInfoComponent,\r\n HamburgerComponent,\r\n MenuItemComponent,\r\n PopupCustomComponent,\r\n PopupCustomContentComponent,\r\n SandboxComponent,\r\n PopupConfirmComponent,\r\n CartTileComponent,\r\n LogoComponent,\r\n SelectAutocompleteComponent,\r\n RestaurantSelectorComponent,\r\n // SelectContratComponent\r\n ],\r\n imports: [\r\n NguiAutoCompleteModule,\r\n SharedModule.forRoot(),\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n // NoopAnimationsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpClientModule, // A privilegier\r\n routing,\r\n // features\r\n AlertesModule,\r\n RepasModule,\r\n ContactModule,\r\n EpicerieInventaireModule,\r\n ReportingModule,\r\n OdgModule,\r\n DocumenthequeModule,\r\n DiscussionModule,\r\n BonLivraisonModule,\r\n // analytics\r\n AnalyticsModule,\r\n ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }),\r\n ToastrModule.forRoot({\r\n maxOpened: 4,\r\n closeButton: true,\r\n tapToDismiss: true,\r\n countDuplicates: true,\r\n positionClass: 'toast-bottom-center',\r\n disableTimeOut: false,\r\n onActivateTick: true,\r\n enableHtml: true,\r\n preventDuplicates: true\r\n }),\r\n ],\r\n providers: [\r\n AppSettingsService,\r\n SessionStorageService,\r\n LocalStorageService,\r\n {\r\n provide: ApiSettings,\r\n useClass: ApiSettings // on construit une classe vide qui sera définie dan le onAppInit\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: onAppInit,\r\n multi: true,\r\n deps: [AppSettingsService, ApiSettings]\r\n },\r\n {\r\n provide: ErrorHandler,\r\n useClass: EliorErrorHandler\r\n },\r\n {\r\n provide: AppSettings,\r\n useFactory: appSettingsFactory,\r\n deps: [AppSettingsService]\r\n },\r\n // guards\r\n AuthGuard,\r\n PromptForNavGuard,\r\n // services\r\n AuthenticationApiService, // TODO déplacer dans le providers du SharedModule https://angular-2-training-book.rangle.io/handout/modules/feature-modules.html\r\n AuthenticationService,\r\n { provide: HTTP_INTERCEPTORS, useClass: AppHttpInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: AuthHttpInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorHandlerHttpInterceptor, multi: true },\r\n CommandeRepasApiService,\r\n CommandeRepasService,\r\n ParametreApiService,\r\n LogoRouteService,\r\n ApplicationDataService,\r\n ParametreService,\r\n InteractionService,\r\n NavigationService\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\n\r\nexport class AppModule {\r\n constructor() {\r\n }\r\n}\r\n","import { PopupCustomComponentBase } from \"../../popup-custom/popup-custom-content.component\";\r\nimport { Type, Component, EventEmitter } from \"@angular/core\"\r\nimport { SafeValue } from \"@angular/platform-browser\";\r\n// TODO\r\n// Refacto d\"une vraie popup custom...\r\n\r\n// les notifications doivent être des interfaces !\r\nexport abstract class NotificationModelBase {\r\n id: number;\r\n isNew: boolean;\r\n title: string;\r\n isPrintable: boolean;\r\n fullScreen: boolean;\r\n closeOnBackdropClick: boolean = true;\r\n hasNoOverflow: boolean;\r\n onClose: () => void = () => { };\r\n}\r\n\r\nexport class NotificationModel extends NotificationModelBase {\r\n message: string | SafeValue;\r\n\r\n checkboxText: string;\r\n isChecked: boolean;\r\n onCheck: (isChecked: boolean) => void;\r\n}\r\n\r\nexport class NotificationCustomModel extends NotificationModelBase {\r\n type: Type;\r\n data: any;\r\n}\r\n\r\nexport class NotificationConfirmModel extends NotificationModelBase {\r\n message: string;\r\n\r\n constructor(\r\n public showOk: boolean = true,\r\n public showCancel: boolean = true\r\n ) {\r\n super();\r\n }\r\n\r\n onOk: () => void = () => { };\r\n onCancel: () => void = () => { };\r\n}\r\n","export enum RestaurantTypeEnum {\r\n Creche,\r\n Maternelle,\r\n Elementaire,\r\n Adulte\r\n}\r\n","import { RestaurantTypeEnum } from '../enums/restaurant-type.enum';\r\n\r\nexport interface RestaurantColorClasses {\r\n backgroundClass: string;\r\n borderClass: string;\r\n colorClass: string;\r\n fillClass: string;\r\n}\r\n\r\nexport class RestaurantTypeHelper {\r\n\r\n static getThemeClass(type: RestaurantTypeEnum): string {\r\n let theme: string;\r\n switch (type) {\r\n case RestaurantTypeEnum.Creche:\r\n theme = 'creche';\r\n break;\r\n case RestaurantTypeEnum.Maternelle:\r\n theme = 'maternelle';\r\n break;\r\n case RestaurantTypeEnum.Elementaire:\r\n theme = 'elementaire';\r\n break;\r\n case RestaurantTypeEnum.Adulte:\r\n theme = 'adulte';\r\n break;\r\n default:\r\n theme = 'adulte'; // adulte (bleu canard)\r\n break;\r\n }\r\n return theme;\r\n }\r\n\r\n static getClasses(type: RestaurantTypeEnum, hover: boolean = false): RestaurantColorClasses {\r\n const prefix: string = RestaurantTypeHelper.getThemeClass(type) ;\r\n let suffix = '';\r\n\r\n if (hover) { suffix = '-hover'; }\r\n\r\n return {\r\n backgroundClass: `${prefix}-background${suffix}`,\r\n borderClass: `${prefix}-border`,\r\n colorClass: `${prefix}-color`,\r\n fillClass: `${prefix}-fill`\r\n };\r\n }\r\n}\r\n","\r\nimport { of as observableOf, from, concat, interval } from 'rxjs';\r\nimport { map, filter, first, switchMap } from 'rxjs/operators';\r\n\r\nimport { Location, DOCUMENT, PlatformLocation } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, EventEmitter, OnInit, ViewChild, ViewEncapsulation, Inject, ApplicationRef, HostBinding, Input, OnDestroy } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\r\nimport { LoadingOverlayComponent } from './loading-overlay/loading-overlay.component';\r\nimport { DrawerComponent } from './drawer/drawer.component';\r\nimport { PopupComponent } from './popup/popup.component';\r\nimport { PopupCustomComponent } from './popup-custom/popup-custom.component';\r\nimport { PopupConfirmComponent } from './popup-confirm/popup-confirm.component';\r\n\r\nimport { ApplicationDataService } from './shared/services/application-data.service';\r\nimport { SessionStorageService } from './shared/services/browser-storage.service';\r\nimport { LogService } from './shared/services/log.service';\r\nimport { LogoRouteService } from './shared/services/api/logo/logo-route.service';\r\nimport { CorrelationTokenService } from './shared/services/correlationToken.service';\r\nimport { AnalyticsService } from './analytics/analytics-service';\r\nimport { NavigationService } from './shared/services/navigation.service';\r\nimport { InteractionService } from './shared/services/interaction.service';\r\n\r\nimport { UserInfoModel } from './shared/models/user-info.model';\r\nimport { ContratModel } from './shared/models/contrat.model';\r\nimport { RestaurantModel } from './shared/models/restaurant.model';\r\nimport { MenuLinkModel } from './shared/models/menu-link.model';\r\nimport { NotificationConfirmModel, NotificationCustomModel, NotificationModel } from './shared/models/notification.model';\r\nimport { OdgEvaluationModel } from './odg/models/odg.model';\r\nimport { RestaurantTypeEnum } from './shared/enums/restaurant-type.enum';\r\nimport { SwUpdate } from '@angular/service-worker';\r\nimport { RestaurantTypeHelper } from './shared/helpers/restaurant-type.helper';\r\nimport { AuthenticationService } from './shared/services/authentication/authentication.service';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { RestaurantContext } from './restaurant-selector/model/restaurant-context.model';\r\n\r\nconst { version: appVersion } = require('../../package.json');\r\n\r\nconst SelectedRestaurantIdStorageKey = 'SelectedRestaurantId';\r\nconst SelectedContratKeyStorageKey = 'SelectedContratKey';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n @ViewChild(DrawerComponent, { static: false })\r\n private drawerComponent: DrawerComponent;\r\n @ViewChild(PopupComponent, { static: true })\r\n private popupComponent: PopupComponent;\r\n @ViewChild(PopupCustomComponent, { static: true })\r\n private popupCustomComponent: PopupCustomComponent;\r\n @ViewChild(PopupConfirmComponent, { static: true })\r\n private popupConfirmComponent: PopupConfirmComponent;\r\n\r\n @ViewChild('mainLoadingOverlay', { static: true })\r\n private loaderOverlayComponent: LoadingOverlayComponent;\r\n\r\n @Input() class: string; // override the standard class attr with a new one. see: https://github.com/angular/angular/issues/7289#issuecomment-390415535\r\n @HostBinding('class')\r\n get hostClasses(): string {\r\n return [this.class, RestaurantTypeHelper.getThemeClass(this.currentType) || ''].join(' ');\r\n }\r\n\r\n menuList: MenuLinkModel[];\r\n headerMenuList: MenuLinkModel[];\r\n\r\n contrats: ContratModel[];\r\n currentRestaurant: RestaurantModel;\r\n currentContrat: ContratModel;\r\n\r\n isUserLogged: boolean = false;\r\n isUserAdmin: boolean = false;\r\n isLoginPage: boolean = false;\r\n logoContratUrl: string = '';\r\n badOdgEvaluation: OdgEvaluationModel;\r\n currentType: RestaurantTypeEnum;\r\n\r\n constructor(\r\n private appDataService: ApplicationDataService,\r\n private logService: LogService,\r\n private authService: AuthenticationService,\r\n private location: Location,\r\n @Inject(DOCUMENT) private document: Document,\r\n // private domAdapter: ɵDomAdapter,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private titleService: Title,\r\n private logoService: LogoRouteService,\r\n private navigationService: NavigationService,\r\n private interactionService: InteractionService,\r\n private correlationTokenService: CorrelationTokenService,\r\n private analytics: AnalyticsService,\r\n private sessionStorageService: SessionStorageService,\r\n private swUpdate: SwUpdate,\r\n private platformLocation: PlatformLocation,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private appRef: ApplicationRef,\r\n ) {\r\n router.events.subscribe(event => {\r\n // make this in a better way ?\r\n if (event instanceof NavigationEnd) {\r\n this.isLoginPage = event.url === '/login';\r\n }\r\n });\r\n\r\n // update page title automaticaly. see: https://toddmotto.com/dynamic-page-titles-angular-2-router-events\r\n router.events.pipe(\r\n filter(event => event instanceof NavigationEnd),\r\n map(() => this.activatedRoute),\r\n map(route => {\r\n while (route.firstChild) { route = route.firstChild; }\r\n return route;\r\n }),\r\n filter(route => route.outlet === 'primary'),\r\n switchMap((route: ActivatedRoute) => route.data)\r\n )\r\n .subscribe(routeData => {\r\n this.appDataService.changePageTitle(routeData.title);\r\n });\r\n\r\n /* FORCE APP UPDATE via service worker */\r\n // on recherche régulièrement s'il y a une mise à jour disponible (important pour les tablettes où l'app n'est jamais rechargée)\r\n // https://angular.io/guide/service-worker-communications#available-and-activated-updates\r\n // also https://medium.com/@arjenbrandenburgh/angulars-pwa-swpush-and-swupdate-15a7e5c154ac\r\n if (swUpdate.isEnabled) {\r\n\r\n swUpdate.available\r\n .pipe(\r\n switchMap((updateEvent) => from(this.swUpdate.activateUpdate())),\r\n switchMap(() => this.interactionService.showConfirmDialog('Une mise à jour de l\\'application est disponible, l\\'application va redémarrer.', 'Mise à jour disponible')),\r\n first(confirmation => confirmation === true)\r\n )\r\n .subscribe(() => {\r\n // document.location.href = (this.platformLocation as any).location.origin;\r\n document.location.reload();\r\n });\r\n\r\n // Allow the app to stabilize first, before starting polling for updates with `interval()`.\r\n const appIsStable$ = appRef.isStable.pipe(first(isStable => isStable === true));\r\n const everyHours$ = interval(1 * 60 * 60 * 1000);\r\n const everyHoursOnceAppIsStable$ = concat(appIsStable$, everyHours$);\r\n everyHoursOnceAppIsStable$.subscribe(() => swUpdate.checkForUpdate());\r\n\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // mandatory for untildestroyed\r\n }\r\n\r\n ngOnInit() {\r\n // define correlationId to LogService instead of direct dependency on CorrelationService to prevent dependency loop\r\n this.logService.correlationId = this.correlationTokenService.correlationId;\r\n this.analytics.setCorrelationId(this.correlationTokenService.correlationId);\r\n this.analytics.setDimensionProperties({\r\n 'client-version': appVersion,\r\n host: this.document.location.hostname\r\n });\r\n\r\n // The app component subscribes once to the events to notify the layout-header and the drawer (to avoid doing the same job in both components)\r\n\r\n this.interactionService.notification$.subscribe(notif => {\r\n if (notif) {\r\n if (notif instanceof NotificationModel) {\r\n this.showNewNotification(notif);\r\n } else if (notif instanceof NotificationCustomModel) {\r\n this.showNewCustomNotification(notif);\r\n } else if (notif instanceof NotificationConfirmModel) {\r\n this.showNewConfirmNotification(notif);\r\n } else {\r\n throw new Error('Bad notification type');\r\n }\r\n }\r\n });\r\n\r\n this.authService.currentUser$\r\n .pipe(untilDestroyed(this))\r\n .subscribe((user: UserInfoModel) => {\r\n this.analytics.setUserId(user && user.id || null);\r\n this.isUserLogged = user != null;\r\n if (this.isUserLogged) {\r\n this.handleContrats(user);\r\n }\r\n this.isUserAdmin = user && user.isAdmin;\r\n });\r\n\r\n this.appDataService.contrat$\r\n .pipe(untilDestroyed(this))\r\n .subscribe(contrat => {\r\n if (contrat) {\r\n this.currentContrat = contrat;\r\n this.analytics.setDimensionProperties({\r\n cuisine: contrat && contrat.cuisineCentrale,\r\n contrat: contrat && contrat.libelle,\r\n grandCompte: contrat && contrat.grandCompteLibelle,\r\n restaurant: contrat && contrat.restaurants[0] ? contrat.restaurants[0].name : null\r\n });\r\n this.analytics.eventTrack('Changement contrat', { contrat: contrat && contrat.libelle }); // pas besoin de faire un pageTrack, il est déclanché sur le changement de restaurant qui vient ensuite\r\n this.logoContratUrl = contrat && this.logoService.GetLogoUrl(contrat.id, contrat.cuisineCentraleId);\r\n this.handleRestaurants(contrat);\r\n }\r\n });\r\n\r\n this.appDataService.restaurant$\r\n .pipe(untilDestroyed(this))\r\n .subscribe(restaurant => {\r\n this.currentRestaurant = restaurant;\r\n if (restaurant) {\r\n this.currentType = restaurant.type;\r\n }\r\n\r\n // on persite le contrat & restaurant sélectionné\r\n this.sessionStorageService.setString(SelectedRestaurantIdStorageKey, restaurant && restaurant.id.toString());\r\n this.sessionStorageService.setString(SelectedContratKeyStorageKey, restaurant && this.getContratKey(restaurant.cuisineCentraleId, restaurant.contratId));\r\n\r\n if (restaurant) {\r\n this.analytics.setDimensionProperties({ restaurant: restaurant.name });\r\n this.analytics.eventTrack('Changement restaurant', { restaurant: restaurant.name }, true); // déclenchement d\"un pageTrack explicite\r\n }\r\n });\r\n\r\n this.appDataService.showBadEval.subscribe(badEval => {\r\n this.badOdgEvaluation = badEval;\r\n });\r\n\r\n this.interactionService.toggleEmitter.subscribe((toggleData: { toggle: boolean; message?: string }) => {\r\n toggleData.toggle ? this.loaderOverlayComponent.open(toggleData.message) : this.loaderOverlayComponent.hide();\r\n });\r\n\r\n // Menus\r\n this.authService.getAvailableMenuLinks()\r\n .pipe(untilDestroyed(this))\r\n .subscribe(menuList => {\r\n this.menuList = menuList;\r\n this.headerMenuList = this.filterMenuForHeader(menuList);\r\n });\r\n\r\n this.hideCordovaSplashScreen();\r\n }\r\n\r\n private hideCordovaSplashScreen() {\r\n if (!window.cordova) {\r\n // console.log(\"hideCordovaSplashScreen : cordova not loaded, hook to deviceready event\")\r\n const hideSplash = this.hideCordovaSplashScreen.bind(this);\r\n window.document.addEventListener('deviceready', () => setTimeout(hideSplash, 10), false);\r\n\r\n return; // exit\r\n }\r\n\r\n // console.log(\"hideCordovaSplashScreen : cordova loaded => close SplashScreen\");\r\n if (window.navigator.splashscreen) {\r\n window.navigator.splashscreen.hide();\r\n } else {\r\n this.logService.getLogger('AppComponent').warn('window.navigator.splashscreen not found');\r\n }\r\n\r\n // launch changeDection for components depedent on window.cordova\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n onBadEvaluationClose() {\r\n this.badOdgEvaluation = null;\r\n }\r\n\r\n private handleRestaurants(contrat: ContratModel) {\r\n // get restaurants\r\n const restaurants = contrat && contrat.restaurants;\r\n // on essaye de restaurer le restaurant précédemment sélectionné\r\n const selectedRestaurantId = this.sessionStorageService.getString(SelectedRestaurantIdStorageKey);\r\n this.currentRestaurant = (selectedRestaurantId && restaurants && restaurants.find(r => r.id.toString() === selectedRestaurantId)) || (restaurants && restaurants[0]);\r\n // Si on arrive là, c'est que le contrat a pu être modifié (donc plus besoin de check le dirty)\r\n this.appDataService\r\n .changeRestaurant(this.currentRestaurant, true)\r\n .pipe(first())\r\n .subscribe();\r\n }\r\n\r\n private getContratKey(cuisineCentraleId: number, contratId: number): string {\r\n return `${cuisineCentraleId}-${contratId}`;\r\n }\r\n private handleContrats(user: UserInfoModel) {\r\n // get contrats\r\n this.contrats = user.allContrats;\r\n this.contrats.sort((a, b) => a.libelle.localeCompare(b.libelle));\r\n // on essaye de restaurer le contrat précédemment sélectionné\r\n const selectedContratKey = this.sessionStorageService.getString(SelectedContratKeyStorageKey);\r\n this.currentContrat = (selectedContratKey && this.contrats.find(c => this.getContratKey(c.cuisineCentraleId, c.id) === selectedContratKey)) || this.contrats[0];\r\n\r\n // dont need a callback on this one\r\n this.handleRestaurants(this.currentContrat);\r\n this.appDataService\r\n .changeContrat(this.currentContrat)\r\n .pipe(first())\r\n .subscribe();\r\n }\r\n\r\n selectedRestaurantContextChanged(selectedRestaurantContext: RestaurantContext) {\r\n // On essaye de changer le contrat, si l'utilisateur refuse (ou erreur) on remet le contrat d'avant\r\n const oldContrat = this.currentContrat;\r\n this.currentContrat = selectedRestaurantContext.contrat;\r\n this.appDataService.changeContrat(selectedRestaurantContext.contrat).subscribe(canExecute => {\r\n if (!canExecute) {\r\n // L'utilisateur a refusé, on remet le contrat précédent\r\n this.currentContrat = oldContrat;\r\n } else {\r\n const oldRestaurant = this.currentRestaurant;\r\n this.currentRestaurant = selectedRestaurantContext.restaurant;\r\n\r\n this.appDataService.changeRestaurant(selectedRestaurantContext.restaurant).subscribe(canExecute => {\r\n if (!canExecute) {\r\n // L'utilisateur a refusé, on remet le restaurant précédent\r\n this.currentRestaurant = oldRestaurant;\r\n }\r\n },\r\n err => {\r\n // Une erreur est arrivée : on remet le restaurant précédent\r\n this.currentRestaurant = oldRestaurant;\r\n });\r\n }\r\n },\r\n err => {\r\n // Une erreur est arrivée : on remet le contrat précédent\r\n this.currentContrat = oldContrat;\r\n });\r\n }\r\n\r\n filterMenuForHeader(menus: MenuLinkModel[]): MenuLinkModel[] {\r\n return menus.filter(m => m.isInHeader);\r\n }\r\n\r\n onShowDrawer() {\r\n this.drawerComponent.show();\r\n }\r\n\r\n showNewNotification(notif: NotificationModel) {\r\n if (notif) {\r\n this.popupComponent.show(notif);\r\n }\r\n }\r\n\r\n showNewCustomNotification(notif: NotificationCustomModel) {\r\n if (notif) {\r\n this.popupCustomComponent.show(notif);\r\n }\r\n }\r\n\r\n showNewConfirmNotification(notif: NotificationConfirmModel) {\r\n if (notif) {\r\n this.popupConfirmComponent.show(notif);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n @Input()\r\n message: string;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./loader.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./loader.component\";\nvar styles_LoaderComponent = [i0.styles];\nvar RenderType_LoaderComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_LoaderComponent, data: {} });\nexport { RenderType_LoaderComponent as RenderType_LoaderComponent };\nfunction View_LoaderComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"loader-text\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.message; _ck(_v, 1, 0, currVal_0); }); }\nexport function View_LoaderComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"div\", [[\"class\", \"loader-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 8, \"div\", [[\"class\", \"loader-content\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 7, \"div\", [[\"class\", \"loading-wrap\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 4, \"div\", [[\"class\", \"loading\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 0, \"div\", [[\"class\", \"loading-bar\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 0, \"div\", [[\"class\", \"loading-bar\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 0, \"div\", [[\"class\", \"loading-bar\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 0, \"div\", [[\"class\", \"loading-bar\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LoaderComponent_1)), i1.ɵdid(9, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.message; _ck(_v, 9, 0, currVal_0); }, null); }\nexport function View_LoaderComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-loader\", [], null, null, null, View_LoaderComponent_0, RenderType_LoaderComponent)), i1.ɵdid(1, 114688, null, 0, i3.LoaderComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar LoaderComponentNgFactory = i1.ɵccf(\"app-loader\", i3.LoaderComponent, View_LoaderComponent_Host_0, { message: \"message\" }, {}, []);\nexport { LoaderComponentNgFactory as LoaderComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".loader-container[_ngcontent-%COMP%]{position:relative;width:100%;height:100%}.loading-wrap[_ngcontent-%COMP%]{position:relative;width:100%}.loading-wrap[_ngcontent-%COMP%] .loader-text[_ngcontent-%COMP%]{text-align:center}.loading-wrap[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%]{margin:0 auto;width:60px;padding-bottom:30px}.loading-wrap[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%]{width:4px;margin-left:5px;height:40px;border-radius:5px;-webkit-animation:1s ease-in-out infinite loading;animation:1s ease-in-out infinite loading}.loading-wrap[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%]:nth-child(1){background-color:#007077;-webkit-animation-delay:0;animation-delay:0}.loading-wrap[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%]:nth-child(2){background-color:#bb5794;-webkit-animation-delay:.1s;animation-delay:.1s}.loading-wrap[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%]:nth-child(3){background-color:#e8655a;-webkit-animation-delay:.2s;animation-delay:.2s}.loading-wrap[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%]:nth-child(4){background-color:#fcb6b0;-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes loading{0%,40%{transform:scale(1)}20%{transform:scale(1,2.2)}}@keyframes loading{0%,40%{transform:scale(1)}20%{transform:scale(1,2.2)}}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{message}}
\r\n
\r\n
\r\n
","import {\r\n NgModule, Component, ViewChild, ViewContainerRef, Input,\r\n ComponentFactoryResolver, ComponentRef, OnChanges,\r\n AfterContentInit, OnDestroy, Type, Output, EventEmitter\r\n} from '@angular/core';\r\nimport { inherits } from 'util';\r\n\r\nexport abstract class PopupCustomComponentBase implements OnDestroy {\r\n public data: any;\r\n public emitter: EventEmitter;\r\n ngOnDestroy(): void {\r\n if (this.emitter) {\r\n // this.emitter.unsubscribe();\r\n }\r\n }\r\n}\r\n\r\nexport abstract class PopupCustomComponentGeneric extends PopupCustomComponentBase {\r\n\r\n public get model(): TModel {\r\n return this.data as TModel;\r\n }\r\n public hide() {\r\n this.emitter.next();\r\n }\r\n}\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'popup-custom-content',\r\n templateUrl: './popup-custom-content.component.html'\r\n})\r\nexport class PopupCustomContentComponent implements OnDestroy, AfterContentInit {\r\n @ViewChild('target', { read: ViewContainerRef, static: true }) target: ViewContainerRef;\r\n\r\n //#region innerComponentType\r\n private _innerComponentType: Type;\r\n public get innerComponentType(): Type {\r\n return this._innerComponentType;\r\n }\r\n @Input()\r\n public set innerComponentType(value: Type) {\r\n this._innerComponentType = value;\r\n setTimeout(() => {\r\n if (this.isViewInitialized) {\r\n this.updateComponent(value);\r\n }\r\n }, 100);\r\n }\r\n //#endregion\r\n\r\n @Input() innerComponentData: any;\r\n @Output() onHideEmitter = new EventEmitter();\r\n\r\n componentRef: ComponentRef = null;\r\n isViewInitialized: boolean;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) {\r\n }\r\n\r\n updateComponent(componentType: Type) {\r\n // tslint:disable-next-line:no-debugger\r\n // debugger;\r\n if (!this.isViewInitialized) {\r\n return;\r\n }\r\n if (!componentType) {\r\n return;\r\n }\r\n if (!this.target) {\r\n return;\r\n }\r\n\r\n if (this.componentRef && this.componentRef.componentType !== componentType) {\r\n this.componentRef.destroy();\r\n this.componentRef = null;\r\n }\r\n\r\n if (this.componentRef == null) {\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(this.innerComponentType);\r\n this.componentRef = this.target.createComponent(factory);\r\n }\r\n const component = this.componentRef.instance as PopupCustomComponentBase;\r\n component.data = this.innerComponentData;\r\n component.emitter = this.onHideEmitter;\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.isViewInitialized = true;\r\n this.updateComponent(this.innerComponentType);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.componentRef) {\r\n this.componentRef.destroy();\r\n this.componentRef = null;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Sanitizer, SecurityContext } from '@angular/core';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { PopupCustomComponentBase } from '../popup-custom/popup-custom-content.component';\r\nimport { ErrorApiModel } from '../shared/models/api/error/error.apimodel';\r\nimport { NotificationModel } from '../shared/models/notification.model';\r\nimport { InteractionService } from '../shared/services/interaction.service';\r\nimport { ParametreService } from '../shared/services/parametre.service';\r\n\r\n@Component({\r\n selector: 'legal-info',\r\n templateUrl: './legal-info.component.html',\r\n styleUrls: ['./legal-info.component.scss']\r\n})\r\nexport class LegalInfoComponent extends PopupCustomComponentBase implements OnInit {\r\n\r\n isLoading: boolean = false;\r\n mentionsLegales: string;\r\n\r\n constructor(private parametreService: ParametreService,\r\n private sanitizer: Sanitizer,\r\n private interactionService: InteractionService, ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isLoading = true;\r\n this.parametreService.getParametre(\"MENTIONSLG\")\r\n .pipe(\r\n finalize(() => this.isLoading = false)\r\n )\r\n .subscribe(value => {\r\n this.mentionsLegales = this.sanitizer.sanitize(SecurityContext.HTML, value);\r\n },\r\n (error: ErrorApiModel) => {\r\n const notifModel = new NotificationModel();\r\n notifModel.title = \"Erreur\"\r\n notifModel.message = error.Message;\r\n\r\n this.interactionService.showNotification(notifModel);\r\n })\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ParametreApiService } from './api/parametre/parametre.apiservice';\r\n\r\n@Injectable()\r\nexport class ParametreService {\r\n\r\n constructor(private apiService: ParametreApiService) { }\r\n\r\n getParametre(code: string): Observable {\r\n return this.apiService.getParametre(code);\r\n }\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subscriber } from 'rxjs';\r\nimport { NotificationConfirmModel, NotificationCustomModel, NotificationModel, NotificationModelBase } from '../models/notification.model';\r\nimport { LogService } from './log.service';\r\n\r\n@Injectable()\r\nexport class InteractionService {\r\n public toggleEmitter: EventEmitter<{ toggle: boolean, message?: string }> = new EventEmitter<{ toggle: boolean, message?: string }>();\r\n\r\n\r\n private blockCount: number = 0;\r\n private notificationSubject = new BehaviorSubject(undefined);\r\n\r\n /** asObservable pour cacher le notificationSubject (on ne peut que subscribe dessus publiquement) */\r\n public notification$ = this.notificationSubject.asObservable();\r\n\r\n constructor(private logService: LogService) {\r\n }\r\n\r\n public showNotification(notif: NotificationModel | NotificationCustomModel | NotificationConfirmModel) {\r\n this.logService.Debug('showNotification requested : ' + JSON.stringify(notif), 'InteractionService');\r\n this.notificationSubject.next(notif);\r\n }\r\n\r\n public showSimpleMessage(title: string, message: string) {\r\n const notifModel = new NotificationModel();\r\n notifModel.title = title;\r\n notifModel.message = message;\r\n\r\n this.showNotification(notifModel);\r\n }\r\n\r\n /** Renvoie un boolean qui définit si on peut effectuer une action de navigation (navigate ou changement de semaine,convive (cmdRepas),etc...)\r\n * Si la page en cours est \"dirty\" -> Ouvre une popup et renvoie true/false en fonction de la réponse de l'utilisateur\r\n * Si la page n'est pas dirty -> Renvoie true directement\r\n */\r\n public showConfirmNavigationDialog(): Observable {\r\n return new Observable((subscriber: Subscriber) => {\r\n const notifModel = new NotificationConfirmModel();\r\n notifModel.title = 'Alerte';\r\n notifModel.message = 'Êtes vous sur de vouloir effectuer cette action ? Toutes les données non sauvegardées seront perdues.';\r\n notifModel.onOk = () => {\r\n subscriber.next(true);\r\n subscriber.complete();\r\n };\r\n notifModel.onCancel = () => {\r\n subscriber.next(false);\r\n subscriber.complete();\r\n };\r\n\r\n this.showNotification(notifModel);\r\n });\r\n }\r\n\r\n public showConfirmDialog(message: string, title: string = ''): Observable {\r\n return new Observable((subscriber: Subscriber) => {\r\n const notifModel = new NotificationConfirmModel();\r\n notifModel.title = title;\r\n notifModel.message = message;\r\n notifModel.onOk = () => {\r\n subscriber.next(true);\r\n subscriber.complete();\r\n };\r\n notifModel.onCancel = () => {\r\n subscriber.next(false);\r\n subscriber.complete();\r\n };\r\n\r\n this.showNotification(notifModel);\r\n });\r\n }\r\n\r\n /** Generic Loader */\r\n public blockUI(message: string) {\r\n this.blockCount++;\r\n // On a déja affiché l'overlay\r\n if (this.blockCount > 1) {\r\n return;\r\n }\r\n this.toggleEmitter.next({ toggle: true, message });\r\n }\r\n\r\n public releaseUI() {\r\n // L'overlay n'est pas affiché\r\n if (this.blockCount === 0) {\r\n return;\r\n }\r\n\r\n this.blockCount--;\r\n // On ferme seulement si le blockCount == 0 après décrémentation\r\n if (this.blockCount === 0) {\r\n this.toggleEmitter.next({ toggle: false });\r\n }\r\n }\r\n\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./legal-info.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../loader/loader.component.ngfactory\";\nimport * as i3 from \"../loader/loader.component\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"./legal-info.component\";\nimport * as i6 from \"../shared/services/parametre.service\";\nimport * as i7 from \"../shared/services/interaction.service\";\nvar styles_LegalInfoComponent = [i0.styles];\nvar RenderType_LegalInfoComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_LegalInfoComponent, data: {} });\nexport { RenderType_LegalInfoComponent as RenderType_LegalInfoComponent };\nfunction View_LegalInfoComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"info-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement...\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nexport function View_LegalInfoComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_LegalInfoComponent_1)), i1.ɵdid(1, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(2, 0, null, null, 0, \"div\", [[\"class\", \"legal-info-container\"]], [[8, \"innerHTML\", 1]], null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isLoading; _ck(_v, 1, 0, currVal_0); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.mentionsLegales; _ck(_v, 2, 0, currVal_1); }); }\nexport function View_LegalInfoComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"legal-info\", [], null, null, null, View_LegalInfoComponent_0, RenderType_LegalInfoComponent)), i1.ɵdid(1, 245760, null, 0, i5.LegalInfoComponent, [i6.ParametreService, i1.Sanitizer, i7.InteractionService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar LegalInfoComponentNgFactory = i1.ɵccf(\"legal-info\", i5.LegalInfoComponent, View_LegalInfoComponent_Host_0, {}, {}, []);\nexport { LegalInfoComponentNgFactory as LegalInfoComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .legal-info-container .title, [_nghost-%COMP%] .legal-info-container .zone{padding:10px}[_nghost-%COMP%] .legal-info-container .title{text-transform:uppercase;color:#e8655a;padding-bottom:0}[_nghost-%COMP%] .legal-info-container .space{margin-top:10px}\"];\nexport { styles as styles };\n","
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
","import { Component } from '@angular/core';\r\nimport { PopupCustomComponentBase } from '../../popup-custom/popup-custom-content.component';\r\n\r\n@Component({\r\n selector: 'legal-info',\r\n templateUrl: './contrat-notification-popup.component.html',\r\n styleUrls: ['./contrat-notification-popup.component.scss']\r\n})\r\nexport class ContratNotificationPopupComponent extends PopupCustomComponentBase {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./contrat-notification-popup.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"./contrat-notification-popup.component\";\nvar styles_ContratNotificationPopupComponent = [i0.styles];\nvar RenderType_ContratNotificationPopupComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ContratNotificationPopupComponent, data: {} });\nexport { RenderType_ContratNotificationPopupComponent as RenderType_ContratNotificationPopupComponent };\nexport function View_ContratNotificationPopupComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"contrat-notification-popup-container\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" contrat\\n\"]))], null, null); }\nexport function View_ContratNotificationPopupComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"legal-info\", [], null, null, null, View_ContratNotificationPopupComponent_0, RenderType_ContratNotificationPopupComponent)), i1.ɵdid(1, 180224, null, 0, i2.ContratNotificationPopupComponent, [], null, null)], null, null); }\nvar ContratNotificationPopupComponentNgFactory = i1.ɵccf(\"legal-info\", i2.ContratNotificationPopupComponent, View_ContratNotificationPopupComponent_Host_0, {}, {}, []);\nexport { ContratNotificationPopupComponentNgFactory as ContratNotificationPopupComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\"];\nexport { styles as styles };\n","
\r\n\tcontrat\r\n
","import { RythmeContratEnum } from '../enums/rythme-contrat.enum';\r\nimport { SemaineModel } from '../models/semaine.model';\r\nimport * as moment from 'moment';\r\n\r\nexport class DateHelper {\r\n static monthNames = ['Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Decembre'];\r\n static dayNames = ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'];\r\n static dayNamesShort = ['Dim', 'Lun', 'Ma', 'Me', 'Jeu', 'Ven', 'Sam'];\r\n\r\n static getDayName(date:Date){\r\n return moment(date).format('dddd'); //https://momentjs.com/docs/#/displaying/format/\r\n }\r\n\r\n static getDayNameShort(date:Date){\r\n return moment(date).format('ddd');\r\n }\r\n\r\n static getMonthName(date:Date){\r\n return moment(date).format('MMMM');\r\n }\r\n\r\n static getMonthNameShort(date:Date){\r\n return moment(date).format('MMM');\r\n }\r\n\r\n static toISODateString(date: Date) {\r\n return moment(date).format('YYYY-MM-DD');\r\n }\r\n\r\n static format(date: Date, format: string) {\r\n return moment(date).format(format);\r\n }\r\n\r\n static toShortDateString(date: Date) {\r\n return moment(date).format('DD/MM/YYYY');\r\n }\r\n\r\n static errorPrettyDate(date: Date): string {\r\n return moment(date).format('dddd D MMMM YYYY');\r\n }\r\n\r\n static areSameDayOfYear(date1: Date, date2: Date): boolean {\r\n return this.getWithoutHours(date1) === this.getWithoutHours(date2);\r\n }\r\n\r\n static compareDates(date1: Date, date2: Date): number {\r\n return moment(date1).valueOf() - moment(date2).valueOf();\r\n }\r\n\r\n static getWithoutHours(date: Date): number {\r\n const newDate = moment(date).startOf('day');\r\n return newDate.valueOf();\r\n }\r\n\r\n static getDateWithoutHours(date: moment.Moment): moment.Moment {\r\n return date.startOf('day');\r\n }\r\n\r\n static getDaysBetween(dateMin: moment.Moment, dateMax: moment.Moment): Date[] {\r\n const days: Date[] = [];\r\n const dateToAdd = dateMin.clone();\r\n dateMax = this.getDateWithoutHours(dateMax);\r\n while (dateToAdd <= dateMax) {\r\n days.push(dateToAdd.toDate());\r\n dateToAdd.add(1, 'day');\r\n }\r\n\r\n return days;\r\n }\r\n\r\n static addMonth(date: Date, month: number): Date {\r\n const newDate = moment(date).add(month, 'month');\r\n return newDate.toDate();\r\n }\r\n\r\n static isBetweenDates(dateMin: Date, dateMax: Date, dateToCheck: Date): boolean {\r\n return this.getWithoutHours(dateMin) <= this.getWithoutHours(dateToCheck)\r\n && this.getWithoutHours(dateMax) >= this.getWithoutHours(dateToCheck);\r\n }\r\n\r\n static initialize() {\r\n const fr = moment.defineLocale('fr', {\r\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\r\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\r\n monthsParseExact: true,\r\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\r\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\r\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\r\n weekdaysParseExact: true,\r\n longDateFormat: {\r\n LT: 'HH:mm',\r\n LTS: 'HH:mm:ss',\r\n L: 'DD/MM/YYYY',\r\n LL: 'D MMMM YYYY',\r\n LLL: 'D MMMM YYYY HH:mm',\r\n LLLL: 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar: {\r\n sameDay: '[Aujourd’hui à] LT',\r\n nextDay: '[Demain à] LT',\r\n nextWeek: 'dddd [à] LT',\r\n lastDay: '[Hier à] LT',\r\n lastWeek: 'dddd [dernier à] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime: {\r\n future: 'dans %s',\r\n past: 'il y a %s',\r\n s: 'quelques secondes',\r\n ss: '%d secondes',\r\n m: 'une minute',\r\n mm: '%d minutes',\r\n h: 'une heure',\r\n hh: '%d heures',\r\n d: 'un jour',\r\n dd: '%d jours',\r\n M: 'un mois',\r\n MM: '%d mois',\r\n y: 'un an',\r\n yy: '%d ans'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\r\n // ordinal : function (number, period) {\r\n ordinal(number) {\r\n const period = arguments[1] as string; // HACK contournement d'un problème dans le typings de moment\r\n switch (period) {\r\n // TODO: Return 'e' when day of month > 1. Move this case inside\r\n // block for masculine words below.\r\n // See https://github.com/moment/moment/issues/3375\r\n case 'D':\r\n return number + (number === 1 ? 'er' : '');\r\n\r\n // Words with masculine grammatical gender: mois, trimestre, jour\r\n default:\r\n case 'M':\r\n case 'Q':\r\n case 'DDD':\r\n case 'd':\r\n return number + (number === 1 ? 'er' : 'e');\r\n\r\n // Words with feminine grammatical gender: semaine\r\n case 'w':\r\n case 'W':\r\n return number + (number === 1 ? 're' : 'e');\r\n }\r\n },\r\n week: {\r\n dow: 1, // Monday is the first day of the week.\r\n doy: 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n });\r\n moment.locale('fr');\r\n }\r\n}\r\n\r\nDateHelper.initialize();\r\n","import { DateHelper } from '../helpers/date.helper';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'errorPrettyDate'})\r\nexport class ErrorPrettyDatePipe implements PipeTransform {\r\n transform(value: Date): string {\r\n return DateHelper.errorPrettyDate(new Date(value));\r\n }\r\n}","import { CommandeRepasErrorModel, BaseErrorModel } from \"../../shared/models/commande-repas-error.model\";\r\nimport { Component, OnInit, Input, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { PopupCustomComponentBase } from \"../../popup-custom/popup-custom-content.component\";\r\n\r\n\r\n@Component({\r\n selector: \"error-popup\",\r\n templateUrl: \"./error-popup.component.html\",\r\n styleUrls: [\"./error-popup.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ErrorPopupComponent extends PopupCustomComponentBase {\r\n\r\n get errorPopupData(): ErrorPopupData[] {\r\n const errors: ErrorPopupData[] = [];\r\n\r\n (this.data).jours.map(jour => {\r\n const errorJour: ErrorPopupData = {\r\n jourDate: jour.date,\r\n messagesDatas: []\r\n }\r\n const aggregate: BaseErrorModel[] = [].concat(jour.famillePlats, jour.portions, jour.prestations);\r\n aggregate.map(item => {\r\n errorJour.messagesDatas.push(item);\r\n });\r\n errorJour.messagesDatas.sort((a, b) => {\r\n return a.index - b.index;\r\n });\r\n errors.push(errorJour);\r\n\r\n });\r\n errors.sort((a, b) => {\r\n return (b.jourDate < a.jourDate) ? 1 : -1;\r\n });\r\n return errors;\r\n };\r\n\r\n\r\n onClick(messageData: BaseErrorModel) {\r\n messageData.onClick();\r\n this.emitter.next();\r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n\r\n\r\nclass ErrorPopupData {\r\n jourDate: Date;\r\n messagesDatas: BaseErrorModel[];\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./error-popup.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"../../shared/pipes/error-pretty-date.pipe\";\nimport * as i4 from \"./error-popup.component\";\nvar styles_ErrorPopupComponent = [i0.styles];\nvar RenderType_ErrorPopupComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ErrorPopupComponent, data: {} });\nexport { RenderType_ErrorPopupComponent as RenderType_ErrorPopupComponent };\nfunction View_ErrorPopupComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"li\", [[\"class\", \"error-message pointerHover\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onClick(_v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"]))], null, function (_ck, _v) { var currVal_0 = _v.context.$implicit.message; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_ErrorPopupComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"div\", [[\"class\", \"jour\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"span\", [[\"class\", \"jour-date\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), i1.ɵppd(3, 1), (_l()(), i1.ɵeld(4, 0, null, null, 2, \"ul\", [[\"class\", \"error-messages\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ErrorPopupComponent_3)), i1.ɵdid(6, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(7, 0, null, null, 0, \"hr\", [], null, null, null, null, null))], function (_ck, _v) { var currVal_1 = _v.context.$implicit.messagesDatas; _ck(_v, 6, 0, currVal_1); }, function (_ck, _v) { var currVal_0 = i1.ɵunv(_v, 2, 0, _ck(_v, 3, 0, i1.ɵnov(_v.parent.parent, 0), _v.context.$implicit.jourDate)); _ck(_v, 2, 0, currVal_0); }); }\nfunction View_ErrorPopupComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ErrorPopupComponent_2)), i1.ɵdid(2, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.errorPopupData; _ck(_v, 2, 0, currVal_0); }, null); }\nexport function View_ErrorPopupComponent_0(_l) { return i1.ɵvid(2, [i1.ɵpid(0, i3.ErrorPrettyDatePipe, []), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"div\", [[\"class\", \"error-popup-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ErrorPopupComponent_1)), i1.ɵdid(3, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.data; _ck(_v, 3, 0, currVal_0); }, null); }\nexport function View_ErrorPopupComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"error-popup\", [], null, null, null, View_ErrorPopupComponent_0, RenderType_ErrorPopupComponent)), i1.ɵdid(1, 180224, null, 0, i4.ErrorPopupComponent, [], null, null)], null, null); }\nvar ErrorPopupComponentNgFactory = i1.ɵccf(\"error-popup\", i4.ErrorPopupComponent, View_ErrorPopupComponent_Host_0, {}, {}, []);\nexport { ErrorPopupComponentNgFactory as ErrorPopupComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{margin-top:22px}[_nghost-%COMP%] .error-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%]{margin-bottom:40px}[_nghost-%COMP%] .error-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .jour-date[_ngcontent-%COMP%]{text-transform:capitalize;font-weight:600;font-size:18px}[_nghost-%COMP%] .error-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .error-messages[_ngcontent-%COMP%]{margin-top:10 px;padding-left:35px}@media only screen and (min-width:768px){[_nghost-%COMP%] .error-popup-container[_ngcontent-%COMP%]{padding:0 40px}[_nghost-%COMP%] .error-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .error-messages[_ngcontent-%COMP%]{margin-left:20px;padding-left:40px}}[_nghost-%COMP%] .error-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .error-messages[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{margin-bottom:10px}[_nghost-%COMP%] .error-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{border:none;height:1px;width:33%;background-color:#c7c7c7;margin-top:30px}[_nghost-%COMP%] .error-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] [_ngcontent-%COMP%]:last-child hr[_ngcontent-%COMP%]{display:none}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n {{jour.jourDate | errorPrettyDate}}\r\n
    \r\n
  • \r\n {{messageData.message}}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { PopupCustomComponentBase } from '../../popup-custom/popup-custom-content.component';\r\nimport { PostCommandeRepasWarningApiResponse } from '../../shared/models/api/warning/post-commande-repas-warning.apiresponse';\r\n\r\n\r\n@Component({\r\n selector: 'warning-popup',\r\n templateUrl: './warning-popup.component.html',\r\n styleUrls: ['./warning-popup.component.scss']\r\n})\r\nexport class WarningPopupComponent extends PopupCustomComponentBase {\r\n\r\n get warningPopupData(): WarningPopupData[] {\r\n let warnings: WarningPopupData[] = [];\r\n\r\n (this.data).jours.map(jour => {\r\n let warningJour: WarningPopupData = {\r\n jourDate: jour.date,\r\n messagesDatas: []\r\n }\r\n let aggregate: any = [].concat(jour.famillePlats, jour.portions, jour.prestations);\r\n aggregate.map(item => {\r\n warningJour.messagesDatas.push(\r\n new WarningPopupDataMessage(item)\r\n )\r\n });\r\n warningJour.messagesDatas.sort((a, b) => {\r\n return a.index - b.index;\r\n });\r\n warnings.push(warningJour);\r\n\r\n });\r\n warnings.sort((a, b) => {\r\n return (b.jourDate < a.jourDate) ? 1 : -1;\r\n });\r\n return warnings;\r\n };\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n\r\nclass WarningPopupData {\r\n jourDate: Date;\r\n messagesDatas: WarningPopupDataMessage[];\r\n}\r\n\r\nclass WarningPopupDataMessage {\r\n index: number;\r\n message: string;\r\n\r\n constructor(data: any) {\r\n this.index = data.index;\r\n this.message = data.message;\r\n }\r\n}","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./warning-popup.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"../../shared/pipes/error-pretty-date.pipe\";\nimport * as i4 from \"./warning-popup.component\";\nvar styles_WarningPopupComponent = [i0.styles];\nvar RenderType_WarningPopupComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_WarningPopupComponent, data: {} });\nexport { RenderType_WarningPopupComponent as RenderType_WarningPopupComponent };\nfunction View_WarningPopupComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"li\", [[\"class\", \"warning-message\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"]))], null, function (_ck, _v) { var currVal_0 = _v.context.$implicit.message; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_WarningPopupComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"div\", [[\"class\", \"jour\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"span\", [[\"class\", \"jour-date\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), i1.ɵppd(3, 1), (_l()(), i1.ɵeld(4, 0, null, null, 2, \"ul\", [[\"class\", \"warning-messages\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_WarningPopupComponent_3)), i1.ɵdid(6, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(7, 0, null, null, 0, \"hr\", [], null, null, null, null, null))], function (_ck, _v) { var currVal_1 = _v.context.$implicit.messagesDatas; _ck(_v, 6, 0, currVal_1); }, function (_ck, _v) { var currVal_0 = i1.ɵunv(_v, 2, 0, _ck(_v, 3, 0, i1.ɵnov(_v.parent.parent, 0), _v.context.$implicit.jourDate)); _ck(_v, 2, 0, currVal_0); }); }\nfunction View_WarningPopupComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_WarningPopupComponent_2)), i1.ɵdid(2, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.warningPopupData; _ck(_v, 2, 0, currVal_0); }, null); }\nexport function View_WarningPopupComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i3.ErrorPrettyDatePipe, []), (_l()(), i1.ɵeld(1, 0, null, null, 4, \"div\", [[\"class\", \"warning-popup-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"div\", [[\"class\", \"global-message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Validation r\\u00E9ussie pour les effectifs.\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_WarningPopupComponent_1)), i1.ɵdid(5, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.data; _ck(_v, 5, 0, currVal_0); }, null); }\nexport function View_WarningPopupComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"warning-popup\", [], null, null, null, View_WarningPopupComponent_0, RenderType_WarningPopupComponent)), i1.ɵdid(1, 180224, null, 0, i4.WarningPopupComponent, [], null, null)], null, null); }\nvar WarningPopupComponentNgFactory = i1.ɵccf(\"warning-popup\", i4.WarningPopupComponent, View_WarningPopupComponent_Host_0, {}, {}, []);\nexport { WarningPopupComponentNgFactory as WarningPopupComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{margin-top:22px}[_nghost-%COMP%] .warning-popup-container[_ngcontent-%COMP%] .global-message[_ngcontent-%COMP%]{padding:20px 0}[_nghost-%COMP%] .warning-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%]{margin-bottom:40px}[_nghost-%COMP%] .warning-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .jour-date[_ngcontent-%COMP%]{text-transform:capitalize;font-weight:600;font-size:18px}[_nghost-%COMP%] .warning-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .warning-messages[_ngcontent-%COMP%]{margin-top:10 px;padding-left:35px}@media only screen and (min-width:768px){[_nghost-%COMP%] .warning-popup-container[_ngcontent-%COMP%]{padding:0 40px}[_nghost-%COMP%] .warning-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .warning-messages[_ngcontent-%COMP%]{margin-left:20px;padding-left:40px}}[_nghost-%COMP%] .warning-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .warning-messages[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%]{margin-bottom:10px}[_nghost-%COMP%] .warning-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{border:none;height:1px;width:33%;background-color:#c7c7c7;margin-top:30px}[_nghost-%COMP%] .warning-popup-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] [_ngcontent-%COMP%]:last-child hr[_ngcontent-%COMP%]{display:none}\"];\nexport { styles as styles };\n","
\r\n
Validation réussie pour les effectifs.
\r\n
\r\n
\r\n {{jour.jourDate | errorPrettyDate}}\r\n
    \r\n
  • \r\n {{messageData.message}}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\r\nimport { RestaurantTypeHelper, RestaurantColorClasses } from '../helpers/restaurant-type.helper';\r\nimport { RestaurantTypeEnum } from '../enums/restaurant-type.enum';\r\nimport { values as objectValues } from 'lodash';\r\n\r\ninterface Data {\r\n type: RestaurantTypeEnum;\r\n isSecondary: boolean;\r\n isBlack: boolean;\r\n background: boolean;\r\n border: boolean;\r\n color: boolean;\r\n fill: boolean;\r\n hover: boolean;\r\n}\r\n\r\n@Directive({ selector: '[restaurantColor]' })\r\nexport class RestaurantTypeColorDirective {\r\n data: Data = undefined;\r\n // remove this and use the data above\r\n isSecondary: boolean = false;\r\n isBlack: boolean = false;\r\n type: RestaurantTypeEnum = undefined;\r\n hover: boolean = false;\r\n\r\n constructor(public el: ElementRef, private renderer: Renderer2) {\r\n }\r\n\r\n @Input()\r\n set restaurantColor(data: Data) {\r\n\r\n if (!data) {\r\n this.clearAll();\r\n return;\r\n }\r\n\r\n if (data.type == undefined) {\r\n data.type = RestaurantTypeEnum.Adulte;\r\n }\r\n\r\n if (data === this.data) {\r\n // no need to redraw, include isVisible next\r\n return;\r\n }\r\n\r\n this.hover = data.hover || false;\r\n\r\n // clear old if defined\r\n if (this.type != undefined) {\r\n this.clear(RestaurantTypeHelper.getClasses(this.type, this.hover));\r\n }\r\n\r\n this.apply(RestaurantTypeHelper.getClasses(data.type, this.hover), data.background, data.border, data.color, data.fill);\r\n\r\n if (this.isSecondary != data.isSecondary) {\r\n this.handleSecondary(data.isSecondary);\r\n }\r\n\r\n if (this.isBlack != data.isBlack) {\r\n this.handleBlack(data.isBlack);\r\n }\r\n\r\n this.isSecondary = data.isSecondary;\r\n this.isBlack = data.isBlack;\r\n this.type = data.type;\r\n this.data = data;\r\n }\r\n\r\n handleSecondary(isSec: boolean) {\r\n this.toggleClass('secondary', isSec);\r\n }\r\n\r\n handleBlack(isBlack: boolean) {\r\n this.toggleClass('black', isBlack);\r\n }\r\n\r\n clear(data: RestaurantColorClasses) {\r\n this.toggleClass(data.backgroundClass, false);\r\n this.toggleClass(data.borderClass, false);\r\n this.toggleClass(data.colorClass, false);\r\n this.toggleClass(data.fillClass, false);\r\n }\r\n\r\n clearAll() {\r\n // Compat IE11 // Object.values(RestaurantTypeEnum).forEach(restoType => {\r\n // avec angular 8 on devrait avoir une meilleur compat avec CoreJs v3 =>\r\n objectValues(RestaurantTypeEnum)\r\n .map(v => (v as any) as RestaurantTypeEnum)\r\n .forEach(restoType => {\r\n this.clear(RestaurantTypeHelper.getClasses(restoType, true));\r\n this.clear(RestaurantTypeHelper.getClasses(restoType, false));\r\n });\r\n }\r\n\r\n apply(data: RestaurantColorClasses, background: boolean = false, border: boolean = false, color: boolean = false, fill: boolean = false) {\r\n this.toggleClass(data.backgroundClass, background);\r\n this.toggleClass(data.borderClass, border);\r\n this.toggleClass(data.colorClass, color);\r\n this.toggleClass(data.fillClass, fill);\r\n }\r\n\r\n private toggleClass(name: string, isAdd: boolean) {\r\n (isAdd ? this.renderer.addClass : this.renderer.removeClass).call(this.renderer, this.el.nativeElement, name);\r\n }\r\n}\r\n","import { Component, Input, OnInit, EventEmitter, Output, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { ApplicationDataService } from '../../../shared/services/application-data.service';\r\nimport { AlerteModel } from '../../models/alertes.model';\r\nimport { ReceivedAlerteModel } from '../../models/received-alert.model';\r\n\r\n@Component({\r\n selector: 'app-alerte',\r\n templateUrl: './alerte.component.html',\r\n styleUrls: ['./alerte.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush // on push pour éviter un redraw des Iframes\r\n})\r\nexport class AlerteComponent implements OnInit {\r\n\r\n @Input()\r\n public alerte: AlerteModel;\r\n @Input()\r\n public showTitle: boolean = true;\r\n @Input()\r\n public receivedAlerte: ReceivedAlerteModel;\r\n @Output()\r\n public alerteDismissed: EventEmitter = new EventEmitter();\r\n\r\n public restaurantType$ = this._appDataService.restaurantType$;\r\n\r\n\r\n // public get safeMessage(): SafeHtml {\r\n // return this.alerte && this._domSanitizer.bypassSecurityTrustHtml(this.alerte.message);\r\n // }\r\n // on passe par une variable privée pour éviter de regénérer un SafeHtml qui provoque le rechargement du innerHtml (et recharge une potentielle iframe)\r\n public safeMessage: SafeHtml;\r\n\r\n constructor(\r\n private _domSanitizer: DomSanitizer,\r\n private _appDataService: ApplicationDataService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.safeMessage = this.alerte && this._domSanitizer.bypassSecurityTrustHtml(this.alerte.message);\r\n }\r\n\r\n dismissAlerte() {\r\n // Alerte lue\r\n const wasUnread = !this.receivedAlerte.isRead;\r\n this.receivedAlerte.isRead = true;\r\n // on laisse un léger timing lorsque l'on coche valide la lecture d'une alerte => faire plutôt une animation\r\n setTimeout(() => this.alerteDismissed.next(this.receivedAlerte), wasUnread ? 300 : 1);\r\n }\r\n\r\n}\r\n","\r\nimport { EventEmitter, Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { BehaviorSubject, Observable, of, Subscriber } from 'rxjs';\r\nimport { distinctUntilChanged } from 'rxjs/operators';\r\nimport { OdgEvaluationModel } from '../../odg/models/odg.model';\r\nimport { RestaurantTypeEnum } from '../enums/restaurant-type.enum';\r\nimport { RythmeContratEnum } from '../enums/rythme-contrat.enum';\r\nimport { ContratModel } from '../models/contrat.model';\r\nimport { RestaurantModel } from '../models/restaurant.model';\r\nimport { InteractionService } from './interaction.service';\r\nimport { LogService } from './log.service';\r\nimport { NavigationService } from './navigation.service';\r\n\r\n/**\r\n * Service for sharing app Data with BehaviorSubject\r\n */\r\n@Injectable()\r\nexport class ApplicationDataService {\r\n currentRythme: RythmeContratEnum;\r\n\r\n private _restaurantSubject = new BehaviorSubject(undefined);\r\n private _restaurantTypeSubject = new BehaviorSubject(undefined);\r\n private _pageTitleSubject = new BehaviorSubject('');\r\n private _contratSubject = new BehaviorSubject(undefined);\r\n\r\n restaurant$ = this._restaurantSubject.asObservable().pipe(distinctUntilChanged());\r\n restaurantType$ = this._restaurantTypeSubject.asObservable().pipe(distinctUntilChanged());\r\n pageTitle$ = this._pageTitleSubject.asObservable().pipe(distinctUntilChanged());\r\n\r\n contrat$ = this._contratSubject.asObservable().pipe(distinctUntilChanged());\r\n\r\n showBadEval: EventEmitter = new EventEmitter();\r\n closeBadEval: EventEmitter = new EventEmitter();\r\n\r\n notificationLu: EventEmitter = new EventEmitter();\r\n\r\n constructor(private logService: LogService,\r\n private navService: NavigationService,\r\n private interactionService: InteractionService,\r\n private title: Title) {\r\n }\r\n\r\n changeContrat(contrat: ContratModel): Observable {\r\n if(contrat == this._contratSubject.value){\r\n return of(true);\r\n }\r\n\r\n return new Observable((sub: Subscriber) => {\r\n if (this.navService.isAnyComponentDirty()) {\r\n this.interactionService.showConfirmNavigationDialog().subscribe(canExecute => {\r\n if (canExecute) {\r\n this.changeContrat_Imp(contrat);\r\n }\r\n\r\n sub.next(canExecute);\r\n sub.complete();\r\n });\r\n } else {\r\n this.changeContrat_Imp(contrat);\r\n sub.next(true);\r\n sub.complete();\r\n }\r\n });\r\n }\r\n\r\n changeRestaurant(rest: RestaurantModel, force: boolean = false): Observable {\r\n if(rest == this._restaurantSubject.value){\r\n return of(true);\r\n }\r\n // Force -> Ignore dirty and force change\r\n return new Observable((sub: Subscriber) => {\r\n if (!force && this.navService.isAnyComponentDirty()) {\r\n this.interactionService.showConfirmNavigationDialog().subscribe(canExecute => {\r\n if (canExecute) {\r\n this.changeRestaurant_Imp(rest);\r\n }\r\n\r\n sub.next(canExecute);\r\n sub.complete();\r\n });\r\n } else {\r\n this.changeRestaurant_Imp(rest);\r\n sub.next(true);\r\n sub.complete();\r\n }\r\n });\r\n }\r\n\r\n private changeContrat_Imp(contrat: ContratModel) {\r\n this.logService.Debug(`New contrat : [${contrat && contrat.id}] ${contrat && contrat.libelle} `, 'ApplicationDataService');\r\n this._contratSubject.next(contrat);\r\n this.currentRythme = contrat && contrat.rythme;\r\n }\r\n\r\n private changeRestaurant_Imp(rest: RestaurantModel) {\r\n this.logService.Debug(`New restaurant : [${rest && rest.id}] ${rest && rest.name} `, 'ApplicationDataService');\r\n this._restaurantSubject.next(rest);\r\n this._restaurantTypeSubject.next(rest && rest.type);\r\n }\r\n\r\n changePageTitle(newTitle: string) {\r\n this.logService.Debug('New PageTitle : ' + newTitle, 'ApplicationDataService');\r\n const applicationTitle = `${this.title.getTitle().split('-')[0].trim()} - ${newTitle}`;\r\n this.title.setTitle(applicationTitle);\r\n\r\n this._pageTitleSubject.next(newTitle);\r\n }\r\n\r\n showBadEvaluation(odgEval: OdgEvaluationModel) {\r\n this.showBadEval.emit(odgEval);\r\n }\r\n\r\n closeBadEvaluation(odgEval: OdgEvaluationModel) {\r\n this.closeBadEval.emit(odgEval);\r\n }\r\n\r\n getCloseBadEvaluation() {\r\n return this.closeBadEval;\r\n }\r\n\r\n discussionLuDecreaseCount(count: number) {\r\n this.notificationLu.next(count);\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./alerte.component.scss.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"../../../shared/directives/restaurant-type-color.directive\";\nimport * as i4 from \"./alerte.component\";\nimport * as i5 from \"@angular/platform-browser\";\nimport * as i6 from \"../../../shared/services/application-data.service\";\nvar styles_AlerteComponent = [i0.styles];\nvar RenderType_AlerteComponent = i1.ɵcrt({ encapsulation: 2, styles: styles_AlerteComponent, data: {} });\nexport { RenderType_AlerteComponent as RenderType_AlerteComponent };\nfunction View_AlerteComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"alerte-title\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h2\", [], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.alerte.titre; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_AlerteComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"check_box\"]))], null, null); }\nexport function View_AlerteComponent_0(_l) { return i1.ɵvid(2, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"alerte-content\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_AlerteComponent_1)), i1.ɵdid(2, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 0, \"div\", [[\"class\", \"alerte-message\"]], [[8, \"innerHTML\", 1]], null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 8, \"div\", [[\"class\", \"alerte-actions\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 7, \"button\", [[\"class\", \"generic-button btn-alerte\"]], [[2, \"btn-alerte-lue\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.dismissAlerte() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(6, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpid(131072, i2.AsyncPipe, [i1.ChangeDetectorRef]), i1.ɵpod(8, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_AlerteComponent_2)), i1.ɵdid(10, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(11, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(12, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.showTitle; _ck(_v, 2, 0, currVal_0); var currVal_3 = (!_co.receivedAlerte.isRead && _ck(_v, 8, 0, i1.ɵunv(_v, 6, 0, i1.ɵnov(_v, 7).transform(_co.restaurantType$)), true)); _ck(_v, 6, 0, currVal_3); var currVal_4 = _co.receivedAlerte.isRead; _ck(_v, 10, 0, currVal_4); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.safeMessage; _ck(_v, 3, 0, currVal_1); var currVal_2 = _co.receivedAlerte.isRead; _ck(_v, 5, 0, currVal_2); var currVal_5 = (_co.receivedAlerte.isRead ? \"Lu\" : \"Ok\"); _ck(_v, 12, 0, currVal_5); }); }\nexport function View_AlerteComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-alerte\", [], null, null, null, View_AlerteComponent_0, RenderType_AlerteComponent)), i1.ɵdid(1, 114688, null, 0, i4.AlerteComponent, [i5.DomSanitizer, i6.ApplicationDataService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar AlerteComponentNgFactory = i1.ɵccf(\"app-alerte\", i4.AlerteComponent, View_AlerteComponent_Host_0, { alerte: \"alerte\", showTitle: \"showTitle\", receivedAlerte: \"receivedAlerte\" }, { alerteDismissed: \"alerteDismissed\" }, []);\nexport { AlerteComponentNgFactory as AlerteComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"app-alerte{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}app-alerte iframe:not(.no-loader){background-image:url(/assets/images/loading.gif);background-position:center 20%;background-repeat:no-repeat;max-width:100%}.alerte-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:0 30px}.alerte-actions{text-align:center;margin-top:1em;margin-bottom:1em}.alerte-message{white-space:pre-wrap}.btn-alerte{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;font-family:josefin;min-width:120px}.btn-alerte>i{margin-right:5px}.btn-alerte.btn-alerte-lue{background-color:#28a745}\"];\nexport { styles as styles };\n","
\r\n
\r\n

{{ alerte.titre }}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewEncapsulation, OnDestroy, ChangeDetectionStrategy } from '@angular/core';\r\nimport { RatingModel } from './rating.model';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-rating',\r\n templateUrl: './rating.component.html',\r\n styleUrls: ['./rating.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RatingComponent implements OnInit, OnDestroy {\r\n\r\n @Input() itemId: number;\r\n @Input() ratings: RatingModel[] =\r\n [\r\n { rating: 1, tooltip: 'Pas du tout satisfait', label: this._domSanitizer.bypassSecurityTrustHtml(`sentiment_very_dissatisfied Pas du tout satisfait`) },\r\n { rating: 2, tooltip: 'Peu satisfait', label: this._domSanitizer.bypassSecurityTrustHtml(`sentiment_dissatisfied Peu satisfait`) },\r\n { rating: 3, tooltip: 'Ni satisfait, ni insatisfait', label: this._domSanitizer.bypassSecurityTrustHtml(`sentiment_satisfied Ni satisfait, ni insatisfait`) },\r\n { rating: 4, tooltip: 'Satisfait', label: this._domSanitizer.bypassSecurityTrustHtml(`sentiment_satisfied_alt Satisfait`) },\r\n { rating: 5, tooltip: 'Très satisfait', label: this._domSanitizer.bypassSecurityTrustHtml(`sentiment_very_satisfied Très satisfait`) },\r\n ].reverse(); // reverse pour gérer les styles facilement avec des siblings ~\r\n @Input() rating: number;\r\n @Input() ratingModel: RatingModel;\r\n @Output() ratingClick: EventEmitter = new EventEmitter();\r\n\r\n inputName: string;\r\n nextRating: RatingModel;\r\n\r\n constructor(\r\n private _domSanitizer: DomSanitizer\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.inputName = this.itemId + '_rating';\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.ratingClick.unsubscribe();\r\n }\r\n\r\n onClick(rating: RatingModel): void {\r\n this.ratingModel = rating;\r\n this.rating = rating.rating;\r\n this.ratingClick.emit(rating);\r\n }\r\n\r\n mouseenter(rating: RatingModel): void {\r\n this.nextRating = rating;\r\n }\r\n\r\n mouseleave() {\r\n this.nextRating = null;\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./rating.component.scss.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./rating.component\";\nimport * as i4 from \"@angular/platform-browser\";\nvar styles_RatingComponent = [i0.styles];\nvar RenderType_RatingComponent = i1.ɵcrt({ encapsulation: 2, styles: styles_RatingComponent, data: {} });\nexport { RenderType_RatingComponent as RenderType_RatingComponent };\nfunction View_RatingComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"input\", [[\"type\", \"radio\"]], [[8, \"name\", 0], [8, \"value\", 0], [8, \"checked\", 0]], null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 2, \"label\", [], [[8, \"title\", 0]], [[null, \"click\"], [null, \"mouseenter\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onClick(_v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } if ((\"mouseenter\" === en)) {\n var pd_1 = (_co.mouseenter(_v.context.$implicit) !== false);\n ad = (pd_1 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"grade\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.inputName; var currVal_1 = _v.context.$implicit.rating; var currVal_2 = (_co.rating === _v.context.$implicit.rating); _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2); var currVal_3 = _v.context.$implicit.tooltip; _ck(_v, 2, 0, currVal_3); }); }\nexport function View_RatingComponent_0(_l) { return i1.ɵvid(2, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"rating\"]], null, [[null, \"mouseleave\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"mouseleave\" === en)) {\n var pd_0 = (_co.mouseleave() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RatingComponent_1)), i1.ɵdid(2, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 0, \"div\", [[\"class\", \"rating-text\"]], [[8, \"innerHTML\", 1]], null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.ratings; _ck(_v, 2, 0, currVal_0); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = (((_co.nextRating && _co.nextRating.label) || (_co.ratingModel && _co.ratingModel.label)) || \"\"); _ck(_v, 3, 0, currVal_1); }); }\nexport function View_RatingComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-rating\", [], null, null, null, View_RatingComponent_0, RenderType_RatingComponent)), i1.ɵdid(1, 245760, null, 0, i3.RatingComponent, [i4.DomSanitizer], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar RatingComponentNgFactory = i1.ɵccf(\"app-rating\", i3.RatingComponent, View_RatingComponent_Host_0, { itemId: \"itemId\", ratings: \"ratings\", rating: \"rating\", ratingModel: \"ratingModel\" }, { ratingClick: \"ratingClick\" }, []);\nexport { RatingComponentNgFactory as RatingComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"app-rating{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}app-rating .rating{border:none}app-rating .rating>input{position:absolute;top:-9999px;clip:rect(0,0,0,0)}app-rating .rating>label{float:right;cursor:pointer;color:#ddd}app-rating .rating>label>i.material-icons{font-size:3.5em}app-rating .rating>input:checked~label{color:gold}app-rating .rating:not(:checked)>label:hover,app-rating .rating:not(:checked)>label:hover~label{color:#f70}app-rating .rating>input:checked~label:hover,app-rating .rating>input:checked~label:hover~label,app-rating .rating>label:hover~input:checked~label{color:#ea0}app-rating .rating-text{height:30px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}\"];\nexport { styles as styles };\n","
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit, OnChanges, Input, Output, EventEmitter, ViewEncapsulation, SimpleChanges, SimpleChange } from '@angular/core';\r\nimport { EnqueteModel } from '../../models/enquete.model';\r\nimport { ReceivedEnqueteModel } from '../../models/received-enquete.model';\r\nimport { SafeHtml, DomSanitizer } from '@angular/platform-browser';\r\nimport { ApplicationDataService } from 'src/app/shared/services/application-data.service';\r\nimport { RatingModel } from '../rating/rating.model';\r\nimport { InteractionService } from 'src/app/shared/services/interaction.service';\r\n\r\n@Component({\r\n selector: 'app-enquete',\r\n templateUrl: './enquete.component.html',\r\n styleUrls: ['./enquete.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class EnqueteComponent implements OnChanges {\r\n\r\n @Input()\r\n public enquete: EnqueteModel;\r\n\r\n @Input()\r\n public showTitle: boolean = true;\r\n\r\n @Input()\r\n public receivedEnquete: ReceivedEnqueteModel;\r\n\r\n @Output()\r\n public enqueteDismissed: EventEmitter = new EventEmitter();\r\n\r\n public restaurantType$ = this._appDataService.restaurantType$;\r\n\r\n public note?: number;\r\n public commentaire?: string;\r\n\r\n public get safeMessage(): SafeHtml {\r\n return this.enquete && this._domSanitizer.bypassSecurityTrustHtml(this.enquete.question);\r\n }\r\n\r\n public get commentaireRequired(): boolean {\r\n return this.note && (this.note <= this.enquete.seuilCommentaireRequis);\r\n }\r\n\r\n constructor(\r\n private _domSanitizer: DomSanitizer,\r\n private _appDataService: ApplicationDataService\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n // tslint:disable-next-line: no-string-literal\r\n const change = changes['receivedEnquete'];\r\n if (change && change.currentValue) {\r\n const receivedEnquete = change.currentValue as ReceivedEnqueteModel;\r\n this.note = receivedEnquete.note;\r\n this.commentaire = receivedEnquete.commentaire;\r\n }\r\n }\r\n\r\n repondreEnquete() {\r\n if (this.note) {\r\n this.receivedEnquete.note = this.note;\r\n this.receivedEnquete.commentaire = this.commentaire;\r\n }\r\n this.enqueteDismissed.next(this.receivedEnquete);\r\n }\r\n\r\n ratingComponentClick(rating: RatingModel) {\r\n this.note = rating.rating;\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./enquete.component.scss.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"../rating/rating.component.ngfactory\";\nimport * as i5 from \"../rating/rating.component\";\nimport * as i6 from \"@angular/platform-browser\";\nimport * as i7 from \"../../../shared/directives/restaurant-type-color.directive\";\nimport * as i8 from \"./enquete.component\";\nimport * as i9 from \"../../../shared/services/application-data.service\";\nvar styles_EnqueteComponent = [i0.styles];\nvar RenderType_EnqueteComponent = i1.ɵcrt({ encapsulation: 2, styles: styles_EnqueteComponent, data: {} });\nexport { RenderType_EnqueteComponent as RenderType_EnqueteComponent };\nfunction View_EnqueteComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"enquete-title\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h2\", [], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.enquete.libelle; _ck(_v, 2, 0, currVal_0); }); }\nexport function View_EnqueteComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 32, \"form\", [[\"autocomplete\", \"off\"], [\"class\", \"enquete-content\"], [\"ngNativeValidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 1).onReset() !== false);\n ad = (pd_1 && ad);\n } if ((\"submit\" === en)) {\n var pd_2 = (_co.repondreEnquete() !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 4210688, null, 0, i2.NgForm, [[8, null], [8, null]], null, null), i1.ɵprd(2048, null, i2.ControlContainer, null, [i2.NgForm]), i1.ɵdid(3, 16384, null, 0, i2.NgControlStatusGroup, [[4, i2.ControlContainer]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EnqueteComponent_1)), i1.ɵdid(5, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(6, 0, null, null, 0, \"div\", [[\"class\", \"enquete-message\"]], [[8, \"innerHTML\", 1]], null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"app-rating\", [[\"class\", \"enquete-rating\"]], null, [[null, \"ratingClick\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ratingClick\" === en)) {\n var pd_0 = (_co.ratingComponentClick($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i4.View_RatingComponent_0, i4.RenderType_RatingComponent)), i1.ɵdid(8, 245760, null, 0, i5.RatingComponent, [i6.DomSanitizer], { itemId: [0, \"itemId\"], rating: [1, \"rating\"] }, { ratingClick: \"ratingClick\" }), (_l()(), i1.ɵeld(9, 0, null, null, 11, \"div\", [[\"class\", \"enquete-commentaires-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 1, \"label\", [[\"for\", \"commentaire\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Commentaire\"])), (_l()(), i1.ɵeld(12, 0, null, null, 8, \"textarea\", [[\"maxlength\", \"4000\"], [\"name\", \"commentaire\"]], [[8, \"placeholder\", 0], [1, \"required\", 0], [1, \"maxlength\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 13)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 13).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 13)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 13)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.commentaire = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(13, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(14, 16384, null, 0, i2.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵdid(15, 540672, null, 0, i2.MaxLengthValidator, [], { maxlength: [0, \"maxlength\"] }, null), i1.ɵprd(1024, null, i2.NG_VALIDATORS, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i2.RequiredValidator, i2.MaxLengthValidator]), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.DefaultValueAccessor]), i1.ɵdid(18, 671744, null, 0, i2.NgModel, [[2, i2.ControlContainer], [6, i2.NG_VALIDATORS], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(20, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(21, 0, null, null, 8, \"div\", [[\"class\", \"enquete-actions\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(22, 0, null, null, 7, \"button\", [[\"class\", \"generic-button btn-enquete\"], [\"type\", \"submit\"]], [[2, \"btn-enquete-skip\", null]], null, null, null, null)), i1.ɵdid(23, 16384, null, 0, i7.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpid(131072, i3.AsyncPipe, [i1.ChangeDetectorRef]), i1.ɵpod(25, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(26, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(27, null, [\"\", \"\"])), (_l()(), i1.ɵeld(28, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(29, null, [\"\", \"\"])), (_l()(), i1.ɵeld(30, 0, null, null, 2, \"div\", [[\"class\", \"enquete-footer\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(31, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(32, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.showTitle; _ck(_v, 5, 0, currVal_7); var currVal_9 = _co.receivedEnquete.enqueteId; var currVal_10 = _co.note; _ck(_v, 8, 0, currVal_9, currVal_10); var currVal_21 = _co.commentaireRequired; _ck(_v, 14, 0, currVal_21); var currVal_22 = \"4000\"; _ck(_v, 15, 0, currVal_22); var currVal_23 = \"commentaire\"; var currVal_24 = _co.commentaire; _ck(_v, 18, 0, currVal_23, currVal_24); var currVal_26 = (_co.note && _ck(_v, 25, 0, i1.ɵunv(_v, 23, 0, i1.ɵnov(_v, 24).transform(_co.restaurantType$)), true)); _ck(_v, 23, 0, currVal_26); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 3).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 3).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 3).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 3).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 3).ngClassValid; var currVal_5 = i1.ɵnov(_v, 3).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 3).ngClassPending; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_8 = _co.safeMessage; _ck(_v, 6, 0, currVal_8); var currVal_11 = ((_co.commentaireRequired && \"Veuillez pr\\u00E9ciser\") || \"\"); var currVal_12 = (i1.ɵnov(_v, 14).required ? \"\" : null); var currVal_13 = (i1.ɵnov(_v, 15).maxlength ? i1.ɵnov(_v, 15).maxlength : null); var currVal_14 = i1.ɵnov(_v, 20).ngClassUntouched; var currVal_15 = i1.ɵnov(_v, 20).ngClassTouched; var currVal_16 = i1.ɵnov(_v, 20).ngClassPristine; var currVal_17 = i1.ɵnov(_v, 20).ngClassDirty; var currVal_18 = i1.ɵnov(_v, 20).ngClassValid; var currVal_19 = i1.ɵnov(_v, 20).ngClassInvalid; var currVal_20 = i1.ɵnov(_v, 20).ngClassPending; _ck(_v, 12, 0, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17, currVal_18, currVal_19, currVal_20); var currVal_25 = !_co.note; _ck(_v, 22, 0, currVal_25); var currVal_27 = (_co.note ? \"check\" : \"chevron_right\"); _ck(_v, 27, 0, currVal_27); var currVal_28 = (_co.note ? \"Valider\" : \"Passer\"); _ck(_v, 29, 0, currVal_28); var currVal_29 = _co.enquete.informations; _ck(_v, 32, 0, currVal_29); }); }\nexport function View_EnqueteComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-enquete\", [], null, null, null, View_EnqueteComponent_0, RenderType_EnqueteComponent)), i1.ɵdid(1, 573440, null, 0, i8.EnqueteComponent, [i6.DomSanitizer, i9.ApplicationDataService], null, null)], null, null); }\nvar EnqueteComponentNgFactory = i1.ɵccf(\"app-enquete\", i8.EnqueteComponent, View_EnqueteComponent_Host_0, { enquete: \"enquete\", showTitle: \"showTitle\", receivedEnquete: \"receivedEnquete\" }, { enqueteDismissed: \"enqueteDismissed\" }, []);\nexport { EnqueteComponentNgFactory as EnqueteComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"app-enquete{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}.enquete-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;padding:0 30px}.enquete-message,.enquete-rating{margin-top:1em}.enquete-commentaires-container{width:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.enquete-commentaires-container>label{-ms-flex-item-align:start;align-self:flex-start}.enquete-commentaires-container>textarea{-ms-flex-item-align:center;align-self:center;background-color:#fff;border:1px solid #d1d1d1;margin-top:.5em;margin-left:7px;width:100%;min-height:4em}.enquete-actions{text-align:center;margin-top:1em}.enquete-actions>:not(:first-child){margin-left:20px}.enquete-footer{margin-top:1em;font-size:.9em}.btn-enquete{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;font-family:josefin;min-width:120px}.btn-enquete>i{margin-right:5px}.btn-enquete.btn-enquete-skip{background-color:gray}\"];\nexport { styles as styles };\n","
\r\n
\r\n

{{ enquete.libelle }}

\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ enquete.informations }}\r\n
\r\n
\r\n","import { Directive, ElementRef, Input, DoCheck } from '@angular/core';\r\n\r\nimport { RestaurantTypeHelper, RestaurantColorClasses } from '../helpers/restaurant-type.helper';\r\n\r\nimport { RestaurantTypeEnum } from '../enums/restaurant-type.enum';\r\n\r\n@Directive({ selector: '[paginationColor]' })\r\nexport class PaginationColorDirective implements DoCheck {\r\n\r\n type: RestaurantTypeEnum = undefined;\r\n constructor(public el: ElementRef) {\r\n }\r\n\r\n ngDoCheck() {\r\n if (this.type == undefined)\r\n return;\r\n\r\n let bg = RestaurantTypeHelper.getClasses(this.type).backgroundClass;\r\n let bullets: Element[] = this.el.nativeElement.querySelectorAll('.swiper-pagination-bullet');\r\n\r\n if (bullets != undefined) {\r\n let count = bullets.length;\r\n for (let i = 0; i < count; i++) {\r\n let bullet = bullets[i];\r\n let isActive: boolean = bullet.classList.contains('swiper-pagination-bullet-active');\r\n if (isActive) {\r\n bullet.classList.add(bg);\r\n }\r\n else {\r\n bullet.classList.remove(bg);\r\n }\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n set paginationColor(type: RestaurantTypeEnum) {\r\n this.type = type;\r\n }\r\n}","import { Directive, AfterViewInit, ElementRef, Input, Optional, Inject, Renderer2 } from '@angular/core';\r\nimport { SwiperConfigInterface, SwiperConfig, SWIPER_CONFIG } from 'ngx-swiper-wrapper';\r\n\r\n\r\n// Inspiré de https://github.com/zefoy/ngx-swiper-wrapper/blob/master/src/lib/swiper.directive.ts\r\n\r\n/**\r\n *\r\n * Utilisé pour ajouter des class custom sur les élements du composant swiper\r\n * @export\r\n */\r\n@Directive({\r\n selector: 'swiper'\r\n})\r\nexport class SwiperRestaurantThemeDirective implements AfterViewInit {\r\n\r\n @Input() config?: SwiperConfigInterface;\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _renderer: Renderer2,\r\n @Optional() @Inject(SWIPER_CONFIG\r\n ) private defaults: SwiperConfigInterface) { }\r\n\r\n ngAfterViewInit(): void {\r\n const params = new SwiperConfig(this.defaults);\r\n\r\n params.assign(this.config); // Custom configuration\r\n\r\n if (params.navigation === true) {\r\n params.navigation = {\r\n prevEl: '.swiper-button-prev',\r\n nextEl: '.swiper-button-next'\r\n };\r\n }\r\n\r\n const el = this._elementRef.nativeElement as HTMLElement;\r\n const prevBtn = el.querySelector(params.navigation.prevEl);\r\n this._renderer.addClass(prevBtn, 'restaurant-type-color');\r\n this._renderer.addClass(prevBtn, 'restaurant-type-background-hover');\r\n const nextBtn = el.querySelector(params.navigation.nextEl);\r\n this._renderer.addClass(nextBtn, 'restaurant-type-color');\r\n this._renderer.addClass(nextBtn, 'restaurant-type-background-hover');\r\n }\r\n\r\n}\r\n","import { Component, OnInit, AfterViewInit, ViewChild, ViewEncapsulation, ElementRef, OnDestroy } from '@angular/core';\r\nimport { PopupCustomComponentGeneric } from 'src/app/popup-custom/popup-custom-content.component';\r\nimport { PopupNotificationsModel } from '../../models/popup-notifications.model';\r\nimport { AlerteModel } from '../../models/alertes.model';\r\nimport { ReceivedAlerteModel } from '../../models/received-alert.model';\r\nimport { ReceivedEnqueteModel } from '../../models/received-enquete.model';\r\nimport { EnqueteModel } from '../../models/enquete.model';\r\nimport { SwiperConfigInterface, SwiperComponent } from 'ngx-swiper-wrapper';\r\nimport { ApplicationDataService } from 'src/app/shared/services/application-data.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { orderBy } from 'lodash';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { first } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-popup-notifications',\r\n templateUrl: './popup-notifications.component.html',\r\n styleUrls: ['./popup-notifications.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PopupNotificationsComponent extends PopupCustomComponentGeneric implements OnInit, OnDestroy {\r\n\r\n public alertes: { alerte: AlerteModel, state: ReceivedAlerteModel }[];\r\n public enquetes: { enquete: EnqueteModel, state: ReceivedEnqueteModel }[];\r\n\r\n public swiperConfig: SwiperConfigInterface = {\r\n navigation: true,\r\n watchOverflow: true, // Swiper will be disabled and hide navigation buttons on case there are not enough slides for sliding\r\n // slidesOffsetBefore: 30,\r\n // slidesOffsetAfter: 30,\r\n // scrollbar: true,\r\n simulateTouch: false, // If true, Swiper will accept mouse events like touch events (click and drag to change slides)\r\n // shortSwipes: false,\r\n // longSwipesRatio: 0.2,\r\n // longSwipesMs: 200,\r\n pagination: {\r\n el: '.swiper-pagination',\r\n type: 'bullets',\r\n clickable: true\r\n },\r\n // autoHeight: true, // Set to true and slider wrapper will adopt its height to the height of the currently active slide\r\n };\r\n public slideIndex?: number;\r\n\r\n public get hasMultipleNotifications() { return ((this.alertes && this.alertes.length) + (this.enquetes && this.enquetes.length)) > 1; }\r\n\r\n @ViewChild(SwiperComponent, { static: true }) public componentRef: SwiperComponent;\r\n\r\n public restaurantType$ = this._appDataService.restaurantType$;\r\n\r\n constructor(private _appDataService: ApplicationDataService,\r\n private _toastrService: ToastrService,\r\n private _elementRef: ElementRef\r\n ) {\r\n super();\r\n }\r\n\r\n private loadViewModels() {\r\n this.alertes = orderBy(\r\n this.model.notifications.alertes.map(a => ({ alerte: a, state: this.model.notifications.receivedAlertes.find(ra => ra.alerteId === a.alerteId) })),\r\n ['state.isRead', 'alerte.alerteId']\r\n );\r\n this.enquetes = this.model.notifications.enquetes.map(e => ({ enquete: e, state: this.model.notifications.receivedEnquetes.find(re => re.enqueteId === e.enqueteId) }))\r\n // on ne réaffiche pas les enquêtes répondues\r\n .filter(e => !e.state.note);\r\n }\r\n\r\n ngOnInit() {\r\n this.loadViewModels();\r\n this.componentRef.S_SLIDECHANGE\r\n .pipe(untilDestroyed(this))\r\n .subscribe(_ => {\r\n // HACK, on vient faire un scroll top sur le div \".popup-body\"\r\n const el = (this._elementRef.nativeElement as HTMLElement);\r\n if (el && el.closest) {\r\n const popupBodyEl = el.closest('div.popup-body');\r\n if (popupBodyEl) {\r\n popupBodyEl.scrollTo(0, 0);\r\n }\r\n }\r\n });\r\n // On effectue une navigation (avec animation) vers la 1ere notif non lue\r\n // this.slideToFirstUnread();\r\n this.componentRef.S_INIT // On attends que le composant soit chargé pour que l'animation fonctionne\r\n .pipe(untilDestroyed(this))\r\n .subscribe(_ => {\r\n this.slideToFirstUnread();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n }\r\n\r\n dismissAlerte() {\r\n this.slideNext();\r\n }\r\n\r\n dismissEnquete(enqueteState: ReceivedEnqueteModel) {\r\n if (enqueteState.note) {\r\n // toast de confirmation\r\n this._toastrService.success('Merci de votre participation!', 'Enquête');\r\n // on retire l'enquete de l'affichage\r\n this.enquetes = this.enquetes.filter(e => e.state !== enqueteState);\r\n this.componentRef.directiveRef.update();\r\n this.hideIfLastSlide();\r\n } else {\r\n this.slideNext();\r\n }\r\n }\r\n\r\n private slideToFirstUnread() {\r\n let unreadIndex = this.alertes.findIndex(a => !a.state.isRead);\r\n if (unreadIndex === -1) {\r\n unreadIndex = this.enquetes.findIndex(e => !e.state.note);\r\n if (unreadIndex > -1) {\r\n unreadIndex += this.alertes.length;\r\n }\r\n }\r\n if (unreadIndex > -1) {\r\n // this.componentRef.index = unreadIndex;\r\n this.componentRef.directiveRef.setIndex(unreadIndex, 300, true);\r\n // this.swiperConfig.initialSlide = unreadIndex;\r\n // this.slideIndex = unreadIndex;\r\n }\r\n }\r\n\r\n private slideNext() {\r\n this.hideIfLastSlide();\r\n this.componentRef.directiveRef.nextSlide();\r\n }\r\n\r\n private hideIfLastSlide() {\r\n const index = this.componentRef.directiveRef.getIndex();\r\n const notifCount = this.alertes.length + this.enquetes.length;\r\n if (notifCount === 0 || index === (notifCount - 1)) {\r\n // on ferme si on est arrivé au bout de la liste\r\n this.hide();\r\n }\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./popup-notifications.component.scss.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../alerte/alerte.component.ngfactory\";\nimport * as i3 from \"../alerte/alerte.component\";\nimport * as i4 from \"@angular/platform-browser\";\nimport * as i5 from \"../../../shared/services/application-data.service\";\nimport * as i6 from \"../enquete/enquete.component.ngfactory\";\nimport * as i7 from \"../enquete/enquete.component\";\nimport * as i8 from \"../../../../../node_modules/ngx-swiper-wrapper/dist/ngx-swiper-wrapper.ngfactory\";\nimport * as i9 from \"ngx-swiper-wrapper\";\nimport * as i10 from \"../../../shared/directives/pagination-color.directive\";\nimport * as i11 from \"@angular/common\";\nimport * as i12 from \"../../../shared/directives/swiper-restaurant-theme.directive\";\nimport * as i13 from \"./popup-notifications.component\";\nimport * as i14 from \"ngx-toastr\";\nvar styles_PopupNotificationsComponent = [i0.styles];\nvar RenderType_PopupNotificationsComponent = i1.ɵcrt({ encapsulation: 2, styles: styles_PopupNotificationsComponent, data: {} });\nexport { RenderType_PopupNotificationsComponent as RenderType_PopupNotificationsComponent };\nfunction View_PopupNotificationsComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-alerte\", [], null, [[null, \"alerteDismissed\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"alerteDismissed\" === en)) {\n var pd_0 = (_co.dismissAlerte() !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_AlerteComponent_0, i2.RenderType_AlerteComponent)), i1.ɵdid(2, 114688, null, 0, i3.AlerteComponent, [i4.DomSanitizer, i5.ApplicationDataService], { alerte: [0, \"alerte\"], showTitle: [1, \"showTitle\"], receivedAlerte: [2, \"receivedAlerte\"] }, { alerteDismissed: \"alerteDismissed\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _v.context.$implicit.alerte; var currVal_1 = _co.hasMultipleNotifications; var currVal_2 = _v.context.$implicit.state; _ck(_v, 2, 0, currVal_0, currVal_1, currVal_2); }, null); }\nfunction View_PopupNotificationsComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-enquete\", [], null, [[null, \"enqueteDismissed\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"enqueteDismissed\" === en)) {\n var pd_0 = (_co.dismissEnquete($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_EnqueteComponent_0, i6.RenderType_EnqueteComponent)), i1.ɵdid(2, 573440, null, 0, i7.EnqueteComponent, [i4.DomSanitizer, i5.ApplicationDataService], { enquete: [0, \"enquete\"], showTitle: [1, \"showTitle\"], receivedEnquete: [2, \"receivedEnquete\"] }, { enqueteDismissed: \"enqueteDismissed\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _v.context.$implicit.enquete; var currVal_1 = _co.hasMultipleNotifications; var currVal_2 = _v.context.$implicit.state; _ck(_v, 2, 0, currVal_0, currVal_1, currVal_2); }, null); }\nexport function View_PopupNotificationsComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { componentRef: 0 }), (_l()(), i1.ɵeld(1, 0, null, null, 8, \"swiper\", [[\"class\", \"swiper-custom-navigation\"]], [[2, \"notifications-swiper--active\", null]], [[null, \"indexChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"indexChange\" === en)) {\n var pd_0 = ((_co.slideIndex = $event) !== false);\n ad = (pd_0 && ad);\n } if ((\"indexChange\" === en)) {\n var pd_1 = (true !== false);\n ad = (pd_1 && ad);\n } return ad; }, i8.View_SwiperComponent_0, i8.RenderType_SwiperComponent)), i1.ɵdid(2, 4374528, [[1, 4]], 0, i9.SwiperComponent, [i1.NgZone, i1.ChangeDetectorRef, i1.PLATFORM_ID, [2, i9.SWIPER_CONFIG]], { index: [0, \"index\"], config: [1, \"config\"] }, { indexChange: \"indexChange\" }), i1.ɵdid(3, 278528, null, 0, i10.PaginationColorDirective, [i1.ElementRef], { paginationColor: [0, \"paginationColor\"] }, null), i1.ɵpid(131072, i11.AsyncPipe, [i1.ChangeDetectorRef]), i1.ɵdid(5, 4210688, null, 0, i12.SwiperRestaurantThemeDirective, [i1.ElementRef, i1.Renderer2, [2, i9.SWIPER_CONFIG]], { config: [0, \"config\"] }, null), (_l()(), i1.ɵand(16777216, null, 0, 1, null, View_PopupNotificationsComponent_1)), i1.ɵdid(7, 278528, null, 0, i11.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵand(16777216, null, 0, 1, null, View_PopupNotificationsComponent_2)), i1.ɵdid(9, 278528, null, 0, i11.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.slideIndex; var currVal_2 = _co.swiperConfig; _ck(_v, 2, 0, currVal_1, currVal_2); var currVal_3 = i1.ɵunv(_v, 3, 0, i1.ɵnov(_v, 4).transform(_co.restaurantType$)); _ck(_v, 3, 0, currVal_3); var currVal_4 = _co.swiperConfig; _ck(_v, 5, 0, currVal_4); var currVal_5 = _co.alertes; _ck(_v, 7, 0, currVal_5); var currVal_6 = _co.enquetes; _ck(_v, 9, 0, currVal_6); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.hasMultipleNotifications; _ck(_v, 1, 0, currVal_0); }); }\nexport function View_PopupNotificationsComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-popup-notifications\", [], null, null, null, View_PopupNotificationsComponent_0, RenderType_PopupNotificationsComponent)), i1.ɵdid(1, 245760, null, 0, i13.PopupNotificationsComponent, [i5.ApplicationDataService, i14.ToastrService, i1.ElementRef], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar PopupNotificationsComponentNgFactory = i1.ɵccf(\"app-popup-notifications\", i13.PopupNotificationsComponent, View_PopupNotificationsComponent_Host_0, {}, {}, []);\nexport { PopupNotificationsComponentNgFactory as PopupNotificationsComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"app-popup-notifications .swiper-pagination{text-align:left}app-popup-notifications .swiper-pagination.swiper-pagination-bullets{top:-5px;text-align:right}\"];\nexport { styles as styles };\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { Component, Input, Output, AfterViewInit, AfterViewChecked, EventEmitter, ElementRef, ViewEncapsulation, ViewChild } from '@angular/core';\r\nimport { SwiperConfigInterface, SwiperComponent, SwiperDirective } from 'ngx-swiper-wrapper';\r\n\r\n// var Swiper = require('swiper');\r\n\r\n@Component({\r\n selector: 'app-item-selector',\r\n templateUrl: './item-selector.component.html',\r\n styleUrls: ['./item-selector.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ItemSelectorComponent implements AfterViewInit, AfterViewChecked {\r\n requireUpdate: boolean;\r\n hasTransmisProp: boolean;\r\n _selectedItem: any;\r\n\r\n @Input()\r\n set selectedItem(val: any) {\r\n this._selectedItem = val;\r\n // first time mySwiper is not initialized, it will be done in the ngAfterViewInit\r\n if (this.mySwiper && val) {\r\n this.refreshCurrent();\r\n }\r\n }\r\n get selectedItem(): any {\r\n return this._selectedItem;\r\n }\r\n @Output()\r\n selectedItemChange: EventEmitter = new EventEmitter();\r\n\r\n _items: any[];\r\n @Input()\r\n set items(val: any[]) {\r\n this._items = val;\r\n this.requireUpdate = true;\r\n this.hasTransmisProp = val ? val.some(item => item.hasOwnProperty('transmis')) : false;\r\n }\r\n get items(): any[] {\r\n return this._items;\r\n }\r\n\r\n @Input()\r\n propName: string;\r\n @Input()\r\n propComparer: string;\r\n\r\n @ViewChild(SwiperComponent, { static: true }) public componentRef: SwiperComponent;\r\n public swiperConfig: SwiperConfigInterface = {\r\n slidesPerView: 1,\r\n spaceBetween: 30,\r\n navigation: true\r\n };\r\n\r\n // private mySwiper: any;\r\n public get mySwiper(): SwiperDirective {\r\n return this.componentRef.directiveRef;\r\n }\r\n\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n const element = this.el.nativeElement as Element;\r\n const id = element.id;\r\n if (!id) {\r\n // TODO: handle this\r\n }\r\n\r\n const setIndex = idx => this.changeIndex(idx);\r\n\r\n // this.mySwiper = new Swiper(`#${id} .item-selector .swiper-container`, {\r\n // slidesPerView: 1,\r\n // spaceBetween: 30,\r\n // nextButton: '.swiper-button-next',\r\n // prevButton: '.swiper-button-prev',\r\n // onSlideChangeEnd: function (swiper) { setIndex(swiper.activeIndex); },\r\n // });\r\n\r\n this.refreshCurrent();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (this.requireUpdate) {\r\n this.mySwiper.update();\r\n this.requireUpdate = false;\r\n }\r\n }\r\n\r\n refreshCurrent() {\r\n if (!this.items) {\r\n return;\r\n }\r\n\r\n let currIndex;\r\n if (this.propComparer) {\r\n currIndex = this.items.findIndex(item => item[this.propComparer] == this._selectedItem[this.propComparer]);\r\n } else {\r\n currIndex = this.items.indexOf(this._selectedItem);\r\n }\r\n\r\n this.mySwiper.setIndex(currIndex);\r\n }\r\n\r\n changeIndex(idx) {\r\n this._selectedItem = this.items[idx];\r\n this.selectedItemChange.emit(this._selectedItem);\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./item-selector.component.scss.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"../../../node_modules/ngx-swiper-wrapper/dist/ngx-swiper-wrapper.ngfactory\";\nimport * as i4 from \"ngx-swiper-wrapper\";\nimport * as i5 from \"../shared/directives/swiper-restaurant-theme.directive\";\nimport * as i6 from \"./item-selector.component\";\nvar styles_ItemSelectorComponent = [i0.styles];\nvar RenderType_ItemSelectorComponent = i1.ɵcrt({ encapsulation: 2, styles: styles_ItemSelectorComponent, data: {} });\nexport { RenderType_ItemSelectorComponent as RenderType_ItemSelectorComponent };\nfunction View_ItemSelectorComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"div\", [[\"class\", \"circle\"]], [[2, \"red-button\", null], [2, \"green-button\", null]], null, null, null, null))], null, function (_ck, _v) { var currVal_0 = !_v.parent.context.$implicit.transmis; var currVal_1 = _v.parent.context.$implicit.transmis; _ck(_v, 0, 0, currVal_0, currVal_1); }); }\nfunction View_ItemSelectorComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ItemSelectorComponent_2)), i1.ɵdid(2, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(4, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.hasTransmisProp; _ck(_v, 2, 0, currVal_0); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = _v.context.$implicit[_co.propName]; _ck(_v, 4, 0, currVal_1); }); }\nexport function View_ItemSelectorComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { componentRef: 0 }), (_l()(), i1.ɵeld(1, 0, null, null, 5, \"div\", [[\"class\", \"item-selector\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 4, \"swiper\", [], null, [[null, \"indexChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"indexChange\" === en)) {\n var pd_0 = (_co.changeIndex($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i3.View_SwiperComponent_0, i3.RenderType_SwiperComponent)), i1.ɵdid(3, 4374528, [[1, 4]], 0, i4.SwiperComponent, [i1.NgZone, i1.ChangeDetectorRef, i1.PLATFORM_ID, [2, i4.SWIPER_CONFIG]], { config: [0, \"config\"] }, { indexChange: \"indexChange\" }), i1.ɵdid(4, 4210688, null, 0, i5.SwiperRestaurantThemeDirective, [i1.ElementRef, i1.Renderer2, [2, i4.SWIPER_CONFIG]], { config: [0, \"config\"] }, null), (_l()(), i1.ɵand(16777216, null, 0, 1, null, View_ItemSelectorComponent_1)), i1.ɵdid(6, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.swiperConfig; _ck(_v, 3, 0, currVal_0); var currVal_1 = _co.swiperConfig; _ck(_v, 4, 0, currVal_1); var currVal_2 = _co.items; _ck(_v, 6, 0, currVal_2); }, null); }\nexport function View_ItemSelectorComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-item-selector\", [], null, null, null, View_ItemSelectorComponent_0, RenderType_ItemSelectorComponent)), i1.ɵdid(1, 12632064, null, 0, i6.ItemSelectorComponent, [i1.ElementRef], null, null)], null, null); }\nvar ItemSelectorComponentNgFactory = i1.ɵccf(\"app-item-selector\", i6.ItemSelectorComponent, View_ItemSelectorComponent_Host_0, { selectedItem: \"selectedItem\", items: \"items\", propName: \"propName\", propComparer: \"propComparer\" }, { selectedItemChange: \"selectedItemChange\" }, []);\nexport { ItemSelectorComponentNgFactory as ItemSelectorComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"app-item-selector{display:block}app-item-selector .item-selector .swiper-slide{position:relative;height:45px;text-align:center;line-height:48px;font-weight:600;color:#000;-ms-flex-pack:center;justify-content:center;-ms-flex-direction:row;flex-direction:row}app-item-selector .item-selector .swiper-button-prev{background:url(/assets/images/previous-arrow.png) center no-repeat}app-item-selector .item-selector .swiper-button-next{background:url(/assets/images/previous-arrow.png) center no-repeat;-ms-transform:scaleX(-1);transform:scaleX(-1)}\"];\nexport { styles as styles };\n","
\r\n \r\n
\r\n
\r\n {{item[propName]}}\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter, ElementRef, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-dropdown',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.scss'],\r\n host: {\r\n '(document:click)': 'onDocumentClick($event)',\r\n },\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DropdownComponent implements OnInit {\r\n isOpen: boolean;\r\n _items: any[];\r\n get items(): any[] {\r\n return this._items;\r\n }\r\n\r\n @Input()\r\n set items(value: any[]) {\r\n if (this.items != null && this.items.length > 0 && this.selectedItem == null) {\r\n this.selectedItem = this.items[0];\r\n }\r\n this._items = value;\r\n }\r\n @Input()\r\n selectedItem: any;\r\n\r\n @Input()\r\n /** La fonction de style */\r\n fnStyle: (item: any) => string = null;\r\n\r\n @Output()\r\n selectedItemChange: EventEmitter = new EventEmitter();\r\n\r\n constructor(private el: ElementRef) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onDocumentClick(event: any) {\r\n if (!this.el.nativeElement.contains(event.target)) {\r\n this.isOpen = false;\r\n }\r\n }\r\n\r\n onItemClick(item: any) {\r\n if (item != this.selectedItem) {\r\n this.selectedItem = item;\r\n this.selectedItemChange.emit(this.selectedItem);\r\n }\r\n\r\n this.isOpen = false;\r\n }\r\n\r\n toggle() {\r\n this.isOpen = !this.isOpen;\r\n }\r\n\r\n refreshCurrent(selectedItem: any) {\r\n this.selectedItem = selectedItem;\r\n }\r\n\r\n applyStyle(item: any): string {\r\n if (item == null) {\r\n return \"\";\r\n }\r\n\r\n // On utilise la fonction de style si définie, sinon on drop le json\r\n if (this.fnStyle != null) {\r\n return this.fnStyle(item);\r\n }\r\n else {\r\n return JSON.stringify(item);\r\n }\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./dropdown.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./dropdown.component\";\nvar styles_DropdownComponent = [i0.styles];\nvar RenderType_DropdownComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_DropdownComponent, data: {} });\nexport { RenderType_DropdownComponent as RenderType_DropdownComponent };\nfunction View_DropdownComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"div\", [], [[2, \"selected\", null], [8, \"innerHTML\", 1]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onItemClick(_v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_v.context.$implicit == _co.selectedItem); var currVal_1 = _co.applyStyle(_v.context.$implicit); _ck(_v, 0, 0, currVal_0, currVal_1); }); }\nexport function View_DropdownComponent_0(_l) { return i1.ɵvid(2, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"dropdown\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"button\", [[\"class\", \"dropbtn\"]], [[8, \"innerHTML\", 1]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.toggle() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 2, \"div\", [[\"class\", \"dropdown-content\"]], [[2, \"is-open\", null]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DropdownComponent_1)), i1.ɵdid(4, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.items; _ck(_v, 4, 0, currVal_2); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.applyStyle(_co.selectedItem); _ck(_v, 1, 0, currVal_0); var currVal_1 = _co.isOpen; _ck(_v, 2, 0, currVal_1); }); }\nexport function View_DropdownComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-dropdown\", [], null, [[\"document\", \"click\"]], function (_v, en, $event) { var ad = true; if ((\"document:click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).onDocumentClick($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, View_DropdownComponent_0, RenderType_DropdownComponent)), i1.ɵdid(1, 114688, null, 0, i3.DropdownComponent, [i1.ElementRef], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar DropdownComponentNgFactory = i1.ɵccf(\"app-dropdown\", i3.DropdownComponent, View_DropdownComponent_Host_0, { items: \"items\", selectedItem: \"selectedItem\", fnStyle: \"fnStyle\" }, { selectedItemChange: \"selectedItemChange\" }, []);\nexport { DropdownComponentNgFactory as DropdownComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .dropbtn[_ngcontent-%COMP%]{min-width:300px;min-height:33px;color:#000;padding:6px;font-weight:600;font-size:15px;background:url(/assets/images/dropdown-arrow.png) right 7px center no-repeat;border:1px solid #c1c1c1;cursor:pointer;text-align:left;background-size:10px auto}[_nghost-%COMP%] .dropdown[_ngcontent-%COMP%]{position:relative;display:inline-block;min-width:300px}[_nghost-%COMP%] .dropdown-content[_ngcontent-%COMP%]{min-width:300px;max-height:300px;overflow-y:auto;font-size:15px;z-index:1000;opacity:0;height:0;transition:opacity .3s;position:absolute;background-color:#f9f9f9;box-shadow:0 8px 16px 0 rgba(0,0,0,.2)}[_nghost-%COMP%] .dropdown-content.is-open[_ngcontent-%COMP%]{height:auto;opacity:1}[_nghost-%COMP%] .dropdown-content[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{color:#000;padding:6px;text-decoration:none;display:block}[_nghost-%COMP%] .dropdown-content[_ngcontent-%COMP%] div.selected[_ngcontent-%COMP%]{background-color:#b7d5f3}[_nghost-%COMP%] .dropdown-content[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:hover{cursor:pointer}[_nghost-%COMP%] .dropdown-content[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:hover:not(.selected){background-color:#d4d4d4}[_nghost-%COMP%] .dropdown-content[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:hover.selected{background-color:#89abce}\"];\nexport { styles as styles };\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Directive, Input, ElementRef } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[selectAllOnFocus]',\r\n host: {\r\n '(focus)': 'onFocus($event)'\r\n }\r\n})\r\nexport class SelectAllOnFocusDirective {\r\n private formControl: FormControl;\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n onFocus(event:Event) {\r\n this.el.nativeElement.select(0, this.el.nativeElement.value.length);\r\n }\r\n}","import { Directive, Input, ElementRef } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[inputNumberRange]',\r\n host: {\r\n '(keyup)': 'onKeyUp($event)'\r\n }\r\n})\r\nexport class InputNumberRangeDirective {\r\n range: NumberRange;\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n onKeyUp(event: Event) {\r\n let fc = this.range.fc;\r\n if (fc) {\r\n if (fc.value < this.range.min) {\r\n fc.setValue(this.range.min);\r\n }\r\n else if (fc.value > this.range.max) {\r\n fc.setValue(this.range.max);\r\n }\r\n }\r\n else {\r\n let val = this.el.nativeElement.value;\r\n if (val < this.range.min) {\r\n this.el.nativeElement.value = this.range.min;\r\n }\r\n else if (val > this.range.max) {\r\n this.el.nativeElement.value = this.range.max;\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n set inputNumberRange(range: NumberRange) {\r\n if (!range.min) {\r\n range.min = 0;\r\n }\r\n\r\n if (!range.max) {\r\n throw 'Range.max is required for input-number-range directive';\r\n }\r\n\r\n this.range = range;\r\n }\r\n\r\n}\r\n\r\ninterface NumberRange {\r\n min: number;\r\n max: number;\r\n fc?: FormControl;\r\n}","import { Directive, Input, ElementRef } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[linkFormControl]'\r\n})\r\nexport class LinkFormControlDirective {\r\n\r\n public nativeElement: any;\r\n public formControl: FormControl;\r\n constructor(private el: ElementRef) {\r\n this.nativeElement = el.nativeElement;\r\n }\r\n\r\n @Input()\r\n set linkFormControl(fc: FormControl) {\r\n this.formControl = fc;\r\n }\r\n}","import { DateHelper } from '../helpers/date.helper';\r\n\r\nexport class BaseJourModel {\r\n index: number;\r\n date: Date;\r\n day: string;\r\n month: string;\r\n monthShort :string;\r\n dayString: string;\r\n dayShortString: string;\r\n isEmpty: boolean;\r\n isHorsRythme: boolean;\r\n dayOfWeek: number;\r\n hidden: boolean = false;\r\n\r\n setIfEmpty() {\r\n this.isEmpty = false;\r\n }\r\n\r\n constructor(date: Date) {\r\n this.date = new Date(date);\r\n this.dayOfWeek = this.date.getDay();\r\n this.month = DateHelper.getMonthName(this.date);\r\n this.monthShort = DateHelper.getMonthNameShort(this.date);\r\n this.dayString = DateHelper.getDayName(this.date);\r\n this.dayShortString = DateHelper.getDayNameShort(this.date);\r\n this.day = ('0' + this.date.getDate()).slice(-2);\r\n }\r\n}\r\n","import { BaseJourModel } from '../../shared/models/base-jour.model';\r\nimport { GetCommandeRepasApiResponse } from './api/responses/get-commande-repas.apiresponse';\r\n\r\nexport class PeriodeModel {\r\n dateReference: Date;\r\n type: PeriodeContratTypeEnum;\r\n startDate: Date;\r\n endDate: Date;\r\n ratioModification: number;\r\n}\r\n\r\nexport class PortionModel {\r\n effectifPortionId: number;\r\n platId: number;\r\n plat: string;\r\n quantitePrecommande?: number;\r\n quantite: number;\r\n modeSaisie: ModeSaisiePortionEnum;\r\n dateModification: string;\r\n dateExport: string;\r\n dateImport: string;\r\n exportRequis: boolean;\r\n\r\n portionTooltipInfo: string;\r\n\r\n historique: GetCommandeRepasApiResponse.HistoriquePortion[];\r\n\r\n}\r\n\r\nexport class FamillePlatModel {\r\n famillePlatId: number;\r\n famillePlatOrdre: number;\r\n famillePlat: string;\r\n nombreLimitePlats: number;\r\n portions: PortionModel[];\r\n isComposanteRestreinte: boolean;\r\n autoriserEffectifZero: boolean;\r\n}\r\n\r\nexport class PrestationModel {\r\n modeSaisie: ModeSaisieEnum;\r\n autoriserSaisieTauxPrise: boolean;\r\n prestationOrdre: number;\r\n effectifId: number;\r\n prestationId: number;\r\n prestation: string;\r\n regimeId?: any;\r\n regimeLibelle?: any;\r\n nombreLimiteFamillePlats?: number;\r\n quantitePrecommande: number;\r\n quantiteJour: number;\r\n quantiteJourMin: number;\r\n quantiteJourMax?: number;\r\n autoriserSaisie: boolean;\r\n valide: boolean;\r\n famillePlats: FamillePlatModel[];\r\n isCollapsed: boolean;\r\n regimeData: RegimeDataModel;\r\n prestationTooltipInfo: string;\r\n\r\n dateModification: string;\r\n dateExport: string;\r\n dateImport: string;\r\n exportRequis: boolean;\r\n\r\n historique: GetCommandeRepasApiResponse.HistoriquePrestation[];\r\n}\r\n\r\nexport class JourModel extends BaseJourModel {\r\n periode: PeriodeModel;\r\n quantitePiqueNique: number;\r\n prestations: PrestationModel[];\r\n hasError: boolean;\r\n periodeTooltipInfo: string = '';\r\n\r\n setIfEmpty(): void {\r\n this.isEmpty = this.prestations.length === 0;\r\n }\r\n}\r\n\r\nexport class RegimeDataModel {\r\n regimeId: number;\r\n regimeLibelle: string;\r\n quantiteJour: number;\r\n quantiteJourMin: number;\r\n quantiteJourMax: number;\r\n quantitePrecommande: number;\r\n effectifId: number;\r\n\r\n dateModification: string;\r\n dateExport: string;\r\n dateImport: string;\r\n exportRequis: boolean;\r\n}\r\n\r\nexport class ConviveModel {\r\n id: number;\r\n libelle: string;\r\n abrege: string;\r\n ordre: number;\r\n transmis: boolean;\r\n}\r\n\r\nexport class LieuCommandeModel {\r\n transmis: boolean;\r\n id: number;\r\n libelle: string;\r\n restaurantId: number;\r\n}\r\n\r\nexport class SemaineInfosModel {\r\n libelle: string;\r\n dateDebut: Date;\r\n dateFin: Date;\r\n transmis: boolean;\r\n}\r\n\r\nexport class CommandeRepasModel {\r\n transmis: boolean;\r\n semaines: SemaineInfosModel[];\r\n autoriserDepassementEffectif: boolean;\r\n autoriserInsuffisanceEffectif: boolean;\r\n jourFinSemaine: string;\r\n jours: JourModel[];\r\n convives: ConviveModel[];\r\n lieuCommandes: LieuCommandeModel[];\r\n modifiePar: string;\r\n dateModification: string;\r\n exportRequis: boolean;\r\n\r\n}\r\n\r\n/** enums */\r\nexport enum ModeSaisieEnum {\r\n Standard,\r\n Portion\r\n}\r\n\r\nexport enum ModeSaisiePortionEnum {\r\n LectureSeule,\r\n Quantite,\r\n TauxPrise,\r\n}\r\n\r\nexport enum PeriodeContratTypeEnum {\r\n Precommande,\r\n Commande,\r\n Reajustement,\r\n Reel,\r\n HorsPeriode\r\n}\r\n","import { BaseJourModel } from '../../shared/models/base-jour.model';\nexport class PeriodeModel {\n}\nexport class PortionModel {\n}\nexport class FamillePlatModel {\n}\nexport class PrestationModel {\n}\nexport class JourModel extends BaseJourModel {\n constructor() {\n super(...arguments);\n this.periodeTooltipInfo = '';\n }\n setIfEmpty() {\n this.isEmpty = this.prestations.length === 0;\n }\n}\nexport class RegimeDataModel {\n}\nexport class ConviveModel {\n}\nexport class LieuCommandeModel {\n}\nexport class SemaineInfosModel {\n}\nexport class CommandeRepasModel {\n}\n/** enums */\nexport var ModeSaisieEnum;\n(function (ModeSaisieEnum) {\n ModeSaisieEnum[ModeSaisieEnum[\"Standard\"] = 0] = \"Standard\";\n ModeSaisieEnum[ModeSaisieEnum[\"Portion\"] = 1] = \"Portion\";\n})(ModeSaisieEnum || (ModeSaisieEnum = {}));\nexport var ModeSaisiePortionEnum;\n(function (ModeSaisiePortionEnum) {\n ModeSaisiePortionEnum[ModeSaisiePortionEnum[\"LectureSeule\"] = 0] = \"LectureSeule\";\n ModeSaisiePortionEnum[ModeSaisiePortionEnum[\"Quantite\"] = 1] = \"Quantite\";\n ModeSaisiePortionEnum[ModeSaisiePortionEnum[\"TauxPrise\"] = 2] = \"TauxPrise\";\n})(ModeSaisiePortionEnum || (ModeSaisiePortionEnum = {}));\nexport var PeriodeContratTypeEnum;\n(function (PeriodeContratTypeEnum) {\n PeriodeContratTypeEnum[PeriodeContratTypeEnum[\"Precommande\"] = 0] = \"Precommande\";\n PeriodeContratTypeEnum[PeriodeContratTypeEnum[\"Commande\"] = 1] = \"Commande\";\n PeriodeContratTypeEnum[PeriodeContratTypeEnum[\"Reajustement\"] = 2] = \"Reajustement\";\n PeriodeContratTypeEnum[PeriodeContratTypeEnum[\"Reel\"] = 3] = \"Reel\";\n PeriodeContratTypeEnum[PeriodeContratTypeEnum[\"HorsPeriode\"] = 4] = \"HorsPeriode\";\n})(PeriodeContratTypeEnum || (PeriodeContratTypeEnum = {}));\n","export class MathHelper {\r\n\r\n /** Round to lower when .5 */\r\n static roundToLowerWhenMiddle(value: number): number {\r\n if (value == 0) {\r\n return 0;\r\n }\r\n else if (value < 0) {\r\n return Math.round(value);\r\n }\r\n else {\r\n return -Math.round(-value);\r\n }\r\n }\r\n}","import { ValidatorFn, AbstractControl } from '@angular/forms';\r\nimport { ValidationResult } from '../models/validators/validation-result';\r\n\r\nexport class NumberValidator {\r\n static range(inclusiveMin: number, inclusiveMax?: number): ValidatorFn {\r\n if (isNaN(inclusiveMin) || (inclusiveMax && isNaN(inclusiveMax))) {\r\n throw Error(`Boundaries of NumberValidator.range are invalid {min:${inclusiveMin},max:${inclusiveMax}}`);\r\n }\r\n\r\n return (control: AbstractControl): ValidationResult => {\r\n let val = control.value;\r\n if (!isNaN(val) && (val >= inclusiveMin && (!inclusiveMax || val <= inclusiveMax))) {\r\n return null;\r\n }\r\n else {\r\n let error: string;\r\n if (inclusiveMax) {\r\n if (inclusiveMax != inclusiveMin) {\r\n error = `La valeur doit être comprise entre ${inclusiveMin} et ${inclusiveMax}`;\r\n }\r\n else {\r\n error = `La valeur doit être égale à ${inclusiveMin}`;\r\n }\r\n }\r\n else {\r\n error = `La valeur doit être supérieure à ${inclusiveMin}`\r\n }\r\n return {\r\n range: {\r\n isValid: true,\r\n error: error\r\n }\r\n }\r\n }\r\n };\r\n }\r\n}","import { ValidatorFn, AbstractControl } from '@angular/forms';\r\nimport { ValidationResult } from '../models/validators/validation-result';\r\nimport { NumberValidator } from './number.validator';\r\n\r\nexport class PrestationValidator {\r\n static rule6(func: () => number): ValidatorFn {\r\n if (!func) {\r\n throw Error('The function given to PrestationValidator.rule6 is undefined');\r\n }\r\n return (control: AbstractControl): ValidationResult => {\r\n let val = control.value;\r\n if (func() != val) {\r\n return {\r\n rule6: {\r\n isValid: false, //TODO revoir la validation, que ce soit IsValid\r\n error: \"Le nombre de portions de la famille de plat est différent du nombre de convives.\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n\r\n static rule5(func: () => number): ValidatorFn {\r\n if (!func) {\r\n throw Error('The function given to PrestationValidator.rule5 is undefined');\r\n }\r\n return (control: AbstractControl): ValidationResult => {\r\n let val = control.value;\r\n if (func() > 0) {\r\n //s'il y a de l'effectif on lance la validation min=1\r\n return NumberValidator.range(1)(control);\r\n }\r\n };\r\n }\r\n\r\n static serverRule(errorMsg?: string): ValidatorFn {\r\n return (control: AbstractControl): ValidationResult => {\r\n return {\r\n serverRule: {\r\n isValid: true,\r\n error: errorMsg\r\n }\r\n }\r\n };\r\n }\r\n\r\n}","\r\nimport { AbstractControl, FormControl, ValidatorFn } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { first } from 'rxjs/operators';\r\nimport { PrestationValidator } from '../validators/prestation.validator';\r\n\r\nexport class FormControlHelper {\r\n\r\n static famillePlatValidators: { [prestaFamillePlat: string]: FamillePlatValidators } = {};\r\n\r\n static addValue(fc: FormControl, val: number, max: number = null): void {\r\n let value = fc.value + val;\r\n if (max == null) {\r\n fc.setValue(value);\r\n }\r\n else {\r\n fc.setValue(Math.min(value, max));\r\n }\r\n }\r\n\r\n /** Substract the maximum possible then returns the rest */\r\n static substractValue(fc: FormControl, toSubstract: number): number {\r\n let currVal = fc.value;\r\n var newVal = currVal - toSubstract;\r\n if (newVal >= 0) {\r\n toSubstract = 0;\r\n }\r\n else {\r\n toSubstract = -newVal;\r\n newVal = 0;\r\n }\r\n\r\n fc.setValue(newVal);\r\n return toSubstract;\r\n }\r\n\r\n static addValidator(fc: AbstractControl, validators: ValidatorFn[]) {\r\n let oldValidators = fc.validator;\r\n if (oldValidators) {\r\n validators.push(oldValidators);\r\n }\r\n\r\n fc.setValidators(validators);\r\n }\r\n\r\n static addServerValidator(fc: FormControl) {\r\n fc.updateValueAndValidity(); // force value change to trigger potential serverRule validator removal (see next lines)\r\n const originalValidators = fc.validator; // save original validators\r\n fc.setValidators([originalValidators, PrestationValidator.serverRule()]); // add \"dummy\" serverRule error\r\n fc.updateValueAndValidity(); // will cause invalid state\r\n\r\n const subscription = fc.valueChanges.pipe(first()).subscribe(res => {\r\n // subscription.unsubscribe(); // useless (use of Observable.first)\r\n fc.setValidators(originalValidators); // restore original validators\r\n fc.updateValueAndValidity(); // re-evaluate state\r\n });\r\n }\r\n\r\n static addFamillePlatServerValidator(key: string, controls: FormControl[], famillePlatControl: FormControl = null) {\r\n let famillePlatData = new FamillePlatValidators();\r\n\r\n famillePlatData.setFamillePlat(famillePlatControl);\r\n\r\n // first loop to get the validators without the server validators\r\n famillePlatData.oldValidators = controls.map(c => {\r\n return {\r\n fc: c,\r\n validator: c.validator\r\n };\r\n });\r\n\r\n\r\n // second loop to add server validator AND the old validators for each control\r\n famillePlatData.oldValidators.forEach(item => {\r\n item.fc.setValidators([item.validator, PrestationValidator.serverRule()]);\r\n item.fc.updateValueAndValidity();\r\n // on value change we unsubscribe everything and remove server validators\r\n famillePlatData.subs.push(item.fc.valueChanges.pipe(first()).subscribe(fc => {\r\n famillePlatData.oldValidators.map(itemToClean => {\r\n\r\n famillePlatData.unsubscribeAll();\r\n\r\n itemToClean.fc.setValidators(itemToClean.validator);\r\n itemToClean.fc.updateValueAndValidity();\r\n\r\n famillePlatData.cleanFamillePlat();\r\n });\r\n }));\r\n });\r\n\r\n this.famillePlatValidators[key] = famillePlatData;\r\n }\r\n\r\n /** Used when another validation is made without modification */\r\n static cleanAllServerValidators() {\r\n for (let key in this.famillePlatValidators) {\r\n this.famillePlatValidators[key].destroy();\r\n }\r\n\r\n this.famillePlatValidators = {};\r\n }\r\n}\r\n\r\nexport class FormControlData {\r\n fc: FormControl;\r\n validator: ValidatorFn;\r\n}\r\n\r\nexport class FamillePlatValidators {\r\n oldValidators: FormControlData[];\r\n subs: Subscription[];\r\n famillePlatValidator: FormControlData;\r\n\r\n constructor() {\r\n this.subs = [];\r\n this.oldValidators = [];\r\n }\r\n\r\n public setFamillePlat(fpControl: FormControl) {\r\n if (fpControl) {\r\n let famillePlatOldValidator = fpControl.validator;\r\n fpControl.setValidators([famillePlatOldValidator, PrestationValidator.serverRule()]);\r\n\r\n this.famillePlatValidator = { fc: fpControl, validator: famillePlatOldValidator }\r\n }\r\n }\r\n\r\n public cleanFamillePlat() {\r\n if (this.famillePlatValidator) {\r\n this.famillePlatValidator.fc.setValidators(this.famillePlatValidator.validator);\r\n this.famillePlatValidator.fc.updateValueAndValidity();\r\n }\r\n }\r\n\r\n public destroy() {\r\n this.cleanFamillePlat();\r\n this.unsubscribeAll();\r\n this.cleanAllValidators();\r\n }\r\n\r\n public unsubscribeAll() {\r\n this.subs.forEach(s => {\r\n s.unsubscribe();\r\n });\r\n }\r\n\r\n private cleanAllValidators() {\r\n this.oldValidators.forEach(itemToClean => {\r\n itemToClean.fc.setValidators(itemToClean.validator);\r\n itemToClean.fc.updateValueAndValidity();\r\n });\r\n }\r\n}\r\n","import { LinkFormControlDirective } from '../../shared/directives/link-form-control.directive';\r\nimport { CommandeRepasService } from '../services/commande-repas.service';\r\nimport {\r\n FamillePlatModel,\r\n JourModel,\r\n ModeSaisieEnum,\r\n ModeSaisiePortionEnum,\r\n PeriodeContratTypeEnum,\r\n PortionModel,\r\n PrestationModel\r\n} from '../models/commande-repas.model';\r\nimport { PrestationFormModel } from '../models/prestation-form.model';\r\nimport { MathHelper } from '../../shared/helpers/math.helper';\r\nimport { DateHelper } from '../../shared/helpers/date.helper';\r\n\r\nimport { Component, Input, Output, OnInit, EventEmitter, ViewChildren, QueryList, ViewChild, ElementRef } from '@angular/core';\r\nimport { FormControl, FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\r\n\r\nimport { PrestationValidator } from '../../shared/validators/prestation.validator';\r\nimport { NumberValidator } from '../../shared/validators/number.validator';\r\n\r\nimport { FormControlHelper } from '../../shared/helpers/form-control.helper';\r\n\r\nimport { ValidationResult } from '../../shared/models/validators/validation-result';\r\nimport { RestaurantTypeEnum } from '../../shared/enums/restaurant-type.enum';\r\n\r\nconst DEBOUNCE_INPUT_MS = 1000;\r\n/** TODO : We should build the simple immediately here*/\r\n@Component({\r\n selector: 'app-prestation',\r\n templateUrl: './prestation.component.html',\r\n styleUrls: ['./prestation.component.scss']\r\n})\r\nexport class PrestationComponent implements OnInit {\r\n @ViewChild('prestaInput', { static: true }) prestaInputRef: ElementRef;\r\n @ViewChild('prestaRegimeInputRef', { static: false }) prestaRegimeInputRef: ElementRef;\r\n @ViewChildren(LinkFormControlDirective) linkFormControls: QueryList;\r\n\r\n /** Inputs / Output */\r\n @Input()\r\n currentType: RestaurantTypeEnum;\r\n @Input()\r\n prestation: PrestationModel;\r\n @Input()\r\n jour: JourModel;\r\n @Input()\r\n isCurrent: boolean;\r\n\r\n @Output()\r\n prestaToggle: EventEmitter<{ id: number, shouldCollapse: boolean }> = new EventEmitter<{ id: number, shouldCollapse: boolean }>();\r\n\r\n @Output()\r\n onIsDirtyChange: EventEmitter = new EventEmitter();\r\n\r\n /** Fields */\r\n inputMaxValue: number = 9999;\r\n isModeStandard: boolean;\r\n hasRegime: boolean;\r\n /** Form */\r\n\r\n private prestaForm: FormGroup;\r\n public simplePrestaFormGroup: PrestaFormGroup;\r\n\r\n /** getter setter */\r\n\r\n public get isDirty(): boolean {\r\n return this.prestaForm.dirty;\r\n }\r\n\r\n private get effectifValue(): number {\r\n return this.simplePrestaFormGroup.effectifQuantiteControl.value;\r\n }\r\n\r\n private set effectifValue(val: number) {\r\n this.simplePrestaFormGroup.effectifQuantiteControl.setValue(val);\r\n }\r\n\r\n public get effectifSansPorcQuantiteControlError(): string {\r\n const err = this.simplePrestaFormGroup.effectifSansPorcQuantiteControl.errors as ValidationResult;\r\n return err\r\n ? err['range'].error\r\n : '';\r\n }\r\n\r\n public get effectifQuantiteControlError(): string {\r\n const err = this.simplePrestaFormGroup.effectifQuantiteControl.errors as ValidationResult;\r\n return err\r\n ? err['range'].error\r\n : '';\r\n }\r\n\r\n /** Init */\r\n\r\n constructor(private builder: FormBuilder,\r\n private commandeRepasService: CommandeRepasService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.isModeStandard = this.prestation.modeSaisie == ModeSaisieEnum.Standard;\r\n this.hasRegime = this.isModeStandard && this.prestation.regimeData !== undefined;\r\n\r\n // 1. On build les forms reactives\r\n this.buildForm();\r\n\r\n // 2. On créé un modèle plus facile à parcourir\r\n this.simplePrestaFormGroup = this.buildSimplePrestaFormModel();\r\n\r\n // 3. On met en place la validation\r\n this.applyValidation();\r\n }\r\n\r\n public tryFocusControl(fc: FormControl, hasChangedView: boolean, isRegime?: boolean) {\r\n if (this.linkFormControls) {\r\n const directive = this.linkFormControls.find(lfc => {\r\n return lfc.formControl == fc;\r\n });\r\n\r\n if (directive) {\r\n if (directive.nativeElement.disabled || this.isModeStandard) {\r\n if (this.hasRegime) {\r\n this.focusElement(this.prestaRegimeInputRef, hasChangedView);\r\n } else {\r\n this.focusElement(this.prestaInputRef, hasChangedView);\r\n }\r\n } else {\r\n this.focusElement(directive, hasChangedView);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private focusElement(el: ElementRef, hasChangedView: boolean) {\r\n const action = () => {\r\n if (this.prestation.isCollapsed) {\r\n this.toggle();\r\n }\r\n\r\n el.nativeElement.focus();\r\n };\r\n\r\n if (hasChangedView) {\r\n setTimeout(() => {\r\n action();\r\n }, 500);\r\n } else {\r\n action();\r\n }\r\n }\r\n\r\n /** Logic */\r\n toggle() {\r\n this.prestaToggle.emit({\r\n id: this.prestation.prestationId,\r\n shouldCollapse: !this.prestation.isCollapsed\r\n });\r\n }\r\n\r\n handlePortionPercentageFocusOut(editedPortion: PortionFormGroup) {\r\n if (editedPortion.effectifPortionPourcentageControl.value == null) {\r\n editedPortion.effectifPortionPourcentageControl.setValue(0);\r\n }\r\n\r\n // round %, don't allow decimals\r\n editedPortion.effectifPortionPourcentageControl.setValue(Math.round(editedPortion.effectifPortionPourcentageControl.value));\r\n\r\n // new rounded %\r\n const newPercentage = editedPortion.effectifPortionPourcentageControl.value;\r\n this.calculateEffectifByPercentage(editedPortion);\r\n\r\n const famillePlatFormGroup = this.getFamillePlatFormGroup(editedPortion.famillePlatName);\r\n const portionsLength = famillePlatFormGroup.portionsControls.length;\r\n const diff = editedPortion.lastPourcentage - newPercentage;\r\n // Reventilation du différentiel sur les autres portions\r\n if (diff > 0) {\r\n // Ajout de portions sur la première \"autre\" portion > 0, à défaut la dernière\r\n let portionToAdd: PortionFormGroup = null;\r\n\r\n for (let i = 0; i < portionsLength; i++) {\r\n const portion = famillePlatFormGroup.portionsControls[i];\r\n\r\n if (portion.effectifPortionId != editedPortion.effectifPortionId) {\r\n if (!portionToAdd) {\r\n // on set par default la première différente au cas ou les critères ne match pas ensuite\r\n portionToAdd = portion;\r\n // Si la première valeur est différente de 0, on a déja trouvé la bonne\r\n if (portion.effectifPortionPourcentageControl.value != 0) {\r\n break;\r\n }\r\n } else if (portion.effectifPortionPourcentageControl.value != 0) {\r\n portionToAdd = portion;\r\n }\r\n }\r\n }\r\n\r\n FormControlHelper.addValue(portionToAdd.effectifPortionPourcentageControl, diff);\r\n // refresh lastPourcentage\r\n portionToAdd.lastPourcentage = portionToAdd.effectifPortionPourcentageControl.value;\r\n this.calculateEffectifByPercentage(portionToAdd);\r\n } else {\r\n // On soustrait le différentiel sur les autres portions, jusqu'à avoir un relicat de zéro\r\n let toSubstract = -diff;\r\n for (let i = portionsLength - 1; i >= 0; i--) {\r\n const portion = famillePlatFormGroup.portionsControls[i];\r\n\r\n if (portion.effectifPortionId != editedPortion.effectifPortionId) {\r\n if (portion.effectifPortionPourcentageControl.value != 0) {\r\n // Substract the maximum possible then returns the rest\r\n toSubstract = FormControlHelper.substractValue(portion.effectifPortionPourcentageControl, toSubstract);\r\n portion.lastPourcentage = portion.effectifPortionPourcentageControl.value;\r\n this.calculateEffectifByPercentage(portion);\r\n\r\n if (toSubstract == 0) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.adjustGap(famillePlatFormGroup);\r\n this.computeFamillePlatByName(famillePlatFormGroup.famillePlatName);\r\n\r\n editedPortion.lastPourcentage = newPercentage;\r\n }\r\n\r\n handlePrestaSansPorcFocusOut() {\r\n const effectifSansPorcCtrl = this.simplePrestaFormGroup.effectifSansPorcQuantiteControl;\r\n if (effectifSansPorcCtrl.value == null) {\r\n effectifSansPorcCtrl.setValue(this.simplePrestaFormGroup.effectifSansPorcQuantitePreco);\r\n }\r\n }\r\n\r\n handlePrestaFocusOut() {\r\n if (this.effectifValue == null) {\r\n this.effectifValue = this.prestation.quantitePrecommande;\r\n }\r\n\r\n if (this.isModeStandard) {\r\n return;\r\n }\r\n\r\n if (this.prestation.autoriserSaisieTauxPrise) {\r\n this.applyTauxPriseBrassage();\r\n } else {\r\n this.applyRule2And3OnAllFamillePlats();\r\n }\r\n }\r\n\r\n handlePortionFocusOut(portion: PortionFormGroup) {\r\n if (portion.effectifPortionQuantiteControl.value == null) {\r\n portion.effectifPortionQuantiteControl.setValue(portion.effectifPortionQuantitePreco);\r\n }\r\n\r\n if (this.isModeStandard) {\r\n return;\r\n }\r\n\r\n if (this.prestation.autoriserSaisieTauxPrise) {\r\n this.calculatePortionPercentage(portion);\r\n }\r\n\r\n // A ce niveau, on est sur la portion donc on update juste le total sa famille de plat\r\n // Si en taux de prise, va recalculer les %\r\n this.computeFamillePlatByName(portion.famillePlatName);\r\n\r\n // règle 11, on enregistre le dernier composant modifié\r\n this.commandeRepasService.lastFamillePlatByEffectifId[this.prestation.effectifId] = portion.famillePlatName;\r\n }\r\n\r\n computeFamillePlatByName(famillePlatName: string) {\r\n const famillePlatFormGroup = this.getFamillePlatFormGroup(famillePlatName);\r\n\r\n let total = 0;\r\n famillePlatFormGroup.portionsControls.forEach(portion => {\r\n total += portion.effectifPortionQuantiteControl.value as number;\r\n });\r\n\r\n famillePlatFormGroup.famillePlatQuantiteControl.setValue(total);\r\n }\r\n\r\n private computeFamillePlatControl(famillePlatControl: FamillePlatFormGroup) {\r\n let total = 0;\r\n famillePlatControl.portionsControls.forEach(pc => {\r\n total += pc.effectifPortionQuantiteControl.value as number;\r\n });\r\n\r\n famillePlatControl.famillePlatQuantiteControl.setValue(total);\r\n }\r\n\r\n /** Construction du ReactiveForm */\r\n\r\n private get isPrestaDisabled(): boolean {\r\n return this.jour.periode.type == PeriodeContratTypeEnum.HorsPeriode || this.jour.periode.ratioModification == 0;\r\n }\r\n\r\n private buildForm() {\r\n // On ajoute les effectif dans un dictionnaire pour gérer les erreurs sur la réponse du POST\r\n const quantiteJourControl = this.builder.control(this.prestation.quantiteJour);\r\n this.commandeRepasService.effectifControls[this.prestation.effectifId] = quantiteJourControl;\r\n\r\n this.prestaForm = this.builder.group(\r\n {\r\n effectifQuantiteControl: quantiteJourControl,\r\n famillePlatsControls: this.buildFamillePlats()\r\n });\r\n\r\n if (this.hasRegime) {\r\n const quantiteSansPorcJourControl = this.builder.control(this.prestation.regimeData.quantiteJour);\r\n this.prestaForm.addControl('effectifSansPorcQuantiteControl', quantiteSansPorcJourControl);\r\n this.commandeRepasService.effectifControls[this.prestation.regimeData.effectifId] = quantiteSansPorcJourControl;\r\n }\r\n }\r\n\r\n private buildFamillePlats(): FormArray {\r\n const famillePlatGroup = this.builder.array([]);\r\n const length = this.prestation.famillePlats.length;\r\n this.prestation.famillePlats.forEach((fp: FamillePlatModel, i: number) => {\r\n famillePlatGroup.push(this.buildFamillePlat(fp));\r\n });\r\n\r\n return famillePlatGroup;\r\n }\r\n\r\n private buildFamillePlat(fp: FamillePlatModel): FormGroup {\r\n let total = 0;\r\n fp.portions.map(p => total += p.quantite);\r\n\r\n const famillePlatQuantiteControl = this.builder.control(total);\r\n const portionArray = this.builder.array([]);\r\n const controlList = [];\r\n fp.portions.map(p => {\r\n const portion = this.buildPortion(p, fp, famillePlatQuantiteControl);\r\n controlList.push(portion.control);\r\n portionArray.push(portion.group);\r\n });\r\n\r\n this.commandeRepasService.addPortionToDictionary(controlList, famillePlatQuantiteControl, this.prestation.effectifId, fp.famillePlat);\r\n return this.builder.group({\r\n famillePlatName: fp.famillePlat,\r\n ordre: fp.famillePlatOrdre,\r\n autoriserEffectifZero: fp.autoriserEffectifZero,\r\n isComposanteRestreinte: fp.isComposanteRestreinte,\r\n quantiteInitialeFamille: total,\r\n famillePlatQuantiteControl,\r\n portionsControls: portionArray\r\n });\r\n }\r\n\r\n private buildPortion(p: PortionModel, fp: FamillePlatModel, famillePlatControl: FormControl): { group: FormGroup, control: FormControl } {\r\n const portionQuantiteControl = this.builder.control(p.quantite, [Validators.required]);\r\n this.commandeRepasService.effectifPortionControls[p.effectifPortionId] = portionQuantiteControl;\r\n\r\n return {\r\n group: this.builder.group({\r\n effectifPortionId: p.effectifPortionId,\r\n platName: p.plat,\r\n tooltip: p.portionTooltipInfo,\r\n modeSaisie: p.modeSaisie,\r\n // calculate in simpleform build\r\n effectifPortionPourcentageControl: 0,\r\n effectifPortionQuantiteControl: portionQuantiteControl,\r\n effectifPortionQuantitePreco: { value: p.quantitePrecommande, disabled: true }\r\n }),\r\n control: portionQuantiteControl\r\n };\r\n }\r\n\r\n /** Changes et Validations */\r\n\r\n applyValidation() {\r\n // REGLE 16\r\n let min = this.prestation.quantiteJourMin;\r\n let max = this.prestation.quantiteJourMax;\r\n if (min == null) {\r\n min = 0;\r\n }\r\n if (max == null) {\r\n max = this.inputMaxValue;\r\n }\r\n\r\n FormControlHelper.addValidator(this.simplePrestaFormGroup.effectifQuantiteControl, [NumberValidator.range(min, max)]);\r\n\r\n if (this.hasRegime) {\r\n let regimeMin = this.prestation.regimeData.quantiteJourMin;\r\n let regimeMax = this.prestation.regimeData.quantiteJourMax;\r\n if (regimeMin == null) {\r\n regimeMin = 0;\r\n }\r\n if (regimeMax == null) {\r\n regimeMax = this.inputMaxValue;\r\n }\r\n\r\n FormControlHelper.addValidator(this.simplePrestaFormGroup.effectifSansPorcQuantiteControl, [NumberValidator.range(regimeMin, regimeMax)]);\r\n }\r\n\r\n this.simplePrestaFormGroup.famillePlatsControls\r\n .map(fp => {\r\n // REGLE 5 ET 6\r\n this.addValidatorsRule5and6(fp.famillePlatQuantiteControl);\r\n });\r\n }\r\n\r\n addValidatorsRule5and6(fp: FormControl) {\r\n FormControlHelper.addValidator(fp, [PrestationValidator.rule5(() => this.effectifValue), PrestationValidator.rule6(() => this.effectifValue)]);\r\n }\r\n\r\n public applyRule1() {\r\n if (this.prestation.autoriserSaisieTauxPrise) {\r\n return;\r\n }\r\n\r\n this.effectifValue = this.prestation.quantiteJour;\r\n\r\n if (this.hasRegime) {\r\n this.simplePrestaFormGroup.effectifSansPorcQuantiteControl.setValue(this.prestation.regimeData.quantiteJour);\r\n // Si saisie standard avec régime, on update pas les portions\r\n return;\r\n }\r\n\r\n this.simplePrestaFormGroup.famillePlatsControls.forEach(fpg => {\r\n let firstFound = false;\r\n fpg.portionsControls.forEach(portion => {\r\n if (portion.isDisabled) {\r\n return;\r\n }\r\n\r\n if (!firstFound) {\r\n firstFound = true;\r\n portion.effectifPortionQuantiteControl.setValue(this.prestation.quantiteJour);\r\n } else {\r\n portion.effectifPortionQuantiteControl.setValue(0);\r\n }\r\n\r\n this.handlePortionFocusOut(portion);\r\n });\r\n\r\n this.computeFamillePlatControl(fpg);\r\n });\r\n }\r\n\r\n /**\r\n * Applique les règles 2 ou 3 à toutes les familles spécifiés en ajustant le gap entre le total de la famille et le total de la prestation\r\n *\r\n * @private\r\n * @param {...FamillePlatFormGroup[]} famillePlatsControls - les familles de plats à mettre à jour, si null/vide on prends toutes les familles de la prestation\r\n * @memberof PrestationComponent\r\n */\r\n private applyRule2And3OnAllFamillePlats(...famillePlatsControls: FamillePlatFormGroup[]) {\r\n // si l'argument famillePlatsControls est null/vide on prends toutes les familles de la prestation par défaut\r\n famillePlatsControls = (famillePlatsControls && famillePlatsControls.length > 0)\r\n ? famillePlatsControls\r\n : this.simplePrestaFormGroup.famillePlatsControls;\r\n\r\n famillePlatsControls.map(fpg => {\r\n // on recalcule le total dans le cas où l'on viendrait de modifier une portion\r\n this.computeFamillePlatControl(fpg);\r\n });\r\n\r\n famillePlatsControls.map(fpg => {\r\n // on applique la différence\r\n const difference = this.effectifValue - fpg.famillePlatQuantiteControl.value;\r\n if (difference > 0) {\r\n if (this.checkCanIncreaseQuantiteOnFamille(fpg)) {\r\n this.applyRule2(fpg, difference);\r\n }\r\n } else {\r\n this.applyRule3(fpg, -difference);\r\n }\r\n // on doit update la famille de plat car on vient de modifier l'effectif\r\n this.computeFamillePlatControl(fpg);\r\n });\r\n }\r\n\r\n // Applique un incrément d'effectifs sur la famille de plats\r\n private applyRule2(fpg: FamillePlatFormGroup, toAdd: number) {\r\n const length = fpg.portionsControls.length;\r\n let portionToAdd: PortionFormGroup = null;\r\n for (let i = 0; i < length; i++) {\r\n const portionControl = fpg.portionsControls[i];\r\n if (!portionControl.isDisabled) {\r\n // set the first not disabled if we have no portionToAdd yet (default value)\r\n if (portionControl.effectifPortionQuantiteControl.value != undefined && !portionToAdd) {\r\n portionToAdd = portionControl;\r\n if (portionToAdd.effectifPortionQuantiteControl.value != 0) {\r\n break;\r\n }\r\n } else if (portionControl.effectifPortionQuantiteControl.value != 0) {\r\n // found the good one\r\n portionToAdd = portionControl;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (portionToAdd) {\r\n FormControlHelper.addValue(portionToAdd.effectifPortionQuantiteControl, toAdd, this.inputMaxValue);\r\n if (this.prestation.autoriserSaisieTauxPrise) {\r\n this.calculatePortionPercentage(portionToAdd);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Vérifie si l'on peut augmenter l'effectif d'une famille:\r\n * On peut modifier une famille initialement à zéro si :\r\n * - on est en precommande OU sur une prestation dont la saisie à zéro a été autorisée (LimitationContratPrestation)\r\n * => calculé implicitement sur le serveur (champs QuantiteMin/Max de la prestation + ModeSaisie sur les portions)\r\n * - ET la famille n'est pas une composante restreinte OU que la limitation n'est pas déjà atteinte\r\n * - ET que la famille n'était pas initialement à zéro (cas 2bis #34319) OU que pour cette prestation une seule famille avec un seul choix (portion) soit possible\r\n */\r\n private checkCanIncreaseQuantiteOnFamille(fpg: FamillePlatFormGroup): boolean {\r\n let canUpdate = true;\r\n // - on est en precommande OU sur une prestation dont la saisie à zéro a été autorisée (LimitationContratPrestation)\r\n // => on vérifie juste que la prestation peut être modifiée, les vérification sous-jacentes sont faites côtés serveur\r\n canUpdate = this.prestation.quantiteJourMax == null\r\n || (this.prestation.quantiteJourMax > 0\r\n && this.prestation.quantiteJour < this.prestation.quantiteJourMax);\r\n // - ET la famille n'est pas une composante restreinte ou que la limitation n'est pas déjà atteinte\r\n canUpdate = canUpdate\r\n && this.checkFamilleLimitationComposanteIsValidToIncreaseQuantite(fpg);\r\n // - ET que la famille n'était pas initialement à zéro (cas 2bis #34319) OU que pour cette prestation une seule famille avec un seul choix (portion) soit possible\r\n canUpdate = canUpdate\r\n && ((fpg.famillePlatQuantiteControl.value > 0 || fpg.quantiteInitialeFamille > 0) // la famille n'était pas initialement à zéro (cas 2bis #34319)\r\n || (this.prestation.famillePlats.length == 1 // Une seule famille pour la prestation\r\n && fpg.portionsControls.filter(pfg => !pfg.isDisabled).length == 1) // Une seule portion sur la famille\r\n );\r\n\r\n return canUpdate;\r\n }\r\n\r\n /**\r\n * vérifie si la famille est une composante restreinte et que la limitation n'est déjà atteinte\r\n */\r\n private checkFamilleLimitationComposanteIsValidToIncreaseQuantite(fpg: FamillePlatFormGroup): boolean {\r\n if (!fpg.isComposanteRestreinte // famille non restreinte => on peut saisir un effectif\r\n || fpg.famillePlatQuantiteControl.value != 0) { // effectif déjà présent => on peut modifier l'effectif\r\n return true;\r\n }\r\n\r\n // vérif si la limitation n'est atteinte\r\n const limiteComposantes = this.simplePrestaFormGroup.nombreLimiteFamillePlats;\r\n if (!limiteComposantes) {\r\n return true;\r\n } // Pas de limitation\r\n\r\n // on compte le nombre de composantes soumises à restriction ayant de l'effectif\r\n const nombreComposantes = this.simplePrestaFormGroup\r\n .famillePlatsControls\r\n .filter(f => f.isComposanteRestreinte && f.famillePlatQuantiteControl.value != 0)\r\n .length;\r\n // on vérifie si on est strictement en dessous du seuil de limitation\r\n return nombreComposantes < limiteComposantes;\r\n }\r\n\r\n private applyRule3(fpg: FamillePlatFormGroup, toSubstract: number) {\r\n let toSubstractFp = toSubstract;\r\n const length = fpg.portionsControls.length;\r\n //Evolution #63162 https://dev.azure.com/elior/PortailRestaurant_vNext/_workitems/edit/63162/\r\n //On retire les portions en commençant par le debut au lieu de la fin initialement\r\n // for (let i = length - 1; i >= 0; i--) {\r\n for (let i = 0; i < length; i++) {\r\n const portionControl = fpg.portionsControls[i];\r\n\r\n // ignore isDisabled\r\n if (portionControl.isDisabled) {\r\n continue;\r\n }\r\n\r\n toSubstractFp = FormControlHelper.substractValue(portionControl.effectifPortionQuantiteControl, toSubstractFp);\r\n if (this.prestation.autoriserSaisieTauxPrise) {\r\n this.calculatePortionPercentage(portionControl);\r\n }\r\n if (toSubstractFp == 0) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n applyZeroPortions(fpControl: FamillePlatFormGroup) {\r\n fpControl.portionsControls.forEach(portionControl => {\r\n if (!portionControl.isDisabled) {\r\n this.resetPortionToZero(portionControl);\r\n }\r\n });\r\n\r\n this.computeFamillePlatControl(fpControl);\r\n }\r\n\r\n private applyTauxPriseBrassage() {\r\n this.simplePrestaFormGroup.famillePlatsControls.forEach(fpg => {\r\n // Sera rempli par la première itération, et utilisé par la deuxième s'il y en a une\r\n fpg.portionsControls.forEach((portion, i) => {\r\n // On recalcule l'effectif avec le % actuel du premier\r\n this.calculateEffectifByPercentage(portion);\r\n\r\n // On réajuste le % avec le nouvel effectif\r\n this.calculatePortionPercentage(portion);\r\n });\r\n\r\n this.adjustGap(fpg);\r\n this.computeFamillePlatControl(fpg);\r\n });\r\n }\r\n\r\n // Ajuste le total de la famille de plat pour correspondre au total d'effectif de la prestation\r\n // en ajoutant les effectifs à partir du début (rule2) ou en retirant les effectifs en commençant par la fin (rule3)\r\n private adjustGap(fpg: FamillePlatFormGroup) {\r\n this.applyRule2And3OnAllFamillePlats(fpg);\r\n }\r\n\r\n /** Get data */\r\n public getData(): PrestationFormModel {\r\n // HACK Suite du quick hack : https://github.com/angular/angular/issues/12963\r\n // 1. on enable les champs pour que le getRawValue renvoie les données\r\n this.simplePrestaFormGroup.famillePlatsControls.forEach(fp => {\r\n fp.portionsControls.forEach(pc => {\r\n if (pc.enableToAvoidGetRawValueIgnore) {\r\n pc.effectifPortionQuantiteControl.enable();\r\n }\r\n });\r\n });\r\n\r\n const model = this.prestaForm.getRawValue() as PrestationFormModel;\r\n\r\n // 2. on redisable les champs\r\n this.simplePrestaFormGroup.famillePlatsControls.forEach(fp => {\r\n fp.portionsControls.forEach(pc => {\r\n if (pc.enableToAvoidGetRawValueIgnore) {\r\n pc.effectifPortionQuantiteControl.disable();\r\n }\r\n });\r\n });\r\n\r\n model.effectifId = this.prestation.effectifId;\r\n model.prestationName = this.prestation.prestation;\r\n model.modeSaisie = this.prestation.modeSaisie;\r\n\r\n if (this.hasRegime) {\r\n model.regimeId = this.prestation.regimeData.regimeId;\r\n model.regimeEffectifId = this.prestation.regimeData.effectifId;\r\n }\r\n\r\n // Quick fix : on renseigne l'effectif de la prestation en mode portion à chaque fois pour renvoyer les portions avec (à voir comment refacto cela FRONT + API)\r\n if (!this.isModeStandard) {\r\n model.effectifQuantiteControl = this.effectifValue;\r\n }\r\n\r\n return model;\r\n }\r\n\r\n resetPortionToZero(portion: PortionFormGroup) {\r\n portion.effectifPortionPourcentageControl.setValue(0);\r\n portion.effectifPortionQuantiteControl.setValue(0);\r\n }\r\n\r\n /** Mode saisie % */\r\n // On réajuste le % avec le nouvel effectif\r\n calculatePortionPercentage(portion: PortionFormGroup, effectifValue: number = null): number {\r\n if (effectifValue == null) {\r\n effectifValue = this.effectifValue;\r\n }\r\n\r\n let perc = effectifValue == 0 ? 0 : portion.effectifPortionQuantiteControl.value * 100 / effectifValue;\r\n perc = Math.round(perc);\r\n portion.effectifPortionPourcentageControl.setValue(perc);\r\n portion.lastPourcentage = perc;\r\n return perc;\r\n }\r\n\r\n calculateEffectifByPercentage(portion: PortionFormGroup) {\r\n let val = MathHelper.roundToLowerWhenMiddle(this.effectifValue * portion.effectifPortionPourcentageControl.value / 100);\r\n val = Math.min(val, this.inputMaxValue);\r\n portion.effectifPortionQuantiteControl.setValue(val);\r\n }\r\n\r\n getFamillePlatFormGroup(famillePlatName: string): FamillePlatFormGroup {\r\n return this.simplePrestaFormGroup.famillePlatsControls.find(fpc => {\r\n return fpc.famillePlatName == famillePlatName;\r\n });\r\n }\r\n\r\n /** BUILD SIMPLE FORM */\r\n private buildSimplePrestaFormModel(): PrestaFormGroup {\r\n const model = this.prestaForm as PrestaFormGroup;\r\n model.effectifQuantiteControl = this.prestaForm.get('effectifQuantiteControl') as FormControl;\r\n const disabledEffectif = !this.prestation.autoriserSaisie;\r\n if (disabledEffectif) {\r\n model.effectifQuantiteControl.disable();\r\n }\r\n\r\n model.effectifQuantitePreco = this.prestation.quantitePrecommande;\r\n model.effectifId = this.prestation.effectifId;\r\n model.nombreLimiteFamillePlats = this.prestation.nombreLimiteFamillePlats;\r\n\r\n if (this.hasRegime) {\r\n model.effectifSansPorcQuantiteControl = this.prestaForm.get('effectifSansPorcQuantiteControl') as FormControl;\r\n model.effectifSansPorcQuantitePreco = this.prestation.regimeData.quantitePrecommande;\r\n\r\n if (disabledEffectif) {\r\n model.effectifSansPorcQuantiteControl.disable();\r\n }\r\n }\r\n\r\n model.famillePlatsControls = (this.prestaForm.get('famillePlatsControls') as FormArray).controls\r\n .map((fp: FamillePlatFormGroup) => {\r\n fp.famillePlatName = fp.get('famillePlatName').value;\r\n fp.famillePlatQuantiteControl = fp.get('famillePlatQuantiteControl') as FormControl;\r\n fp.quantiteInitialeFamille = fp.get('quantiteInitialeFamille').value;\r\n fp.ordre = fp.get('ordre').value as number;\r\n fp.isComposanteRestreinte = fp.get('isComposanteRestreinte').value as boolean;\r\n fp.autoriserEffectifZero = fp.get('autoriserEffectifZero').value as boolean;\r\n fp.portionsControls = (fp.controls['portionsControls'] as FormArray).controls\r\n .map((portion: PortionFormGroup) => {\r\n portion.platName = portion.get('platName').value;\r\n portion.famillePlatName = fp.famillePlatName;\r\n portion.tooltip = portion.get('tooltip').value;\r\n // can't check on enums in view\r\n const modeSaisie: number = portion.get('modeSaisie').value;\r\n portion.effectifPortionId = portion.get('effectifPortionId').value;\r\n portion.isDisabled = modeSaisie == ModeSaisiePortionEnum.LectureSeule;\r\n portion.effectifPortionQuantiteControl = portion.get('effectifPortionQuantiteControl') as FormControl;\r\n portion.effectifPortionQuantitePreco = portion.get('effectifPortionQuantitePreco').value;\r\n portion.effectifPortionPourcentageControl = portion.get('effectifPortionPourcentageControl') as FormControl;\r\n\r\n // Calc %\r\n portion.lastPourcentage = this.calculatePortionPercentage(portion, model.effectifQuantiteControl.value || 0);\r\n const baseDisable = !this.prestation.autoriserSaisie || portion.isDisabled;\r\n const disablePortion = baseDisable || (modeSaisie == ModeSaisiePortionEnum.TauxPrise);\r\n const disablePortionPercentage = baseDisable || (modeSaisie == ModeSaisiePortionEnum.Quantite);\r\n\r\n if (disablePortion) {\r\n portion.effectifPortionQuantiteControl.disable();\r\n // HACK car bug ng2 : Si on affiche les % et que c'est en taux de prise (et non saisie à la portion)\r\n // --> on prépare un booléen pour pouvoir enable le champs sur le getRawValue() fait dans le getData()\r\n // car les champs disabled et nested ne sont pas retournés : prestaForm.famillesControls.forEach(f=>f.portionsControls))\r\n // Issue github, ouvert au 09/02 : https://github.com/angular/angular/issues/12963\r\n if (this.prestation.autoriserSaisie && this.prestation.autoriserSaisieTauxPrise && modeSaisie == ModeSaisiePortionEnum.TauxPrise) {\r\n portion.enableToAvoidGetRawValueIgnore = true;\r\n }\r\n }\r\n\r\n if (disablePortionPercentage) {\r\n portion.effectifPortionPourcentageControl.disable();\r\n }\r\n\r\n return portion;\r\n });\r\n return fp;\r\n });\r\n\r\n return model;\r\n }\r\n}\r\n\r\ninterface PrestaFormGroup extends FormGroup {\r\n effectifId: number;\r\n regimeId: number;\r\n effectifQuantiteControl: FormControl;\r\n effectifQuantitePreco: number;\r\n effectifSansPorcQuantiteControl: FormControl;\r\n effectifSansPorcQuantitePreco: number;\r\n nombreLimiteFamillePlats?: number;\r\n famillePlatsControls: FamillePlatFormGroup[];\r\n}\r\n\r\ninterface FamillePlatFormGroup extends FormGroup {\r\n famillePlatName: string;\r\n ordre: number;\r\n autoriserEffectifZero: boolean;\r\n isComposanteRestreinte: boolean;\r\n quantiteInitialeFamille: number;\r\n famillePlatQuantiteControl: FormControl;\r\n portionsControls: PortionFormGroup[];\r\n}\r\n\r\nclass PortionFormGroup extends FormGroup {\r\n isModeSaisieTauxDePrise: boolean;\r\n isModeSaisieQuantite: boolean;\r\n isDisabled: boolean;\r\n effectifPortionId: number;\r\n platName: string;\r\n famillePlatName: string;\r\n tooltip: string;\r\n effectifPortionQuantiteControl: FormControl;\r\n effectifPortionQuantitePreco: number;\r\n effectifPortionPourcentageControl: FormControl;\r\n lastPourcentage: number;\r\n enableToAvoidGetRawValueIgnore: boolean;\r\n}\r\n","export abstract class BaseErrorModel {\r\n\r\n abstract type: CommandeRepasErrorTypeEnum;\r\n callback: (BaseErrorModel) => void;\r\n constructor(public index: number, public code: number, public message: string, public date: Date) {\r\n }\r\n\r\n onClick() {\r\n this.callback(this);\r\n }\r\n}\r\n\r\nexport class FamillePlatErrorModel extends BaseErrorModel {\r\n\r\n type = CommandeRepasErrorTypeEnum.FamillePlat;\r\n effectifId: number;\r\n name: string;\r\n\r\n constructor(effectifId: number, name: string, index: number, code: number, message: string, date: Date) {\r\n super(index, code, message, date);\r\n this.effectifId = effectifId;\r\n this.name = name;\r\n }\r\n}\r\n\r\nexport class PortionErrorModel extends BaseErrorModel {\r\n\r\n type = CommandeRepasErrorTypeEnum.Portion;\r\n id: number;\r\n\r\n constructor(id: number, index: number, code: number, message: string, date: Date) {\r\n super(index, code, message, date);\r\n this.id = id;\r\n }\r\n\r\n}\r\n\r\nexport class PrestationErrorModel extends BaseErrorModel {\r\n\r\n type = CommandeRepasErrorTypeEnum.Prestation;\r\n id: number;\r\n regimeId: number;\r\n\r\n constructor(id: number, regimeId: number, index: number, code: number, message: string, date: Date) {\r\n super(index, code, message, date);\r\n this.id = id;\r\n this.regimeId = regimeId;\r\n }\r\n}\r\n\r\nexport interface JourErrorModel {\r\n date: Date;\r\n prestations: PrestationErrorModel[];\r\n famillePlats: FamillePlatErrorModel[];\r\n portions: PortionErrorModel[];\r\n}\r\n\r\nexport class CommandeRepasErrorModel {\r\n constructor(public jours: JourErrorModel[], public errorType: CommandeRepasUpdateErrorTypeEnum) {\r\n }\r\n\r\n setCallBack(cb: (BaseErrorModel) => void) {\r\n if (this.jours) {\r\n this.jours.forEach(j => {\r\n j.famillePlats.forEach(fp => {\r\n fp.callback = cb;\r\n });\r\n j.portions.forEach(fp => {\r\n fp.callback = cb;\r\n });\r\n j.prestations.forEach(fp => {\r\n fp.callback = cb;\r\n });\r\n });\r\n }\r\n }\r\n\r\n}\r\n\r\nexport enum CommandeRepasErrorNumber {\r\n Regle9 = 9,\r\n Regle10 = 10,\r\n Regle11 = 11,\r\n Regle12 = 12,\r\n InvalidModelState = 4000\r\n}\r\n\r\nexport enum CommandeRepasErrorTypeEnum {\r\n Prestation = 0,\r\n Portion = 1,\r\n FamillePlat = 2\r\n}\r\n\r\nexport enum CommandeRepasUpdateErrorTypeEnum {\r\n Unhandled,\r\n Validation,\r\n TransmissionElixir\r\n}\r\n","import {\r\n CommandeRepasErrorModel,\r\n FamillePlatErrorModel,\r\n JourErrorModel,\r\n PortionErrorModel,\r\n PrestationErrorModel,\r\n CommandeRepasUpdateErrorTypeEnum\r\n} from '../../shared/models/commande-repas-error.model';\r\nimport {\r\n DailyFamilleModel,\r\n DailyMenuPrestationModel,\r\n DailyPlatModel\r\n} from '../../shared/models/daily-menu/daily-menu-prestation.model';\r\nimport {\r\n CommandeRepasModel,\r\n ConviveModel,\r\n FamillePlatModel,\r\n JourModel,\r\n ModeSaisieEnum,\r\n ModeSaisiePortionEnum,\r\n PeriodeContratTypeEnum,\r\n PeriodeModel,\r\n PortionModel,\r\n PrestationModel,\r\n RegimeDataModel\r\n} from '../models/commande-repas.model';\r\nimport { DateHelper } from '../../shared/helpers/date.helper';\r\nimport { FamillePlatsControl, PrestationFormModel } from '../models/prestation-form.model';\r\n\r\nimport { GetDailyMenuApiResponse } from '../models/api/responses/get-daily-menu.apiresponse';\r\nimport { GetCommandeRepasApiResponse } from '../models/api/responses/get-commande-repas.apiresponse';\r\nimport { PostCommandeRepasApiRequest } from '../models/api/requests/post-commande-repas.apirequest';\r\nimport { PostCommandeRepasErrorApiResponse } from '../../shared/models/api/error/post-commande-repas-error.apiresponse';\r\n\r\nfunction formatDate(date?: Date): string {\r\n return date != null ? DateHelper.format(date, 'DD/MM/YYYY à HH:mm') : null;\r\n}\r\n\r\nexport class CommandeRepasProjector {\r\n\r\n /** Daily functions */\r\n public static projectDailyMenus(apiPrestas: GetDailyMenuApiResponse.Prestation[]): DailyMenuPrestationModel[] {\r\n return apiPrestas.map((apiPresta, i) => {\r\n const prestaModel: DailyMenuPrestationModel = {\r\n date: apiPresta.date,\r\n familles: this.projectDailyFamilles(apiPresta.familles),\r\n isEmpty: !apiPresta.familles || apiPresta.familles.length == 0,\r\n prestation: apiPresta.prestation\r\n };\r\n return prestaModel;\r\n });\r\n }\r\n\r\n private static projectDailyFamilles(familles: GetDailyMenuApiResponse.Famille[]): DailyFamilleModel[] {\r\n return familles.map(f => {\r\n return {\r\n plats: this.projectDailyPlats(f.plats)\r\n };\r\n });\r\n }\r\n\r\n private static projectDailyPlats(plats: GetDailyMenuApiResponse.Plat[]): DailyPlatModel[] {\r\n return plats.map(p => {\r\n return {\r\n libelle: p.libelle\r\n };\r\n });\r\n }\r\n\r\n /** Commande repas */\r\n static projectCmdRepas(apiCmdRepas: GetCommandeRepasApiResponse.CommandeRepas): CommandeRepasModel {\r\n return {\r\n transmis: apiCmdRepas.valide,\r\n semaines: apiCmdRepas.semaines,\r\n autoriserDepassementEffectif: apiCmdRepas.autoriserDepassementEffectif,\r\n autoriserInsuffisanceEffectif: apiCmdRepas.autoriserInsuffisanceEffectif,\r\n convives: this.projectConvives(apiCmdRepas.convivesDisponibles),\r\n lieuCommandes: apiCmdRepas.lieuCommandeDisponibles,\r\n jourFinSemaine: apiCmdRepas.jourFinSemaine,\r\n jours: this.projectJours(apiCmdRepas.jours),\r\n modifiePar: apiCmdRepas.modifiePar,\r\n dateModification: formatDate(apiCmdRepas.dateModification),\r\n exportRequis: apiCmdRepas.exportRequis\r\n };\r\n }\r\n\r\n private static projectConvives(convivesApi: GetCommandeRepasApiResponse.Convive[]): ConviveModel[] {\r\n return convivesApi.map(convApi => {\r\n const convive: ConviveModel = {\r\n abrege: convApi.abrege,\r\n id: convApi.id,\r\n libelle: convApi.libelle,\r\n ordre: convApi.ordre,\r\n transmis: convApi.transmis\r\n };\r\n return convive;\r\n });\r\n }\r\n\r\n private static projectJours(jours: GetCommandeRepasApiResponse.Jour[]): JourModel[] {\r\n return jours.map((j) => {\r\n const model = new JourModel(j.date);\r\n model.periode = this.projectPeriode(j.periode);\r\n model.quantitePiqueNique = j.quantitePiqueNique;\r\n model.prestations = this.projectPrestations(j.prestations);\r\n\r\n const dateFormat = 'DD/MM/YYYY HH:mm:ss';\r\n const periodeType = this.getPeriodeTypeText(model.periode.type);\r\n let tooltipText = `[${periodeType}] ${DateHelper.format(model.periode.startDate, dateFormat)} -> ${model.periode.endDate ? DateHelper.format(model.periode.endDate, dateFormat) : 'Pas de date'}`;\r\n if (j.quantitePiqueNique > 0) {\r\n tooltipText += `\\nCette journée contient des pique-niques (${j.quantitePiqueNique}).`;\r\n }\r\n\r\n if (j.dateModification) {\r\n tooltipText += `\\nValidé le ${DateHelper.format(j.dateModification, dateFormat)} par ${j.modifiePar}.`;\r\n }\r\n\r\n model.periodeTooltipInfo = tooltipText;\r\n return model;\r\n });\r\n }\r\n\r\n private static getPeriodeTypeText(type: PeriodeContratTypeEnum): string {\r\n switch (type) {\r\n case PeriodeContratTypeEnum.Commande:\r\n return 'COMMANDE';\r\n case PeriodeContratTypeEnum.HorsPeriode:\r\n return 'HORS PERIODE';\r\n case PeriodeContratTypeEnum.Precommande:\r\n return 'PRECO';\r\n case PeriodeContratTypeEnum.Reel:\r\n return 'REEL';\r\n case PeriodeContratTypeEnum.Reajustement:\r\n return 'REAJUST';\r\n }\r\n }\r\n private static projectModeSaisie(modeSaisie: string): ModeSaisieEnum {\r\n return ModeSaisieEnum[modeSaisie];\r\n }\r\n\r\n private static projectPeriode(periode: GetCommandeRepasApiResponse.Periode): PeriodeModel {\r\n return {\r\n dateReference: periode.dateReference,\r\n endDate: periode.endDate,\r\n ratioModification: periode.ratioModification,\r\n startDate: periode.startDate,\r\n type: this.projectPeriodeType(periode.type)\r\n };\r\n }\r\n\r\n private static projectPeriodeType(type: string): PeriodeContratTypeEnum {\r\n return PeriodeContratTypeEnum[type];\r\n }\r\n\r\n private static handleSpecificData(model: PrestationModel, p: GetCommandeRepasApiResponse.Prestation, famillePlats: FamillePlatModel[]) {\r\n if (p.regimeId) {\r\n const regimeData: RegimeDataModel = {\r\n quantiteJour: p.quantiteJour,\r\n quantiteJourMax: p.quantiteJourMax,\r\n quantiteJourMin: p.quantiteJourMin,\r\n quantitePrecommande: p.quantitePrecommande,\r\n regimeId: p.regimeId,\r\n regimeLibelle: p.regimeLibelle,\r\n effectifId: p.effectifId,\r\n\r\n dateModification: formatDate(p.dateModification),\r\n dateExport: formatDate(p.dateExport),\r\n dateImport: formatDate(p.dateImport),\r\n exportRequis: p.exportRequis\r\n };\r\n\r\n model.regimeData = regimeData;\r\n\r\n model.prestationTooltipInfo += `\\nEffectif régime ${p.regimeLibelle} min-max : ${p.quantiteJourMin}-${p.quantiteJourMax === null ? 'max' : p.quantiteJourMax}.`;\r\n model.prestationTooltipInfo += `\\nHistorique (régime ${p.regimeLibelle}) :`;\r\n } else {\r\n model.quantiteJour = p.quantiteJour;\r\n model.quantiteJourMax = p.quantiteJourMax;\r\n model.quantiteJourMin = p.quantiteJourMin;\r\n model.quantitePrecommande = p.quantitePrecommande;\r\n model.effectifId = p.effectifId;\r\n model.dateModification = formatDate(p.dateModification);\r\n model.dateExport = formatDate(p.dateExport);\r\n model.dateImport = formatDate(p.dateImport);\r\n model.exportRequis = p.exportRequis;\r\n\r\n model.prestationTooltipInfo += `\\nEffectif min-max : ${p.quantiteJourMin}-${p.quantiteJourMax === null ? 'max' : p.quantiteJourMax}.`;\r\n model.prestationTooltipInfo += '\\nHistorique :';\r\n }\r\n\r\n const hasCCUpdatedAfterTransmission = p.dateExport && (p.dateImport > p.dateExport);\r\n\r\n p.historique.forEach(h => {\r\n const isLastTransmission = h.dateExport && (h.dateExport === p.dateExport);\r\n model.prestationTooltipInfo += `\\n - ${h.periode} : ${(h.quantite === null) ? 'non modifié' : h.quantite}`;\r\n if (isLastTransmission && hasCCUpdatedAfterTransmission) {\r\n model.prestationTooltipInfo += `. Modifié par la CC le ${formatDate(p.dateImport)}`;\r\n } else {\r\n model.prestationTooltipInfo += `${h.dateExport ? ('. Transmis le ' + formatDate(h.dateExport)) : ''}`;\r\n }\r\n });\r\n model.prestationTooltipInfo += '\\n';\r\n\r\n // La première fois on initialise tout simplement avec les premières données\r\n if (!model.famillePlats || model.famillePlats.length == 0) {\r\n model.famillePlats = famillePlats;\r\n } else {\r\n const fpToAdd: FamillePlatModel[] = [];\r\n // Sinon, on doit merger les nouvelles avec l'existant\r\n // Pour chaque famille :\r\n const newFamillePlats = famillePlats.forEach(newFp => {\r\n // On cherche si la famille existe déja\r\n const existingFp = model.famillePlats.find(fp => fp.famillePlat == newFp.famillePlat);\r\n if (existingFp) {\r\n // La famille de plat existe déja, donc on append les portions\r\n // on filtre si on a 2 plats identiques : mais ça ne devrait pas arriver non ?\r\n const newPortions = newFp.portions.filter(newP => {\r\n return existingFp.portions.find(presta => presta.plat != newP.plat);\r\n });\r\n\r\n existingFp.portions = existingFp.portions.concat(newPortions);\r\n } else {\r\n // La famille de plat n'existe pas, on a juste à l'ajouter\r\n model.famillePlats.push(newFp);\r\n }\r\n });\r\n\r\n // add\r\n model.famillePlats = model.famillePlats.concat(fpToAdd);\r\n }\r\n }\r\n\r\n private static projectPrestations(prestasApi: GetCommandeRepasApiResponse.Prestation[]): PrestationModel[] {\r\n const prestaDico: { [key: string]: PrestationModel } = {}; // TODO : pourquoi faire un set basé sur prestationId ??\r\n prestasApi.forEach(p => {\r\n if (prestaDico[p.prestationId] === undefined) {\r\n const model = new PrestationModel();\r\n model.isCollapsed = false;\r\n model.nombreLimiteFamillePlats = p.nombreLimiteFamillePlats;\r\n model.prestation = p.prestation;\r\n model.prestationId = p.prestationId;\r\n model.autoriserSaisie = p.autoriserSaisie;\r\n model.modeSaisie = this.projectModeSaisie(p.modeSaisie);\r\n model.historique = p.historique;\r\n model.autoriserSaisieTauxPrise = p.autoriserSaisieTauxPrise;\r\n model.prestationOrdre = p.prestationOrdre;\r\n model.valide = p.valide;\r\n model.dateModification = formatDate(p.dateModification);\r\n model.dateExport = formatDate(p.dateExport);\r\n model.dateImport = formatDate(p.dateImport);\r\n model.exportRequis = p.exportRequis;\r\n\r\n prestaDico[p.prestationId] = model;\r\n\r\n let tooltipText = model.prestation;\r\n\r\n // si la cuisine n'a pas modifié depuis la transmission alors \"Importé de la cuisine...\"\r\n if (!p.dateExport || p.dateImport < p.dateExport) {\r\n tooltipText += `\\nImporté de la CC le ${model.dateImport}.`;\r\n }\r\n\r\n tooltipText += p.dateModification\r\n ? `\\nValidé le ${model.dateModification} par ${p.modifiePar}.`\r\n : '\\nNon validé';\r\n\r\n if (model.exportRequis) {\r\n tooltipText += '\\nEn attente de transmission à la CC.';\r\n }\r\n\r\n if (model.dateExport) {\r\n tooltipText += `\\nTransmis à la CC le ${model.dateExport}.`;\r\n }\r\n\r\n // si la cuisine a modifié depuis la transmission alors \"nModifié par la cuisine...\"\r\n if (p.dateExport && p.dateImport > p.dateExport) {\r\n tooltipText += `\\nModifié par la CC le ${model.dateImport}.`;\r\n }\r\n\r\n model.prestationTooltipInfo = tooltipText;\r\n\r\n this.handleSpecificData(model, p, this.projectFamillePlats(p.famillePlats));\r\n } else {\r\n this.handleSpecificData(prestaDico[p.prestationId], p, this.projectFamillePlats(p.famillePlats));\r\n }\r\n });\r\n\r\n // to Array\r\n const toReturn: PrestationModel[] = [];\r\n // tslint:disable-next-line:forin\r\n for (const key in prestaDico) {\r\n toReturn.push(prestaDico[key]);\r\n }\r\n\r\n // retrier par prestationOrdre\r\n toReturn.sort((a, b) => {\r\n return (b.prestationOrdre < a.prestationOrdre) ? 1 : -1;\r\n });\r\n\r\n return toReturn;\r\n }\r\n\r\n private static projectFamillePlats(famillesPlatsApi: GetCommandeRepasApiResponse.FamillePlat[]): FamillePlatModel[] {\r\n return famillesPlatsApi.map(f => {\r\n\r\n const model: FamillePlatModel = {\r\n isComposanteRestreinte: f.isComposanteRestreinte,\r\n autoriserEffectifZero: f.autoriserEffectifZero,\r\n famillePlatId: f.famillePlatId,\r\n famillePlatOrdre: f.famillePlatOrdre,\r\n famillePlat: f.famillePlat,\r\n nombreLimitePlats: f.nombreLimitePlats,\r\n portions: this.projectPortions(f.portions)\r\n };\r\n\r\n return model;\r\n });\r\n }\r\n\r\n private static projectPortions(portionApi: GetCommandeRepasApiResponse.Portion[]): PortionModel[] {\r\n return portionApi.map(p => {\r\n const model: PortionModel = {\r\n effectifPortionId: p.effectifPortionId,\r\n plat: p.plat,\r\n platId: p.platId,\r\n quantite: p.quantite,\r\n quantitePrecommande: p.quantitePrecommande,\r\n historique: p.historique,\r\n modeSaisie: ModeSaisiePortionEnum[p.modeSaisie],\r\n dateModification: formatDate(p.dateModification),\r\n dateExport: formatDate(p.dateExport),\r\n dateImport: formatDate(p.dateImport),\r\n exportRequis: p.exportRequis,\r\n portionTooltipInfo: ''\r\n };\r\n\r\n let tooltipText = p.plat;\r\n\r\n // si la cuisine n'a pas modifié depuis la transmission alors \"Importé de la cuisine...\"\r\n if (!p.dateExport || p.dateImport < p.dateExport) {\r\n tooltipText += `\\nImporté de la CC le ${model.dateImport}.`;\r\n }\r\n\r\n tooltipText += p.dateModification\r\n ? `\\nValidé le ${model.dateModification}.`\r\n : '\\nNon validé';\r\n\r\n if (model.exportRequis) {\r\n tooltipText += '\\nEn attente de transmission à la CC.';\r\n }\r\n\r\n if (model.dateExport) {\r\n tooltipText += `\\nTransmis à la CC le ${model.dateExport}.`;\r\n }\r\n\r\n // si la cuisine a modifié depuis la transmission alors \"nModifié par la cuisine...\"\r\n if (p.dateExport && p.dateImport > p.dateExport) {\r\n tooltipText += `\\nModifié par la CC le ${model.dateImport}.`;\r\n }\r\n\r\n tooltipText += '\\n\\nHistorique :';\r\n model.historique.forEach(h => {\r\n tooltipText += `\\n - ${h.periode} : ${(h.quantite === null) ? 'non modifié' : h.quantite}`;\r\n });\r\n\r\n model.portionTooltipInfo = tooltipText;\r\n\r\n return model;\r\n });\r\n }\r\n\r\n static projectCmdRepasUpdate(\r\n contratId: number,\r\n restaurantId: number,\r\n lieuCommandeId: number,\r\n conviveId: number,\r\n cuisineCentraleId: number,\r\n date: Date,\r\n prestaDataList: PrestationFormModel[]): PostCommandeRepasApiRequest.CommandeRepasUpdate {\r\n\r\n const prestas: PostCommandeRepasApiRequest.Prestation[] = [];\r\n prestaDataList.forEach(presta => {\r\n // we could merge this to reduce the code but it would be less easier to understand IMO\r\n if (presta.modeSaisie == ModeSaisieEnum.Standard) {\r\n // Cas standard\r\n // On envoie pas les effectifQuantiteControl == null car non modifiable /disabled\r\n if (presta.effectifQuantiteControl != null) {\r\n prestas.push({\r\n effectifId: presta.effectifId,\r\n effectif: presta.effectifQuantiteControl,\r\n modeSaisie: presta.modeSaisie\r\n });\r\n }\r\n\r\n // Ajout d'une presta si regime sans porc\r\n // On envoie pas les effectifSansPorcQuantiteControl == null car non modifiable /disabled\r\n if (presta.regimeId != null && presta.effectifSansPorcQuantiteControl != null) {\r\n prestas.push({\r\n effectifId: presta.regimeEffectifId,\r\n effectif: presta.effectifSansPorcQuantiteControl,\r\n regimeId: presta.regimeId,\r\n modeSaisie: presta.modeSaisie\r\n });\r\n }\r\n } else {\r\n // Cas des portions\r\n prestas.push({\r\n effectifId: presta.effectifId,\r\n effectif: presta.effectifQuantiteControl,\r\n portions: this.projectPortionUpdate(presta.famillePlatsControls),\r\n modeSaisie: presta.modeSaisie\r\n });\r\n }\r\n });\r\n\r\n\r\n return {\r\n contratId,\r\n restaurantId,\r\n lieuCommandeId,\r\n conviveId,\r\n cuisineCentraleId,\r\n date: DateHelper.toISODateString(date),\r\n prestations: prestas\r\n };\r\n }\r\n\r\n private static projectPortionUpdate(famillesPlats: FamillePlatsControl[]): PostCommandeRepasApiRequest.Portion[] {\r\n const portions: PostCommandeRepasApiRequest.Portion[] = Array();\r\n famillesPlats.map(famillePlat => {\r\n famillePlat.portionsControls.map(portion => {\r\n // On ne renvoie pas les portions disabled/non modifiable\r\n if (portion.effectifPortionQuantiteControl != null) {\r\n const model: PostCommandeRepasApiRequest.Portion = {\r\n effectifPortionId: portion.effectifPortionId,\r\n effectif: portion.effectifPortionQuantiteControl\r\n };\r\n portions.push(model);\r\n }\r\n });\r\n });\r\n return portions;\r\n }\r\n\r\n\r\n public static projectCmdRepasError(apiError: PostCommandeRepasErrorApiResponse.ErrorContent): CommandeRepasErrorModel {\r\n const jours = apiError.Jours.map(apiJour => {\r\n return {\r\n date: apiJour.Date,\r\n famillePlats: apiJour.FamillePlats.map(apiFp => {\r\n return new FamillePlatErrorModel(apiFp.EffectifId, apiFp.Name, apiFp.Index, apiFp.Code, apiFp\r\n .Message, apiJour.Date);\r\n }),\r\n portions: apiJour.Portions.map(apiPortion => {\r\n return new PortionErrorModel(apiPortion.Id, apiPortion.Index, apiPortion.Code, apiPortion.Message, apiJour.Date);\r\n }),\r\n prestations: apiJour.Prestations.map(apiPresta => {\r\n return new PrestationErrorModel(apiPresta.Id, apiPresta.RegimeId, apiPresta.Index, apiPresta.Code, apiPresta.Message, apiJour.Date);\r\n\r\n })\r\n };\r\n });\r\n return new CommandeRepasErrorModel(jours, apiError.ErrorType as CommandeRepasUpdateErrorTypeEnum);\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { PostCommandeRepasApiRequest } from '../../repas/models/api/requests/post-commande-repas.apirequest';\r\nimport { FormControlHelper } from '../../shared/helpers/form-control.helper';\r\nimport { ErrorApiModel } from '../../shared/models/api/error/error.apimodel';\r\nimport { PostCommandeRepasErrorApiResponse } from '../../shared/models/api/error/post-commande-repas-error.apiresponse';\r\nimport { PostCommandeRepasWarningApiResponse } from '../../shared/models/api/warning/post-commande-repas-warning.apiresponse';\r\nimport { CommandeRepasErrorModel, CommandeRepasErrorNumber } from '../../shared/models/commande-repas-error.model';\r\nimport { DailyMenuPrestationModel } from '../../shared/models/daily-menu/daily-menu-prestation.model';\r\nimport { FileResultModel } from '../../shared/models/fileresult.model';\r\nimport { SessionStorageService } from '../../shared/services/browser-storage.service';\r\nimport { ExportBilanRepasRequest } from '../models/api/requests/export-bilan-repas-request.apirequest';\r\nimport { ExportEcartsRequest } from '../models/api/requests/export-ecarts-request.apirequest';\r\nimport { CommandeRepasModel } from '../models/commande-repas.model';\r\nimport { PrestationFormModel } from '../models/prestation-form.model';\r\nimport { CommandeRepasProjector } from '../projectors/commande-repas.projector';\r\nimport { CommandeRepasApiService } from './api/commande-repas.apiservice';\r\nimport { ExportCommandeValoriseeRequest } from '../models/api/requests/export-commande-valorisee-request.apirequest';\r\n\r\nconst PRESTACLOSED_KEY = 'PRESTACLOSED';\r\n\r\n@Injectable()\r\nexport class CommandeRepasService {\r\n lastFamillePlatByEffectifId: { [effectifId: string]: string } = {};\r\n effectifPortionControls: { [effectifPortionId: string]: FormControl } = {};\r\n effectifControls: { [effectifId: string]: FormControl; } = {};\r\n\r\n private effectifPortionsFamillePlats: { [key: string]: { effectifPortionControls: FormControl[], famillePlatControl: FormControl } } = {};\r\n\r\n constructor(\r\n private cmdRepasApiService: CommandeRepasApiService,\r\n private sessionStorageService: SessionStorageService) { }\r\n\r\n /** Form dictionaries */\r\n addPortionToDictionary(fcControlList: FormControl[], famillePlatControl: FormControl, effectifId: number, famillePlat: string) {\r\n this.effectifPortionsFamillePlats[`${effectifId}${famillePlat}`] = { effectifPortionControls: fcControlList, famillePlatControl };\r\n }\r\n\r\n getEffectifPortionControlsByEffectifAndFamillePlats(effectifId: number, famillePlat: string): { effectifPortionControls: FormControl[], famillePlatControl: FormControl } {\r\n return this.effectifPortionsFamillePlats[`${effectifId}${famillePlat}`];\r\n }\r\n\r\n private clearDictionaries() {\r\n this.effectifControls = {};\r\n this.effectifPortionControls = {};\r\n this.effectifPortionsFamillePlats = {};\r\n }\r\n\r\n /** Api queries */\r\n\r\n getMenu(cuisineId: number, restId: number, date: Date): Observable {\r\n return this.cmdRepasApiService.getMenu(cuisineId, restId, date).pipe(\r\n map(res => {\r\n return CommandeRepasProjector.projectDailyMenus(res);\r\n }));\r\n }\r\n\r\n getCommandeRepas(isPiqueNique: boolean, cuisineId: number, restaurantId: number, conviveId: number = undefined, lieuCommandeId: number = undefined, day: Date = undefined): Observable {\r\n return this.cmdRepasApiService.getCommandeRepas(isPiqueNique, cuisineId, restaurantId, conviveId, lieuCommandeId, day).pipe(\r\n map(res => {\r\n this.clearDictionaries();\r\n return CommandeRepasProjector.projectCmdRepas(res);\r\n }));\r\n }\r\n\r\n postCommandeRepas(\r\n contratId: number,\r\n restaurantId: number,\r\n lieuCommandeId: number,\r\n conviveId: number,\r\n cuisineCentraleId: number,\r\n date: Date,\r\n prestaDataList: PrestationFormModel[]): Observable {\r\n const commandeRepasUpdate: PostCommandeRepasApiRequest.CommandeRepasUpdate = CommandeRepasProjector.projectCmdRepasUpdate(\r\n contratId,\r\n restaurantId,\r\n lieuCommandeId,\r\n conviveId,\r\n cuisineCentraleId,\r\n date,\r\n prestaDataList);\r\n return new Observable((obs: Subscriber) => {\r\n this.cmdRepasApiService.postCommandeRepas(commandeRepasUpdate)\r\n .subscribe(res => {\r\n obs.next(res);\r\n obs.complete();\r\n },\r\n (error: ErrorApiModel) => {\r\n const contentError = error.Content as PostCommandeRepasErrorApiResponse.ErrorContent;\r\n if (contentError != null && contentError.ErrorType != null) {\r\n const errorProjected = CommandeRepasProjector.projectCmdRepasError(contentError);\r\n error.Content = errorProjected;\r\n // handle this specific error in the service because of dictionaries\r\n if (error.Code != CommandeRepasErrorNumber.InvalidModelState) {\r\n this.handlePostCommandeRepasErrors(errorProjected);\r\n }\r\n }\r\n\r\n obs.error(error);\r\n obs.complete();\r\n });\r\n });\r\n }\r\n\r\n handlePostCommandeRepasErrors(errContent: CommandeRepasErrorModel) {\r\n errContent.jours.forEach(\r\n err => {\r\n err.portions.forEach(p => {\r\n const ctrl = this.effectifPortionControls[p.id];\r\n if (ctrl) {\r\n FormControlHelper.addServerValidator(ctrl);\r\n }\r\n });\r\n\r\n // We aggregate the key effectif Id + plat name here, and we give a boolean 'updateFamillePlat' which indicate\r\n // that the famillePlat validation should be refreshed too on portion update\r\n const effectifDico: { [key: string]: { effectifId: number, fpName: string, updateFamillePlat: boolean } } = {};\r\n\r\n err.prestations.forEach(p => {\r\n if (p.code == CommandeRepasErrorNumber.Regle11) {\r\n // get the last prestation name of this effectif/prestation\r\n const prestaName = this.lastFamillePlatByEffectifId[p.id];\r\n if (prestaName) {\r\n effectifDico[p.id + prestaName] = { effectifId: p.id, fpName: prestaName, updateFamillePlat: true };\r\n }\r\n }\r\n });\r\n\r\n err.famillePlats.forEach(fp => {\r\n if (fp.code == CommandeRepasErrorNumber.Regle9\r\n || fp.code == CommandeRepasErrorNumber.Regle10\r\n || fp.code == CommandeRepasErrorNumber.Regle12) {\r\n if (!effectifDico[fp.effectifId + fp.name]) {\r\n effectifDico[fp.effectifId + fp.name] = { effectifId: fp.effectifId, fpName: fp.name, updateFamillePlat: false };\r\n }\r\n }\r\n });\r\n\r\n for (const key in effectifDico) {\r\n const item = effectifDico[key];\r\n const ctrls = this.getEffectifPortionControlsByEffectifAndFamillePlats(item.effectifId, item.fpName);\r\n if (item.updateFamillePlat) {\r\n FormControlHelper.addFamillePlatServerValidator(key, ctrls.effectifPortionControls, ctrls.famillePlatControl);\r\n } else {\r\n FormControlHelper.addFamillePlatServerValidator(key, ctrls.effectifPortionControls);\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n exportEcarts(cuisineCentraleId?: number, grandCompteId?:number, contratId?: number, date?: Date): Observable {\r\n\r\n const request: ExportEcartsRequest = {\r\n cuisineCentraleId,\r\n grandCompteId,\r\n contratId,\r\n date,\r\n };\r\n\r\n return this.cmdRepasApiService.exportEcarts(request);\r\n }\r\n\r\n exportBilanRepas(grandCompteId?: number, cuisineCentraleId?: number, contratId?: number, dateDebut?: Date, dateFin?: Date, isPiqueNique?: boolean): Observable {\r\n\r\n const request: ExportBilanRepasRequest = {\r\n grandCompteId,\r\n cuisineCentraleId,\r\n contratId,\r\n dateDebut,\r\n dateFin,\r\n isPiqueNique\r\n };\r\n\r\n return this.cmdRepasApiService.exportBilanRepas(request);\r\n }\r\n\r\n exportCommandeValorisee(grandCompteId?: number, cuisineCentraleId?: number, contratId?: number, dateDebut?: Date, dateFin?: Date, isPiqueNique?: boolean): Observable {\r\n\r\n const request: ExportCommandeValoriseeRequest = {\r\n grandCompteId,\r\n cuisineCentraleId,\r\n contratId,\r\n dateDebut,\r\n dateFin,\r\n isPiqueNique\r\n };\r\n\r\n return this.cmdRepasApiService.exportCommandeValorisee(request);\r\n }\r\n\r\n /** Toggle Handle */\r\n handleToggle(prestaId: number, shouldCollapse: boolean) {\r\n if (shouldCollapse) {\r\n this.sessionStorageService.addToList(PRESTACLOSED_KEY, prestaId);\r\n } else {\r\n this.sessionStorageService.deleteFromList(PRESTACLOSED_KEY, prestaId);\r\n }\r\n }\r\n\r\n getPrestationsToCollapse(): number[] {\r\n return this.sessionStorageService.getObject(PRESTACLOSED_KEY);\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./prestation.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"../../shared/directives/select-all-on-focus.directive\";\nimport * as i4 from \"../../shared/directives/input-number-range.directive\";\nimport * as i5 from \"../../shared/directives/link-form-control.directive\";\nimport * as i6 from \"@angular/common\";\nimport * as i7 from \"../../shared/directives/restaurant-type-color.directive\";\nimport * as i8 from \"./prestation.component\";\nimport * as i9 from \"../services/commande-repas.service\";\nvar styles_PrestationComponent = [i0.styles];\nvar RenderType_PrestationComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_PrestationComponent, data: {} });\nexport { RenderType_PrestationComponent as RenderType_PrestationComponent };\nfunction View_PrestationComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 13, \"div\", [[\"class\", \"prestation-estimation-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"dont SP\"])), (_l()(), i1.ɵeld(3, 0, [[2, 0], [\"prestaRegimeInputRef\", 1]], null, 10, \"input\", [[\"class\", \"prestation-estimation\"], [\"selectAllOnFocus\", \"\"], [\"type\", \"number\"]], [[8, \"title\", 0], [2, \"effectif-hidden\", null], [8, \"placeholder\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"focusout\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"], [null, \"focus\"], [null, \"keyup\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 4)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 4)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 5).onChange($event.target.value) !== false);\n ad = (pd_4 && ad);\n } if ((\"input\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 5).onChange($event.target.value) !== false);\n ad = (pd_5 && ad);\n } if ((\"blur\" === en)) {\n var pd_6 = (i1.ɵnov(_v, 5).onTouched() !== false);\n ad = (pd_6 && ad);\n } if ((\"focus\" === en)) {\n var pd_7 = (i1.ɵnov(_v, 10).onFocus($event) !== false);\n ad = (pd_7 && ad);\n } if ((\"keyup\" === en)) {\n var pd_8 = (i1.ɵnov(_v, 11).onKeyUp($event) !== false);\n ad = (pd_8 && ad);\n } if ((\"focusout\" === en)) {\n var pd_9 = (_co.handlePrestaSansPorcFocusOut() !== false);\n ad = (pd_9 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(5, 16384, null, 0, i2.NumberValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i2.DefaultValueAccessor, i2.NumberValueAccessor]), i1.ɵdid(7, 540672, null, 0, i2.FormControlDirective, [[8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR], [2, i2.ɵangular_packages_forms_forms_q]], { form: [0, \"form\"] }, null), i1.ɵprd(2048, null, i2.NgControl, null, [i2.FormControlDirective]), i1.ɵdid(9, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), i1.ɵdid(10, 16384, null, 0, i3.SelectAllOnFocusDirective, [i1.ElementRef], null, null), i1.ɵdid(11, 16384, null, 0, i4.InputNumberRangeDirective, [i1.ElementRef], { inputNumberRange: [0, \"inputNumberRange\"] }, null), i1.ɵpod(12, { \"fc\": 0, \"max\": 1 }), i1.ɵdid(13, 16384, [[3, 4]], 0, i5.LinkFormControlDirective, [i1.ElementRef], { linkFormControl: [0, \"linkFormControl\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_10 = _co.simplePrestaFormGroup.effectifSansPorcQuantiteControl; _ck(_v, 7, 0, currVal_10); var currVal_11 = _ck(_v, 12, 0, _co.simplePrestaFormGroup.effectifSansPorcQuantiteControl, _co.inputMaxValue); _ck(_v, 11, 0, currVal_11); var currVal_12 = _co.simplePrestaFormGroup.effectifSansPorcQuantiteControl; _ck(_v, 13, 0, currVal_12); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.effectifSansPorcQuantiteControlError; var currVal_1 = !_co.isCurrent; var currVal_2 = _co.simplePrestaFormGroup.effectifSansPorcQuantitePreco; var currVal_3 = i1.ɵnov(_v, 9).ngClassUntouched; var currVal_4 = i1.ɵnov(_v, 9).ngClassTouched; var currVal_5 = i1.ɵnov(_v, 9).ngClassPristine; var currVal_6 = i1.ɵnov(_v, 9).ngClassDirty; var currVal_7 = i1.ɵnov(_v, 9).ngClassValid; var currVal_8 = i1.ɵnov(_v, 9).ngClassInvalid; var currVal_9 = i1.ɵnov(_v, 9).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9); }); }\nfunction View_PrestationComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"div\", [[\"class\", \"close-button\"]], null, null, null, null, null))], null, null); }\nfunction View_PrestationComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 10, \"div\", [[\"class\", \"prestation-estimation-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"div\", [[\"class\", \"close-zone\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.applyZeroPortions(_v.parent.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PrestationComponent_4)), i1.ɵdid(3, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(4, 0, null, null, 6, \"input\", [[\"class\", \"prestation-estimation-familleplat\"], [\"readonly\", \"readonly\"], [\"tabindex\", \"-1\"], [\"type\", \"number\"]], [[2, \"effectif-hidden\", null], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 5)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 5).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 5)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 5)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 6).onChange($event.target.value) !== false);\n ad = (pd_4 && ad);\n } if ((\"input\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 6).onChange($event.target.value) !== false);\n ad = (pd_5 && ad);\n } if ((\"blur\" === en)) {\n var pd_6 = (i1.ɵnov(_v, 6).onTouched() !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(5, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(6, 16384, null, 0, i2.NumberValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i2.DefaultValueAccessor, i2.NumberValueAccessor]), i1.ɵdid(8, 540672, null, 0, i2.FormControlDirective, [[8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR], [2, i2.ɵangular_packages_forms_forms_q]], { form: [0, \"form\"] }, null), i1.ɵprd(2048, null, i2.NgControl, null, [i2.FormControlDirective]), i1.ɵdid(10, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null)], function (_ck, _v) { var currVal_0 = _v.parent.context.$implicit.autoriserEffectifZero; _ck(_v, 3, 0, currVal_0); var currVal_9 = _v.parent.context.$implicit.famillePlatQuantiteControl; _ck(_v, 8, 0, currVal_9); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = !_co.isCurrent; var currVal_2 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_3 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_4 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_5 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_6 = i1.ɵnov(_v, 10).ngClassValid; var currVal_7 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_8 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 4, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8); }); }\nfunction View_PrestationComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 10, \"span\", [[\"class\", \"percentage\"], [\"tabindex\", \"-1\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 9, \"input\", [[\"class\", \"prestation-estimation\"], [\"selectAllOnFocus\", \"\"], [\"type\", \"number\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"blur\"], [null, \"input\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"], [null, \"focus\"], [null, \"keyup\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 2)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 2).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 2)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 2)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 3).onChange($event.target.value) !== false);\n ad = (pd_4 && ad);\n } if ((\"input\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 3).onChange($event.target.value) !== false);\n ad = (pd_5 && ad);\n } if ((\"blur\" === en)) {\n var pd_6 = (i1.ɵnov(_v, 3).onTouched() !== false);\n ad = (pd_6 && ad);\n } if ((\"focus\" === en)) {\n var pd_7 = (i1.ɵnov(_v, 8).onFocus($event) !== false);\n ad = (pd_7 && ad);\n } if ((\"keyup\" === en)) {\n var pd_8 = (i1.ɵnov(_v, 9).onKeyUp($event) !== false);\n ad = (pd_8 && ad);\n } if ((\"blur\" === en)) {\n var pd_9 = (_co.handlePortionPercentageFocusOut(_v.parent.parent.context.$implicit) !== false);\n ad = (pd_9 && ad);\n } return ad; }, null, null)), i1.ɵdid(2, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(3, 16384, null, 0, i2.NumberValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i2.DefaultValueAccessor, i2.NumberValueAccessor]), i1.ɵdid(5, 540672, null, 0, i2.FormControlDirective, [[8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR], [2, i2.ɵangular_packages_forms_forms_q]], { form: [0, \"form\"] }, null), i1.ɵprd(2048, null, i2.NgControl, null, [i2.FormControlDirective]), i1.ɵdid(7, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), i1.ɵdid(8, 16384, null, 0, i3.SelectAllOnFocusDirective, [i1.ElementRef], null, null), i1.ɵdid(9, 16384, null, 0, i4.InputNumberRangeDirective, [i1.ElementRef], { inputNumberRange: [0, \"inputNumberRange\"] }, null), i1.ɵpod(10, { \"fc\": 0, \"max\": 1 })], function (_ck, _v) { var currVal_7 = _v.parent.parent.context.$implicit.effectifPortionPourcentageControl; _ck(_v, 5, 0, currVal_7); var currVal_8 = _ck(_v, 10, 0, _v.parent.parent.context.$implicit.effectifPortionPourcentageControl, 100); _ck(_v, 9, 0, currVal_8); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 7).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 7).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 7).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 7).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 7).ngClassValid; var currVal_5 = i1.ɵnov(_v, 7).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 7).ngClassPending; _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_PrestationComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 13, \"div\", [[\"class\", \"prestation-estimation-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PrestationComponent_7)), i1.ɵdid(2, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 10, \"input\", [[\"class\", \"prestation-estimation\"], [\"selectAllOnFocus\", \"\"], [\"type\", \"number\"]], [[2, \"effectif-hidden\", null], [8, \"placeholder\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"blur\"], [null, \"input\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"], [null, \"focus\"], [null, \"keyup\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 4)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 4)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 5).onChange($event.target.value) !== false);\n ad = (pd_4 && ad);\n } if ((\"input\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 5).onChange($event.target.value) !== false);\n ad = (pd_5 && ad);\n } if ((\"blur\" === en)) {\n var pd_6 = (i1.ɵnov(_v, 5).onTouched() !== false);\n ad = (pd_6 && ad);\n } if ((\"focus\" === en)) {\n var pd_7 = (i1.ɵnov(_v, 10).onFocus($event) !== false);\n ad = (pd_7 && ad);\n } if ((\"keyup\" === en)) {\n var pd_8 = (i1.ɵnov(_v, 11).onKeyUp($event) !== false);\n ad = (pd_8 && ad);\n } if ((\"blur\" === en)) {\n var pd_9 = (_co.handlePortionFocusOut(_v.parent.context.$implicit) !== false);\n ad = (pd_9 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(5, 16384, null, 0, i2.NumberValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i2.DefaultValueAccessor, i2.NumberValueAccessor]), i1.ɵdid(7, 540672, null, 0, i2.FormControlDirective, [[8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR], [2, i2.ɵangular_packages_forms_forms_q]], { form: [0, \"form\"] }, null), i1.ɵprd(2048, null, i2.NgControl, null, [i2.FormControlDirective]), i1.ɵdid(9, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), i1.ɵdid(10, 16384, null, 0, i3.SelectAllOnFocusDirective, [i1.ElementRef], null, null), i1.ɵdid(11, 16384, null, 0, i4.InputNumberRangeDirective, [i1.ElementRef], { inputNumberRange: [0, \"inputNumberRange\"] }, null), i1.ɵpod(12, { \"fc\": 0, \"max\": 1 }), i1.ɵdid(13, 16384, [[3, 4]], 0, i5.LinkFormControlDirective, [i1.ElementRef], { linkFormControl: [0, \"linkFormControl\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.prestation.autoriserSaisieTauxPrise; _ck(_v, 2, 0, currVal_0); var currVal_10 = _v.parent.context.$implicit.effectifPortionQuantiteControl; _ck(_v, 7, 0, currVal_10); var currVal_11 = _ck(_v, 12, 0, _v.parent.context.$implicit.effectifPortionQuantiteControl, _co.inputMaxValue); _ck(_v, 11, 0, currVal_11); var currVal_12 = _v.parent.context.$implicit.effectifPortionQuantiteControl; _ck(_v, 13, 0, currVal_12); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = !_co.isCurrent; var currVal_2 = _v.parent.context.$implicit.effectifPortionQuantitePreco; var currVal_3 = i1.ɵnov(_v, 9).ngClassUntouched; var currVal_4 = i1.ɵnov(_v, 9).ngClassTouched; var currVal_5 = i1.ɵnov(_v, 9).ngClassPristine; var currVal_6 = i1.ɵnov(_v, 9).ngClassDirty; var currVal_7 = i1.ɵnov(_v, 9).ngClassValid; var currVal_8 = i1.ɵnov(_v, 9).ngClassInvalid; var currVal_9 = i1.ɵnov(_v, 9).ngClassPending; _ck(_v, 3, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9); }); }\nfunction View_PrestationComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"div\", [[\"class\", \"prestation-portion\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 1).onReset() !== false);\n ad = (pd_1 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 540672, null, 0, i2.FormGroupDirective, [[8, null], [8, null]], { form: [0, \"form\"] }, null), i1.ɵprd(2048, null, i2.ControlContainer, null, [i2.FormGroupDirective]), i1.ɵdid(3, 16384, null, 0, i2.NgControlStatusGroup, [[4, i2.ControlContainer]], null, null), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"class\", \"prestation-row-span\"], [\"tabindex\", \"-1\"]], [[8, \"title\", 0]], null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PrestationComponent_6)), i1.ɵdid(7, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = _v.context.$implicit; _ck(_v, 1, 0, currVal_7); var currVal_10 = !_co.isModeStandard; _ck(_v, 7, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 3).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 3).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 3).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 3).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 3).ngClassValid; var currVal_5 = i1.ɵnov(_v, 3).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 3).ngClassPending; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_8 = i1.ɵinlineInterpolate(1, \"\", _v.context.$implicit.tooltip, \"\"); _ck(_v, 4, 0, currVal_8); var currVal_9 = _v.context.$implicit.platName; _ck(_v, 5, 0, currVal_9); }); }\nfunction View_PrestationComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"div\", [[\"class\", \"famille-plat\"]], [[1, \"data-order\", 0]], null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 4, \"div\", [[\"class\", \"header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"span\", [[\"class\", \"prestation-row-span\"]], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PrestationComponent_3)), i1.ɵdid(5, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PrestationComponent_5)), i1.ɵdid(7, 278528, null, 0, i6.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_2 = !_co.isModeStandard; _ck(_v, 5, 0, currVal_2); var currVal_3 = _v.context.$implicit.portionsControls; _ck(_v, 7, 0, currVal_3); }, function (_ck, _v) { var currVal_0 = _v.context.$implicit.ordre; _ck(_v, 0, 0, currVal_0); var currVal_1 = _v.context.$implicit.famillePlatName; _ck(_v, 3, 0, currVal_1); }); }\nexport function View_PrestationComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { prestaInputRef: 0 }), i1.ɵqud(671088640, 2, { prestaRegimeInputRef: 0 }), i1.ɵqud(671088640, 3, { linkFormControls: 1 }), (_l()(), i1.ɵeld(3, 0, null, null, 28, \"div\", [], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onReset() !== false);\n ad = (pd_1 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 540672, null, 0, i2.FormGroupDirective, [[8, null], [8, null]], { form: [0, \"form\"] }, null), i1.ɵprd(2048, null, i2.ControlContainer, null, [i2.FormGroupDirective]), i1.ɵdid(6, 16384, null, 0, i2.NgControlStatusGroup, [[4, i2.ControlContainer]], null, null), (_l()(), i1.ɵeld(7, 0, null, null, 21, \"div\", [[\"class\", \"prestation-header pointerHover\"]], null, null, null, null, null)), i1.ɵdid(8, 16384, null, 0, i7.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(9, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(10, 0, null, null, 3, \"div\", [[\"class\", \"nowrap header-libelle\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.toggle() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 0, \"span\", [[\"class\", \"prestation-row-span chevron\"]], [[2, \"down\", null]], null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"span\", [[\"class\", \"prestation-row-span\"]], [[8, \"title\", 0]], null, null, null, null)), (_l()(), i1.ɵted(13, null, [\"\", \"\"])), (_l()(), i1.ɵeld(14, 0, null, null, 14, \"div\", [[\"class\", \"prestation-estimation-container-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 11, \"div\", [[\"class\", \"prestation-estimation-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(16, 0, [[1, 0], [\"prestaInput\", 1]], null, 10, \"input\", [[\"class\", \"prestation-estimation\"], [\"selectAllOnFocus\", \"\"], [\"type\", \"number\"]], [[8, \"title\", 0], [2, \"effectif-hidden\", null], [8, \"placeholder\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"blur\"], [null, \"input\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"], [null, \"focus\"], [null, \"keyup\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 17)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 17).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 17)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 17)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 18).onChange($event.target.value) !== false);\n ad = (pd_4 && ad);\n } if ((\"input\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 18).onChange($event.target.value) !== false);\n ad = (pd_5 && ad);\n } if ((\"blur\" === en)) {\n var pd_6 = (i1.ɵnov(_v, 18).onTouched() !== false);\n ad = (pd_6 && ad);\n } if ((\"focus\" === en)) {\n var pd_7 = (i1.ɵnov(_v, 23).onFocus($event) !== false);\n ad = (pd_7 && ad);\n } if ((\"keyup\" === en)) {\n var pd_8 = (i1.ɵnov(_v, 24).onKeyUp($event) !== false);\n ad = (pd_8 && ad);\n } if ((\"blur\" === en)) {\n var pd_9 = (_co.handlePrestaFocusOut() !== false);\n ad = (pd_9 && ad);\n } return ad; }, null, null)), i1.ɵdid(17, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(18, 16384, null, 0, i2.NumberValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i2.DefaultValueAccessor, i2.NumberValueAccessor]), i1.ɵdid(20, 540672, null, 0, i2.FormControlDirective, [[8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR], [2, i2.ɵangular_packages_forms_forms_q]], { form: [0, \"form\"] }, null), i1.ɵprd(2048, null, i2.NgControl, null, [i2.FormControlDirective]), i1.ɵdid(22, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), i1.ɵdid(23, 16384, null, 0, i3.SelectAllOnFocusDirective, [i1.ElementRef], null, null), i1.ɵdid(24, 16384, null, 0, i4.InputNumberRangeDirective, [i1.ElementRef], { inputNumberRange: [0, \"inputNumberRange\"] }, null), i1.ɵpod(25, { \"fc\": 0, \"max\": 1 }), i1.ɵdid(26, 16384, [[3, 4]], 0, i5.LinkFormControlDirective, [i1.ElementRef], { linkFormControl: [0, \"linkFormControl\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PrestationComponent_1)), i1.ɵdid(28, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(29, 0, null, null, 2, \"div\", [[\"class\", \"collapsable\"]], [[2, \"collapsed\", null]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PrestationComponent_2)), i1.ɵdid(31, 278528, null, 0, i6.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.simplePrestaFormGroup; _ck(_v, 4, 0, currVal_7); var currVal_8 = _ck(_v, 9, 0, _co.currentType, true); _ck(_v, 8, 0, currVal_8); var currVal_22 = _co.simplePrestaFormGroup.effectifQuantiteControl; _ck(_v, 20, 0, currVal_22); var currVal_23 = _ck(_v, 25, 0, _co.simplePrestaFormGroup.effectifQuantiteControl, _co.inputMaxValue); _ck(_v, 24, 0, currVal_23); var currVal_24 = _co.simplePrestaFormGroup.effectifQuantiteControl; _ck(_v, 26, 0, currVal_24); var currVal_25 = _co.hasRegime; _ck(_v, 28, 0, currVal_25); var currVal_27 = _co.simplePrestaFormGroup.famillePlatsControls; _ck(_v, 31, 0, currVal_27); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 6).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 6).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 6).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 6).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 6).ngClassValid; var currVal_5 = i1.ɵnov(_v, 6).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 6).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_9 = _co.prestation.isCollapsed; _ck(_v, 11, 0, currVal_9); var currVal_10 = _co.prestation.prestationTooltipInfo; _ck(_v, 12, 0, currVal_10); var currVal_11 = _co.prestation.prestation; _ck(_v, 13, 0, currVal_11); var currVal_12 = _co.effectifQuantiteControlError; var currVal_13 = !_co.isCurrent; var currVal_14 = _co.simplePrestaFormGroup.effectifQuantitePreco; var currVal_15 = i1.ɵnov(_v, 22).ngClassUntouched; var currVal_16 = i1.ɵnov(_v, 22).ngClassTouched; var currVal_17 = i1.ɵnov(_v, 22).ngClassPristine; var currVal_18 = i1.ɵnov(_v, 22).ngClassDirty; var currVal_19 = i1.ɵnov(_v, 22).ngClassValid; var currVal_20 = i1.ɵnov(_v, 22).ngClassInvalid; var currVal_21 = i1.ɵnov(_v, 22).ngClassPending; _ck(_v, 16, 0, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17, currVal_18, currVal_19, currVal_20, currVal_21); var currVal_26 = _co.prestation.isCollapsed; _ck(_v, 29, 0, currVal_26); }); }\nexport function View_PrestationComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-prestation\", [], null, null, null, View_PrestationComponent_0, RenderType_PrestationComponent)), i1.ɵdid(1, 114688, null, 0, i8.PrestationComponent, [i2.FormBuilder, i9.CommandeRepasService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar PrestationComponentNgFactory = i1.ɵccf(\"app-prestation\", i8.PrestationComponent, View_PrestationComponent_Host_0, { currentType: \"currentType\", prestation: \"prestation\", jour: \"jour\", isCurrent: \"isCurrent\" }, { prestaToggle: \"prestaToggle\", onIsDirtyChange: \"onIsDirtyChange\" }, []);\nexport { PrestationComponentNgFactory as PrestationComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%], .famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%], .nowrap[_ngcontent-%COMP%], .prestation-header[_ngcontent-%COMP%], .prestation-row[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapsable[_ngcontent-%COMP%]{max-height:initial;transition:all .6s ease-in-out;visibility:visible;opacity:1;overflow:hidden}.collapsable.collapsed[_ngcontent-%COMP%]{max-height:0!important;height:0}.prestation-header[_ngcontent-%COMP%] .header-libelle[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;width:100%;color:#fff;-ms-flex-align:center;align-items:center}.prestation-header[_ngcontent-%COMP%] .header-libelle[_ngcontent-%COMP%] .chevron[_ngcontent-%COMP%]{width:5px;height:5px;border-top:1px solid #fff;border-right:1px solid #fff;-ms-transform:rotate(-45deg);transform:rotate(-45deg);transition:.7s ease-in-out;display:block}.prestation-header[_ngcontent-%COMP%] .header-libelle[_ngcontent-%COMP%] .chevron.down[_ngcontent-%COMP%]{-ms-transform:rotate(135deg);transform:rotate(135deg)}.prestation-header[_ngcontent-%COMP%] .header-libelle[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-transform:uppercase;font-weight:600;height:100%;line-height:35px;margin-left:10px}@media only screen and (min-width:768px){.prestation-header[_ngcontent-%COMP%]{height:35px}.prestation-header[_ngcontent-%COMP%] .header-libelle[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:16px;margin-left:5px;line-height:35px}}.prestation-base[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .prestation-estimation[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .prestation-estimation-familleplat[_ngcontent-%COMP%]{width:36px;border:1px solid #7b7979;border-radius:11px;height:15px;text-align:center;font-size:15px;font-weight:600}.prestation-base.effectif-hidden[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .effectif-hidden.prestation-estimation[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .effectif-hidden.prestation-estimation-familleplat[_ngcontent-%COMP%]{visibility:hidden;transition:visibility .7s ease-in}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%], .famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%], .prestation-header[_ngcontent-%COMP%], .prestation-row[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;height:35px;padding-left:20px}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%], .famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%], .prestation-header[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%], .prestation-row[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%]{overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:16px}@media only screen and (min-width:768px){.prestation-base.effectif-hidden[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .effectif-hidden.prestation-estimation[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .effectif-hidden.prestation-estimation-familleplat[_ngcontent-%COMP%]{visibility:visible}.prestation-base[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .prestation-estimation[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .prestation-estimation-familleplat[_ngcontent-%COMP%]{padding-bottom:2px;margin-right:0}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%], .famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%], .prestation-header[_ngcontent-%COMP%], .prestation-row[_ngcontent-%COMP%]{height:35px;padding-left:10px}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%], .famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%], .prestation-header[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%], .prestation-row[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%]{line-height:35px}}.prestation-estimation-container[_ngcontent-%COMP%]{text-align:center;float:right;margin-right:20px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.prestation-estimation-container[_ngcontent-%COMP%] .prestation-estimation-familleplat[_ngcontent-%COMP%]{border:none;border-radius:0;background:0 0}.prestation-estimation-container[_ngcontent-%COMP%] input.prestation-estimation[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] input.prestation-estimation-familleplat[_ngcontent-%COMP%]{font-family:Arial;font-weight:400}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{background-color:#dcdcdc}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-weight:600;color:#000;height:100%;line-height:35px}@media only screen and (min-width:768px){.prestation-estimation-container[_ngcontent-%COMP%]{width:auto;margin-right:10px}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{line-height:35px}}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%]{margin-right:-16px}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%]:hover{cursor:pointer}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%]:hover .close-button[_ngcontent-%COMP%]{opacity:1}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{margin:16px;width:18px;height:18px;opacity:.4;position:relative}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]:after, .famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]:before{position:absolute;left:9px;content:\\\" \\\";height:18px;width:2px;background-color:#333}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]:before{-ms-transform:rotate(45deg);transform:rotate(45deg)}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]:after{-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%]{border:none;border-bottom:1px solid #c7c7c7}.famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%] > .prestation-row-span[_ngcontent-%COMP%]{-ms-flex-positive:1;flex-grow:1}.famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%] > .prestation-estimation-container[_ngcontent-%COMP%]{-ms-flex-negative:0;flex-shrink:0}[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .prestation-header[_ngcontent-%COMP%]{height:52px}[_nghost-%COMP%] .prestation-estimation-container-header[_ngcontent-%COMP%]{padding:2px 0}[_nghost-%COMP%] .prestation-estimation-container-header[_ngcontent-%COMP%] .prestation-estimation-container[_ngcontent-%COMP%]{padding:2px 0}[_nghost-%COMP%] .prestation-estimation-container-header[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{color:#fff;font-size:14px}[_nghost-%COMP%] .percentage[_ngcontent-%COMP%]{position:relative;padding-right:3px}[_nghost-%COMP%] .percentage[_ngcontent-%COMP%]:after{position:absolute;top:3px;content:\\\"%\\\";right:8px;font-size:12px}[_nghost-%COMP%] .percentage[_ngcontent-%COMP%] .prestation-estimation[_ngcontent-%COMP%]{width:25px!important;text-align:right;padding-right:13px}[_nghost-%COMP%] input.ng-invalid[_ngcontent-%COMP%]:not(.prestation-disabled){color:red!important;border-color:red!important}[_nghost-%COMP%] .disabledField[_ngcontent-%COMP%], [_nghost-%COMP%] .prestation-estimation-container-header[_ngcontent-%COMP%] .prestation-estimation-container[_ngcontent-%COMP%] input.prestation-estimation.prestation-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .prestation-estimation-container-header[_ngcontent-%COMP%] .prestation-estimation-container[_ngcontent-%COMP%] input.prestation-estimation[_ngcontent-%COMP%]:disabled{background:#c7c7c7;color:#888;-webkit-text-fill-color:#888;-webkit-opacity:1;border-color:#bbb!important}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n \r\n {{prestation.prestation}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{famillePlatControl.famillePlatName}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {{portion.platName}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { PeriodeContratTypeEnum, PeriodeModel } from '../../repas/models/commande-repas.model';\r\nimport { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\r\n\r\n@Directive({ selector: '[jourType]' })\r\nexport class RepasJourVignetteDirective {\r\n\r\n type: PeriodeContratTypeEnum = undefined;\r\n constructor(public el: ElementRef, public renderer: Renderer2) {\r\n }\r\n\r\n apply() {\r\n let cls = \"type-\";\r\n\r\n switch (this.type) {\r\n case PeriodeContratTypeEnum.Commande:\r\n cls = `${cls}commande`;\r\n break;\r\n case PeriodeContratTypeEnum.Reajustement:\r\n cls = `${cls}reajustement`;\r\n break;\r\n case PeriodeContratTypeEnum.HorsPeriode:\r\n cls = `${cls}horsperiode`;\r\n break;\r\n case PeriodeContratTypeEnum.Precommande:\r\n cls = `${cls}preco`;\r\n break;\r\n case PeriodeContratTypeEnum.Reel:\r\n cls = `${cls}reel`;\r\n break;\r\n default:\r\n cls = \"\";\r\n break;\r\n }\r\n\r\n if (cls !== \"\")\r\n this.renderer.addClass(this.el.nativeElement, cls);\r\n }\r\n\r\n @Input()\r\n set jourType(periode: PeriodeModel) {\r\n if (periode) {\r\n this.type = periode.type;\r\n this.apply();\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, ElementRef, EventEmitter, HostListener, Input, Renderer2 } from \"@angular/core\";\r\nimport { debounceTime } from 'rxjs/operators';\r\n\r\n@Directive({ selector: '[translateSlider]' })\r\nexport class TranslateSliderDirective {\r\n\r\n // Emitter to avoid spam renderer through window.resize event\r\n private translateEmitter: EventEmitter;\r\n private index: number;\r\n private width: number;\r\n constructor(public el: ElementRef, public renderer: Renderer2) {\r\n this.width = window.innerWidth;\r\n this.translateEmitter = new EventEmitter();\r\n this.translateEmitter\r\n .pipe(debounceTime(500))\r\n .subscribe(() => {\r\n this.setTranslate();\r\n });\r\n }\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize(event) {\r\n this.width = event.target.innerWidth;\r\n this.translateEmitter.next();\r\n }\r\n\r\n @Input()\r\n set translateSlider(index: number) {\r\n if (index == undefined) {\r\n index = 0;\r\n }\r\n else {\r\n this.index = index;\r\n }\r\n this.setTranslate();\r\n }\r\n\r\n setTranslate() {\r\n if (this.width <= 768) {\r\n const translateX = `translateX(${this.index * -100}vw)`;\r\n this.renderer.setStyle(this.el.nativeElement, \"transform\", translateX);\r\n }\r\n else if (this.width > 768) {\r\n this.renderer.setStyle(this.el.nativeElement, \"transform\", \"none\");\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, Renderer2 } from \"@angular/core\";\r\n\r\n@Directive({ selector: '[translateYSlider]' })\r\nexport class TranslateYSliderDirective {\r\n\r\n constructor(private renderer: Renderer2, private el: ElementRef) {\r\n }\r\n\r\n @Input()\r\n set translateYSlider(index: number) {\r\n const translateY = `translateY(${index * -70}px)`;\r\n this.renderer.setStyle(this.el.nativeElement, \"transform\", translateY);\r\n }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, Output } from '@angular/core';\r\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\nimport { BaseJourModel } from '../shared/models/base-jour.model';\r\nimport { SemaineModel } from '../shared/models/semaine.model';\r\n\r\n@Component({\r\n selector: 'app-date-selector',\r\n templateUrl: './date-selector.component.html',\r\n styleUrls: ['./date-selector.component.scss']\r\n})\r\n\r\n\r\nexport class DateSelectorComponent {\r\n @Input()\r\n isSwipeNextAllowed: boolean;\r\n @Input()\r\n isSwipePrevAllowed: boolean;\r\n @Input()\r\n dateRanges: SemaineModel[];\r\n @Input()\r\n selectedRange: SemaineModel;\r\n\r\n previewClick: EventEmitter = new EventEmitter();\r\n nextClick: EventEmitter = new EventEmitter();\r\n\r\n _selectedJour: BaseJourModel;\r\n @Input()\r\n set selectedJour(val: BaseJourModel) {\r\n this._selectedJour = val;\r\n this.selectedJourChange.emit(this._selectedJour);\r\n }\r\n\r\n get selectedJour(): BaseJourModel {\r\n return this._selectedJour;\r\n }\r\n\r\n @Input()\r\n currentType: RestaurantTypeEnum;\r\n\r\n @Output()\r\n selectedJourChange: EventEmitter = new EventEmitter();\r\n constructor(private el: ElementRef) { }\r\n\r\n onNextClick() {\r\n if (!this.isSwipeNextAllowed) {\r\n return;\r\n }\r\n this.nextClick.emit();\r\n }\r\n\r\n onPrevClick() {\r\n if (!this.isSwipePrevAllowed) {\r\n return;\r\n }\r\n this.previewClick.emit();\r\n }\r\n\r\n onJourClick(jourModel: BaseJourModel) {\r\n this.selectedJour = jourModel;\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./date-selector.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i4 from \"../shared/directives/repas-jour-vignette.directive\";\nimport * as i5 from \"../shared/directives/translateY-slider.directive\";\nimport * as i6 from \"./date-selector.component\";\nvar styles_DateSelectorComponent = [i0.styles];\nvar RenderType_DateSelectorComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_DateSelectorComponent, data: {} });\nexport { RenderType_DateSelectorComponent as RenderType_DateSelectorComponent };\nfunction View_DateSelectorComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"range-libelle\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.selectedRange.libelle; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_DateSelectorComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"img\", [[\"class\", \"invalid\"], [\"src\", \"/assets/images/repas/warning.png\"]], null, null, null, null, null))], null, null); }\nfunction View_DateSelectorComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"img\", [[\"class\", \"invalid\"], [\"src\", \"/assets/images/repas/warning-white.png\"]], null, null, null, null, null))], null, null); }\nfunction View_DateSelectorComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"span\", [[\"class\", \"invalid-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DateSelectorComponent_6)), i1.ɵdid(2, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DateSelectorComponent_7)), i1.ɵdid(4, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (_v.parent.context.$implicit != _co.selectedJour); _ck(_v, 2, 0, currVal_0); var currVal_1 = (_v.parent.context.$implicit == _co.selectedJour); _ck(_v, 4, 0, currVal_1); }, null); }\nfunction View_DateSelectorComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"img\", [[\"class\", \"has-piquenique\"], [\"src\", \"/assets/images/repas/piquenique.png\"]], null, null, null, null, null))], null, null); }\nfunction View_DateSelectorComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"img\", [[\"class\", \"has-piquenique\"], [\"src\", \"/assets/images/repas/piquenique-white.png\"]], null, null, null, null, null))], null, null); }\nfunction View_DateSelectorComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"span\", [[\"class\", \"has-piquenique-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DateSelectorComponent_9)), i1.ɵdid(2, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DateSelectorComponent_10)), i1.ɵdid(4, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (_v.parent.context.$implicit != _co.selectedJour); _ck(_v, 2, 0, currVal_0); var currVal_1 = (_v.parent.context.$implicit == _co.selectedJour); _ck(_v, 4, 0, currVal_1); }, null); }\nfunction View_DateSelectorComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 15, \"div\", [[\"class\", \"jour\"]], [[2, \"selected\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onJourClick(_v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"background\": 1, \"border\": 2 }), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"div\", [[\"class\", \"jour-type\"]], null, null, null, null, null)), i1.ɵdid(4, 16384, null, 0, i4.RepasJourVignetteDirective, [i1.ElementRef, i1.Renderer2], { jourType: [0, \"jourType\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 6, \"div\", [[\"class\", \"dayString-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DateSelectorComponent_5)), i1.ɵdid(7, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"div\", [[\"class\", \"rangeDayString\"]], null, null, null, null, null)), (_l()(), i1.ɵted(9, null, [\" \", \" \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DateSelectorComponent_8)), i1.ɵdid(11, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"div\", [[\"class\", \"rangeDay\"]], null, null, null, null, null)), (_l()(), i1.ɵted(13, null, [\" \", \" \"])), (_l()(), i1.ɵeld(14, 0, null, null, 1, \"div\", [[\"class\", \"rangeMonth\"]], null, null, null, null, null)), (_l()(), i1.ɵted(15, null, [\" \", \" \"]))], function (_ck, _v) { var _co = _v.component; var currVal_1 = _ck(_v, 2, 0, _co.currentType, (_v.context.$implicit == _co.selectedJour), true); _ck(_v, 1, 0, currVal_1); var currVal_2 = _v.context.$implicit.periode; _ck(_v, 4, 0, currVal_2); var currVal_3 = _v.context.$implicit.hasError; _ck(_v, 7, 0, currVal_3); var currVal_5 = ((_v.context.$implicit.quantitePiqueNique != null) && (_v.context.$implicit.quantitePiqueNique > 0)); _ck(_v, 11, 0, currVal_5); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_v.context.$implicit == _co.selectedJour); _ck(_v, 0, 0, currVal_0); var currVal_4 = _v.context.$implicit.dayShortString; _ck(_v, 9, 0, currVal_4); var currVal_6 = _v.context.$implicit.day; _ck(_v, 13, 0, currVal_6); var currVal_7 = _v.context.$implicit.monthShort; _ck(_v, 15, 0, currVal_7); }); }\nfunction View_DateSelectorComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"range\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DateSelectorComponent_3)), i1.ɵdid(2, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DateSelectorComponent_4)), i1.ɵdid(4, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var currVal_0 = (_v.context.$implicit.validJours.length == 0); _ck(_v, 2, 0, currVal_0); var currVal_1 = _v.context.$implicit.validJours; _ck(_v, 4, 0, currVal_1); }, null); }\nfunction View_DateSelectorComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"div\", [[\"class\", \"date-container\"]], null, null, null, null, null)), i1.ɵdid(1, 16384, null, 0, i5.TranslateYSliderDirective, [i1.Renderer2, i1.ElementRef], { translateYSlider: [0, \"translateYSlider\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DateSelectorComponent_2)), i1.ɵdid(3, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.dateRanges.indexOf(_co.selectedRange); _ck(_v, 1, 0, currVal_0); var currVal_1 = _co.dateRanges; _ck(_v, 3, 0, currVal_1); }, null); }\nexport function View_DateSelectorComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"div\", [[\"class\", \"date-selector\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"div\", [[\"class\", \"button-prev\"]], [[2, \"disabled\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onPrevClick() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 0, \"div\", [[\"class\", \"arrow\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"div\", [[\"class\", \"container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DateSelectorComponent_1)), i1.ɵdid(5, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"div\", [[\"class\", \"button-next\"]], [[2, \"disabled\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onNextClick() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 0, \"div\", [[\"class\", \"arrow\"]], null, null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.selectedRange; _ck(_v, 5, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isSwipePrevAllowed; _ck(_v, 1, 0, currVal_0); var currVal_2 = !_co.isSwipeNextAllowed; _ck(_v, 6, 0, currVal_2); }); }\nexport function View_DateSelectorComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-date-selector\", [], null, null, null, View_DateSelectorComponent_0, RenderType_DateSelectorComponent)), i1.ɵdid(1, 49152, null, 0, i6.DateSelectorComponent, [i1.ElementRef], null, null)], null, null); }\nvar DateSelectorComponentNgFactory = i1.ɵccf(\"app-date-selector\", i6.DateSelectorComponent, View_DateSelectorComponent_Host_0, { isSwipeNextAllowed: \"isSwipeNextAllowed\", isSwipePrevAllowed: \"isSwipePrevAllowed\", dateRanges: \"dateRanges\", selectedRange: \"selectedRange\", selectedJour: \"selectedJour\", currentType: \"currentType\" }, { selectedJourChange: \"selectedJourChange\" }, []);\nexport { DateSelectorComponentNgFactory as DateSelectorComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{width:100%}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .button-prev[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .button-prev[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{-ms-transform:rotate(-135deg);transform:rotate(-135deg);margin:26px 0 0 10px}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .button-next[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .button-next[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{-ms-transform:rotate(45deg);transform:rotate(45deg);margin:26px 0 0 2px}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .button-next[_ngcontent-%COMP%], [_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .button-prev[_ngcontent-%COMP%]{width:34px}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .button-next[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%], [_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .button-prev[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{-ms-transform-origin:50% 50%;transform-origin:50% 50%;position:absolute;border-top:2px solid #000;border-right:2px solid #000;width:16px;height:16px}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .button-next.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .button-prev.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.35;cursor:auto}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%]{height:70px;width:100%;overflow-y:hidden;position:relative}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%]{width:100%;transition:.7s cubic-bezier(.4,0,.2,1)}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%] .range[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;height:70px;width:100%}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%] .range[_ngcontent-%COMP%] .range-libelle[_ngcontent-%COMP%]{position:absolute;width:100%;text-align:center;line-height:70px}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%] .range[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%]{-ms-flex:1 1 0%;flex:1 1 0%;border-left:1px solid;text-transform:uppercase;text-align:center;height:100%;cursor:pointer;position:relative}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%] .range[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%]:last-child{border-right:1px solid}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%] .range[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .jour-type[_ngcontent-%COMP%]{height:1px}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%] .range[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .dayString-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%] .range[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .dayString-container[_ngcontent-%COMP%] .rangeDayString[_ngcontent-%COMP%]{font-size:12px;line-height:18px;margin:0 3px}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%] .range[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .dayString-container[_ngcontent-%COMP%] .invalid-container[_ngcontent-%COMP%] .invalid[_ngcontent-%COMP%]{height:12px}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%] .range[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .dayString-container[_ngcontent-%COMP%] img.has-piquenique[_ngcontent-%COMP%]{width:18px}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%] .range[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .rangeMonth[_ngcontent-%COMP%]{font-size:14px}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%] .range[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .rangeDay[_ngcontent-%COMP%]{margin:0 0 3px;font-size:28px;line-height:25px}[_nghost-%COMP%] .date-selector[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%] .range[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]{color:#fff}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
{{selectedRange.libelle}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {{jour.dayShortString}}\r\n
\r\n 0\" class=\"has-piquenique-container\">\r\n \r\n \r\n \r\n
\r\n
\r\n {{jour.day}}\r\n
\r\n
\r\n {{jour.monthShort}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { InteractionService } from '../../services/interaction.service';\r\nimport { IPromptForNavigation } from '../../interfaces/iprompt-for-navigation';\r\nimport { RythmeContratEnum } from '../../enums/rythme-contrat.enum';\r\nimport { BaseJourModel } from '../base-jour.model';\r\nimport { LogoRouteService } from '../../services/api/logo/logo-route.service';\r\nimport { RestaurantTypeEnum } from '../../enums/restaurant-type.enum';\r\nimport { RestaurantModel } from '../restaurant.model';\r\nimport { DateSelectorComponent } from '../../../date-selector/date-selector.component';\r\nimport { DateHelper } from '../../helpers/date.helper';\r\nimport { ViewChild } from '@angular/core';\r\n\r\nimport * as moment from 'moment';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { SemaineModel } from '../semaine.model';\r\nimport { ApplicationDataService } from '../../services/application-data.service';\r\n\r\nexport abstract class BaseComponentNav implements IPromptForNavigation {\r\n abstract dateSelector: DateSelectorComponent;\r\n abstract checkIsDirty(): boolean;\r\n /** Jour Model */\r\n _selectedJour: BaseJourModel;\r\n get selectedJour(): BaseJourModel {\r\n return this._selectedJour;\r\n }\r\n set selectedJour(val: BaseJourModel) {\r\n if (val == undefined) {\r\n this._selectedJour = undefined;\r\n this.selectedDate = undefined;\r\n return;\r\n }\r\n\r\n this._selectedJour = val;\r\n this.selectedDate = val.date;\r\n }\r\n\r\n /** - Restaurant */\r\n _selectedRestaurant: RestaurantModel;\r\n get selectedRestaurant() {\r\n return this._selectedRestaurant;\r\n }\r\n set selectedRestaurant(rest: RestaurantModel) {\r\n if (rest != this._selectedRestaurant) {\r\n let oldRestaurant = this._selectedRestaurant;\r\n this._selectedRestaurant = rest;\r\n // notify app that we changed the restaurant in this view,\r\n // it will trigger the handleNewRestaurant subscription\r\n this._appDataService.changeRestaurant(rest).subscribe(canExecute => {\r\n if (!canExecute) {\r\n // L'utilisateur a refusé, on remet le contrat précédent\r\n this._selectedRestaurant = oldRestaurant;\r\n }\r\n },\r\n err => {\r\n // Une erreur est arrivée : on remet le contrat précédent\r\n this._selectedRestaurant = oldRestaurant;\r\n });\r\n }\r\n }\r\n\r\n currentType: RestaurantTypeEnum;\r\n isNoContent: boolean = false;\r\n\r\n restaurantList: RestaurantModel[];\r\n isRestaurantDisplay: boolean = true;\r\n logoContratUrl: string = '';\r\n\r\n /** - Date */\r\n selectedDate: Date;\r\n dateRanges: SemaineModel[];\r\n selectedRange: SemaineModel;\r\n isNextWeekAllowed: boolean;\r\n isPrevWeekAllowed: boolean;\r\n\r\n /** Subscriptions */\r\n restaurantSubscription: Subscription;\r\n contratSubscription: Subscription;\r\n\r\n private _appDataService: ApplicationDataService;\r\n private _logoService: LogoRouteService;\r\n private _interactionService: InteractionService;\r\n\r\n constructor(appDataService: ApplicationDataService, logoService: LogoRouteService, interactionService: InteractionService) {\r\n this._appDataService = appDataService;\r\n this._logoService = logoService;\r\n this._interactionService = interactionService;\r\n }\r\n\r\n abstract handleNewDate(date: Date);\r\n abstract handleNewRestaurant(rest: RestaurantModel)\r\n\r\n initComponent() {\r\n\r\n this.restaurantSubscription = this._appDataService.restaurant$.subscribe(\r\n rest => {\r\n if (rest != null) {\r\n this.currentType = rest.type;\r\n this._selectedRestaurant = rest;\r\n this.handleNewRestaurant(rest);\r\n }\r\n });\r\n }\r\n\r\n destroy() {\r\n this.restaurantSubscription.unsubscribe();\r\n this.contratSubscription.unsubscribe();\r\n }\r\n\r\n refreshNavigationAllowed() {\r\n const index = this.dateRanges.indexOf(this.selectedRange);\r\n this.isNextWeekAllowed = index != this.dateRanges.length - 1;\r\n this.isPrevWeekAllowed = index != 0;\r\n }\r\n\r\n handleNavigation(i: number) {\r\n if (i > 0 && !this.isNextWeekAllowed || i < 0 && !this.isPrevWeekAllowed) {\r\n return;\r\n }\r\n\r\n if (this.checkIsDirty()) {\r\n this._interactionService.showConfirmNavigationDialog().subscribe(confirm => {\r\n if (confirm) {\r\n this.handleNavigation_imp(i);\r\n }\r\n });\r\n }\r\n else {\r\n this.handleNavigation_imp(i);\r\n }\r\n };\r\n\r\n\r\n private handleNavigation_imp(i: number) {\r\n // On incrémente/décrémente sur l'index du current tout simplement\r\n // isNextWeekAllowed & isPrevWeekAllowed nous assure qu'on ne va pas dépasser les bounds\r\n // Mais on check consciencieusment\r\n let index = this.dateRanges.indexOf(this.selectedRange);\r\n let newIndex = index + i;\r\n if (index != - 1 && newIndex > 0 && newIndex < this.dateRanges.length) {\r\n\r\n this.selectedRange = this.dateRanges[newIndex];\r\n }\r\n else {\r\n this.selectedRange = this.dateRanges[0];\r\n }\r\n\r\n // On refresh déjà ici pour éviter le spam\r\n // Sera refresh avec le retour de l'API\r\n this.refreshNavigationAllowed();\r\n\r\n let now = new Date();\r\n\r\n // SI NOW est dans la semaine retournée, on le préselectionne (pour le mobile)\r\n if (DateHelper.isBetweenDates(this.selectedRange.firstDay, this.selectedRange.lastDay, now)) {\r\n this.selectedDate = now;\r\n }\r\n else {\r\n this.selectedDate = this.selectedRange.firstDay;\r\n }\r\n\r\n this.handleNewDate(this.selectedDate);\r\n }\r\n\r\n subscribeDateSelectorEvents() {\r\n this.dateSelector.nextClick.subscribe(\r\n () => {\r\n this.handleNavigation(1);\r\n });\r\n this.dateSelector.previewClick.subscribe(\r\n () => {\r\n this.handleNavigation(-1);\r\n });\r\n }\r\n\r\n /** Helpers */\r\n getRangeForDate(date: Date): SemaineModel {\r\n for (let i = 0; i < this.dateRanges.length; i++) {\r\n if (DateHelper.isBetweenDates(this.dateRanges[i].firstDay, this.dateRanges[i].lastDay, date))\r\n return this.dateRanges[i];\r\n }\r\n }\r\n\r\n areSameList(list1: any[], list2: any[], prop: string): boolean {\r\n if (!list1 || !list2) {\r\n return false;\r\n }\r\n if (list1.length != list2.length) {\r\n return false;\r\n }\r\n\r\n return list1.every(item1 => {\r\n return list2.find(l2 => l2[prop] == item1[prop]);\r\n });\r\n }\r\n}\r\n","export enum RythmeContratEnum {\r\n None = 0,\r\n QuatreSurSept = 1,\r\n CinqSurSept = 2,\r\n SeptSurSept = 3\r\n}","import * as moment from 'moment';\r\nimport { RythmeContratEnum } from '../../shared/enums/rythme-contrat.enum';\r\nimport { BaseJourModel } from '../../shared/models/base-jour.model';\r\n\r\nexport class SemaineModel {\r\n jours: BaseJourModel[];\r\n libelle: string;\r\n transmis: boolean;\r\n\r\n static getSemainesFromDates(dateMin: moment.Moment, dateMax: moment.Moment): SemaineModel[] {\r\n const array = new Array();\r\n dateMax = dateMax.startOf('day');\r\n const monday = dateMin.clone().startOf('isoWeek');\r\n const sunday = dateMin.clone().endOf('isoWeek').startOf('day');\r\n\r\n let week: SemaineModel;\r\n const i = 0;\r\n do {\r\n week = this.getRangeFromDates(monday, sunday);\r\n array.push(week);\r\n\r\n monday.add(1, 'week');\r\n sunday.add(1, 'week');\r\n }\r\n while (!this.isBetweenDates(week.firstDay, week.lastDay, dateMax.toDate()));\r\n\r\n return array;\r\n }\r\n\r\n private static getWithoutHours(date: Date): number {\r\n const newDate = moment(date).startOf('day');\r\n return newDate.valueOf();\r\n }\r\n\r\n private static isBetweenDates(dateMin: Date, dateMax: Date, dateToCheck: Date): boolean {\r\n return this.getWithoutHours(dateMin) <= this.getWithoutHours(dateToCheck)\r\n && this.getWithoutHours(dateMax) >= this.getWithoutHours(dateToCheck);\r\n }\r\n private static getRangeFromDates(monday: moment.Moment, sunday: moment.Moment): SemaineModel {\r\n const days = new Array();\r\n const day = monday.clone();\r\n while (day <= sunday) {\r\n days.push(day.clone().toDate());\r\n day.add(1, 'day');\r\n }\r\n\r\n const areSameMonth = monday.month() == sunday.month();\r\n const libelle = `Semaine du ${monday.date()}${areSameMonth ? '' : ' ' + monday.format('MMMM')} au ${sunday.date()} ${sunday.format('MMMM')}`;\r\n return new SemaineModel(days, libelle);\r\n }\r\n\r\n get validJours(): BaseJourModel[] {\r\n return this.jours.filter(j => !j.isHorsRythme && !j.hidden);\r\n }\r\n\r\n constructor(days: Date[], libelle: string, transmis: boolean = true, contratRythme: RythmeContratEnum = RythmeContratEnum.SeptSurSept) {\r\n this.jours = days.map(d => {\r\n const model = new BaseJourModel(d);\r\n model.isEmpty = true;\r\n this.refreshJourIsHorsRythme(model, contratRythme);\r\n return model;\r\n });\r\n\r\n this.transmis = transmis;\r\n this.libelle = libelle;\r\n }\r\n\r\n refreshIsHorsRythme(contratRythme: RythmeContratEnum) {\r\n this.jours.forEach(j => this.refreshJourIsHorsRythme(j, contratRythme));\r\n }\r\n\r\n private refreshJourIsHorsRythme(j: BaseJourModel, contratRythme: RythmeContratEnum) {\r\n if (contratRythme == RythmeContratEnum.SeptSurSept) {\r\n j.isHorsRythme = false;\r\n } else {\r\n // Hide week end\r\n if (j.dayOfWeek == 0 || j.dayOfWeek == 6) {\r\n j.isHorsRythme = true;\r\n } else if (contratRythme == RythmeContratEnum.QuatreSurSept && j.dayOfWeek == 3) {\r\n // hide wednesday\r\n j.isHorsRythme = true;\r\n } else {\r\n j.isHorsRythme = false;\r\n }\r\n }\r\n }\r\n\r\n get firstDay(): Date {\r\n return this.jours[0].date;\r\n }\r\n\r\n get lastDay(): Date {\r\n return this.jours[this.jours.length - 1].date;\r\n }\r\n\r\n}\r\n","\r\nimport { AfterViewChecked, AfterViewInit, Component, ElementRef, EventEmitter, OnDestroy, OnInit, QueryList, Renderer2, ViewChild, ViewChildren } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport * as moment from 'moment';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { debounceTime, finalize, first } from 'rxjs/operators';\r\nimport { DateSelectorComponent } from '../date-selector/date-selector.component';\r\nimport { DropdownComponent } from '../dropdown/dropdown.component';\r\nimport { ErrorPopupComponent } from '../popup/error-popup/error-popup.component';\r\nimport { WarningPopupComponent } from '../popup/warning-popup/warning-popup.component';\r\nimport { ReportingService } from '../reporting/services/reporting.service';\r\nimport { RythmeContratEnum } from '../shared/enums/rythme-contrat.enum';\r\nimport { DateHelper } from '../shared/helpers/date.helper';\r\nimport { FileHelper } from '../shared/helpers/file.helper';\r\nimport { FormControlHelper } from '../shared/helpers/form-control.helper';\r\nimport { ErrorApiModel } from '../shared/models/api/error/error.apimodel';\r\nimport { PostCommandeRepasWarningApiResponse } from '../shared/models/api/warning/post-commande-repas-warning.apiresponse';\r\nimport { BaseJourModel } from '../shared/models/base-jour.model';\r\nimport { BaseErrorModel, CommandeRepasErrorModel, CommandeRepasErrorTypeEnum, CommandeRepasUpdateErrorTypeEnum, FamillePlatErrorModel, PortionErrorModel, PrestationErrorModel } from '../shared/models/commande-repas-error.model';\r\nimport { BaseComponentNav } from '../shared/models/component-layout/base-component-nav';\r\nimport { FileResultModel } from '../shared/models/fileresult.model';\r\nimport { NotificationCustomModel, NotificationModel } from '../shared/models/notification.model';\r\nimport { RestaurantModel } from '../shared/models/restaurant.model';\r\nimport { SemaineModel } from '../shared/models/semaine.model';\r\nimport { LogoRouteService } from '../shared/services/api/logo/logo-route.service';\r\nimport { ApplicationDataService } from '../shared/services/application-data.service';\r\nimport { InteractionService } from '../shared/services/interaction.service';\r\nimport { LogService } from '../shared/services/log.service';\r\nimport { NavigationService } from '../shared/services/navigation.service';\r\nimport { CommandeRepasModel, ConviveModel, JourModel, LieuCommandeModel, PeriodeContratTypeEnum, PrestationModel, SemaineInfosModel } from './models/commande-repas.model';\r\nimport { PrestationComponent } from './prestation/prestation.component';\r\nimport { CommandeRepasService } from './services/commande-repas.service';\r\n\r\nconst DEBOUNCE_CMD_REPAS_MS = 1000;\r\n\r\n@Component({\r\n selector: 'app-repas',\r\n templateUrl: './repas.component.html',\r\n styleUrls: ['./repas.component.scss']\r\n})\r\nexport class RepasComponent extends BaseComponentNav implements OnInit, OnDestroy, AfterViewInit, AfterViewChecked {\r\n /** View Child */\r\n @ViewChild(DateSelectorComponent, { static: true }) dateSelector: DateSelectorComponent;\r\n @ViewChild('repasContainer', { static: false }) repasContainer: ElementRef;\r\n @ViewChild('semaineDropdown', { static: true }) semaineDropdown: DropdownComponent;\r\n\r\n @ViewChildren(PrestationComponent) prestationComponents: QueryList;\r\n /** Emitters / Subscriptions */\r\n getCommandeEmitter: EventEmitter<{ refreshList: boolean, newRest: boolean, selectNewDay: boolean }>;\r\n cmdRepasSubscription: Subscription;\r\n\r\n /** fields */\r\n isPiqueNique: boolean = false;\r\n askForNavigation: boolean;\r\n alignRequested: boolean;\r\n isLoading: boolean = true;\r\n conviveList: ConviveModel[];\r\n lieuCmdList: LieuCommandeModel[];\r\n isRestaurantDisplay: boolean = true;\r\n isLieuCommandeDisplay: boolean = true;\r\n isRegle1ButtonDisplay: boolean = false;\r\n isConviveDisplay: boolean = true;\r\n isEditInfosDisplay: boolean; true;\r\n cmdRepas: CommandeRepasModel = undefined;\r\n contratId: number;\r\n cuisineCentraleId: number;\r\n contratRythme: RythmeContratEnum;\r\n\r\n isPeriodeTooltipInfo: boolean;\r\n\r\n isMatriceDeChoixDownloading = false;\r\n isMenuDownloading = false;\r\n isSendingCommandeRepas = false;\r\n /** Props */\r\n\r\n /** - LieuCommande */\r\n _selectedLieuCommande: LieuCommandeModel = undefined;\r\n get selectedLieuCommande(): LieuCommandeModel {\r\n return this._selectedLieuCommande;\r\n }\r\n\r\n set selectedLieuCommande(newLieuCmd: LieuCommandeModel) {\r\n if (this._selectedLieuCommande == newLieuCmd) {\r\n return;\r\n }\r\n\r\n if (this.checkIsDirty()) {\r\n const oldLieuCmd = this._selectedLieuCommande;\r\n this._selectedLieuCommande = newLieuCmd;\r\n this.interactionService.showConfirmNavigationDialog().subscribe(confirm => {\r\n if (confirm) {\r\n this.handleNewLieuCommande(newLieuCmd);\r\n } else {\r\n this._selectedLieuCommande = oldLieuCmd;\r\n }\r\n });\r\n } else {\r\n this._selectedLieuCommande = newLieuCmd;\r\n this.handleNewLieuCommande(newLieuCmd);\r\n }\r\n }\r\n\r\n /** - Convives */\r\n _selectedConvive: ConviveModel = undefined;\r\n get selectedConvive(): ConviveModel {\r\n return this._selectedConvive;\r\n }\r\n set selectedConvive(newConvive: ConviveModel) {\r\n if (this._selectedConvive == newConvive) {\r\n return;\r\n }\r\n\r\n if (this.checkIsDirty()) {\r\n const oldConvive = this._selectedConvive;\r\n this._selectedConvive = newConvive;\r\n this.interactionService.showConfirmNavigationDialog().subscribe(confirm => {\r\n if (confirm) {\r\n this.handleNewConvive(newConvive);\r\n } else {\r\n this._selectedConvive = oldConvive;\r\n }\r\n });\r\n } else {\r\n\r\n this._selectedConvive = newConvive;\r\n this.handleNewConvive(newConvive);\r\n }\r\n }\r\n\r\n constructor(private appDataService: ApplicationDataService,\r\n private logService: LogService,\r\n private logoService: LogoRouteService,\r\n private commandeRepasService: CommandeRepasService,\r\n private interactionService: InteractionService,\r\n private navService: NavigationService,\r\n private reportingService: ReportingService,\r\n private renderer: Renderer2,\r\n private activatedRoute: ActivatedRoute) {\r\n super(appDataService, logoService, interactionService);\r\n }\r\n\r\n /** Start interface implementations */\r\n\r\n ngOnInit() {\r\n this.handleRoute();\r\n this.handleSubscription();\r\n\r\n super.initComponent();\r\n\r\n this.navService.registerComponent(this);\r\n }\r\n\r\n ngAfterViewInit() {\r\n super.subscribeDateSelectorEvents();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.destroy();\r\n\r\n this.navService.unregisterComponent(this);\r\n }\r\n\r\n handleRoute() {\r\n // get route params\r\n this.activatedRoute.data.pipe(first()).subscribe(data => {\r\n this.isPiqueNique = data.isPiqueNique || false;\r\n });\r\n }\r\n\r\n checkIsDirty(): boolean {\r\n if (this.prestationComponents == null) {\r\n return false;\r\n }\r\n\r\n return this.prestationComponents.some(pc => {\r\n return pc.isDirty;\r\n });\r\n }\r\n\r\n\r\n /** End interface implementations */\r\n\r\n selectedRangeChanged(dateRange: SemaineModel) {\r\n if (dateRange == this.selectedRange) {\r\n return;\r\n }\r\n\r\n if (this.checkIsDirty()) {\r\n this.interactionService.showConfirmNavigationDialog().subscribe(confirm => {\r\n if (confirm) {\r\n this.selectedRange = dateRange;\r\n this.selectedDate = dateRange.firstDay;\r\n this.handleNewDate(dateRange.firstDay);\r\n } else {\r\n // On force le refresh de la dropdown pour remettre la valeur de base comme l\"utilisateur a refusé\r\n // Il ne faut pas assigner le selectedRange puis le remettre à la valeur par défaut car cela va rafraichir la vue\r\n this.semaineDropdown.refreshCurrent(this.selectedRange);\r\n }\r\n },\r\n err => {\r\n this.semaineDropdown.refreshCurrent(this.selectedRange);\r\n });\r\n } else {\r\n this.selectedRange = dateRange;\r\n this.selectedDate = dateRange.firstDay;\r\n this.handleNewDate(dateRange.firstDay);\r\n }\r\n }\r\n\r\n handleSubscription() {\r\n // set up debouncing for commande repas\r\n this.getCommandeEmitter = new EventEmitter<{ refreshList: boolean, newRest: boolean, selectNewDay: boolean }>();\r\n this.getCommandeEmitter.pipe(\r\n debounceTime(DEBOUNCE_CMD_REPAS_MS))\r\n .subscribe((res) => {\r\n this.getCommandeRepas(res.refreshList, res.newRest, res.selectNewDay);\r\n });\r\n\r\n this.contratSubscription = this.appDataService.contrat$.subscribe(\r\n contrat => {\r\n if (contrat != null) {\r\n this.contratId = contrat.id;\r\n if (this.contratRythme != contrat.rythme) {\r\n this.contratRythme = contrat.rythme;\r\n }\r\n this.cuisineCentraleId = contrat.cuisineCentraleId;\r\n\r\n this.restaurantList = contrat.restaurants;\r\n this.isRestaurantDisplay = this.restaurantList.length > 1;\r\n this.logoContratUrl = this.logoService.GetPicture2Url(contrat.id, contrat.cuisineCentraleId);\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (this.alignRequested) {\r\n this.alignPrestations();\r\n this.alignRequested = false;\r\n }\r\n }\r\n\r\n /** Align all the famillePlat and prestation by their index (no check on content currently) */\r\n alignPrestations() {\r\n if (!this.repasContainer) {\r\n return;\r\n }\r\n\r\n // Dictionnaire qui va permettre d\"aligner les familles de plats\r\n const famillePlatsDic: { [key: string]: { fpList: { el: Element, jourIndex: number }[], maxHeight: number, prestaIndex: number, order: number } } = {};\r\n const daysArray: number[] = [];\r\n // Une liste qui va permettre d\"aligner les prestations entre elles (une fois que les familles de plats seront calculées)\r\n const prestaArray: { prestaList: Element[], maxHeight: number }[] = [];\r\n const jours = this.repasContainer.nativeElement.querySelectorAll('.jour');\r\n const joursLength = jours.length;\r\n for (let i = 0; i < joursLength; i++) {\r\n daysArray.push(i);\r\n // Pour un jour :\r\n const jour = jours[i] as Element;\r\n // 1. On récupère les prestations d\"un jour\r\n const prestas = jour.querySelectorAll('app-prestation');\r\n const prestasLength = prestas.length;\r\n for (let j = 0; j < prestasLength; j++) {\r\n // 2. On regroupe les prestations ensemble (basé sur l\"index) // Amélio : utiliser le presta ID comme clé avec un dico ?\r\n const presta = prestas[j];\r\n if (prestaArray[j]) {\r\n prestaArray[j].prestaList.push(presta);\r\n } else {\r\n // On a la liste en premier, qui va être populée, puis le maxHeight qui est égal à 0\r\n // et qui sera calculé par l\"incrément des height des familles de plat\r\n prestaArray[j] = { prestaList: [presta], maxHeight: 0 };\r\n }\r\n const famillePlats = presta.querySelectorAll('.famille-plat');\r\n const famillePlatsLength = famillePlats.length;\r\n for (let k = 0; k < famillePlatsLength; k++) {\r\n // 3. On regroupe les familles de plats ensembles avec une clé du style presta0_fp1 0 -> index presta / 1 -> ordre famille plat\r\n const famillePlat = famillePlats[k];\r\n const order: number = +famillePlat.getAttribute('data-order');\r\n const key = `presta${j}_fp${order}`;\r\n if (famillePlatsDic[key]) {\r\n const item = famillePlatsDic[key];\r\n item.fpList.push({ el: famillePlat, jourIndex: i });\r\n // 3.1. On set la maxheight à chaque fois qu\"on en trouve une plus grande pour un groupe donné\r\n if (famillePlat.clientHeight > item.maxHeight) {\r\n item.maxHeight = famillePlat.clientHeight;\r\n }\r\n } else {\r\n famillePlatsDic[key] = {\r\n fpList: [{ el: famillePlat, jourIndex: i }],\r\n maxHeight: famillePlat.clientHeight,\r\n prestaIndex: j,\r\n order\r\n };\r\n }\r\n }\r\n }\r\n }\r\n\r\n const joursMissingFpHeight: { [key: string]: { missingDay: number, missingHeight: number }[] } = {};\r\n\r\n const sortedKeys: string[] = [];\r\n\r\n for (const key in famillePlatsDic) {\r\n // Pour chaque famille plat par ordre, on set la height vis à vis du plus grand\r\n sortedKeys[sortedKeys.length] = key;\r\n }\r\n\r\n sortedKeys.sort();\r\n sortedKeys.forEach(key => {\r\n // Pour chaque famille plat par ordre, on set la height vis à vis du plus grand\r\n const fpLine = famillePlatsDic[key];\r\n const fpLength = fpLine.fpList.length;\r\n // On récupère les jours qui ne possèdent pas cette ordre\r\n const missingDays = daysArray.filter(d => {\r\n return fpLine.fpList.map(fp => fp.jourIndex).indexOf(d) < 0;\r\n });\r\n\r\n const missingKey = this.getMissingKey(fpLine.prestaIndex, fpLine.order);\r\n // Les derniers missings (pour incérmenter si il manque plusieurs FP de suite)\r\n const previousMissingFp = this.tryGetPreviousMissingFp(joursMissingFpHeight, fpLine.prestaIndex, fpLine.order);\r\n\r\n joursMissingFpHeight[missingKey] = missingDays.map(day => {\r\n let height = fpLine.maxHeight;\r\n if (previousMissingFp != null) {\r\n // On check si la FP précédente était aussi absente pour ce jour\r\n const thisDayPreviousFp = previousMissingFp.missingData.find(pmfp => {\r\n return pmfp.missingDay == day;\r\n });\r\n\r\n if (thisDayPreviousFp != null) {\r\n // Ce jour manquait déjà, donc on incrémente la height\r\n height += thisDayPreviousFp.missingHeight;\r\n // On delete l\"ancienne clé\r\n joursMissingFpHeight[previousMissingFp.key] = null;\r\n }\r\n }\r\n return { missingDay: day, missingHeight: height };\r\n });\r\n\r\n for (let i = 0; i < fpLength; i++) {\r\n const fpList = fpLine.fpList[i];\r\n this.renderer.setStyle(fpList.el, 'height', fpLine.maxHeight + 'px');\r\n if (previousMissingFp != null) {\r\n const missing = previousMissingFp.missingData.find(pmfp => pmfp.missingDay == fpList.jourIndex);\r\n if (missing != null) {\r\n this.renderer.setStyle(fpList.el, 'margin-top', missing.missingHeight + 'px');\r\n missing.missingHeight = 0;\r\n }\r\n }\r\n }\r\n\r\n // add the line maxHeight to get the presta.MaxHeight\r\n prestaArray[fpLine.prestaIndex].maxHeight += fpLine.maxHeight;\r\n });\r\n\r\n for (const prestaKey in prestaArray) {\r\n // set the presta max height\r\n const prestaLine = prestaArray[prestaKey];\r\n prestaLine.prestaList.forEach(p => {\r\n this.renderer.setStyle(p.querySelector('.collapsable'), 'max-height', prestaLine.maxHeight + 'px');\r\n this.renderer.setStyle(p.querySelector('.collapsable'), 'height', prestaLine.maxHeight + 'px');\r\n });\r\n }\r\n }\r\n\r\n tryGetPreviousMissingFp(dictionary: { [key: string]: { missingDay: number, missingHeight: number }[] }, prestaIndex: number, currentOrder: number): { missingData: { missingDay: number, missingHeight: number }[], key: string } {\r\n // Tant que supérieur à 0, on decremente et on check si on peut trouver une clé\r\n while (currentOrder > 0) {\r\n currentOrder--;\r\n const key = this.getMissingKey(prestaIndex, currentOrder);\r\n const data = dictionary[key];\r\n if (data != null) {\r\n return { missingData: data, key };\r\n }\r\n }\r\n\r\n // Rien trouvé, on renvoit null\r\n return null;\r\n }\r\n\r\n getMissingKey(prestaIndex: number, order: number): string {\r\n return `${prestaIndex}-${order}`;\r\n }\r\n\r\n /** Handle new */\r\n handleNewRestaurant(rest: RestaurantModel) {\r\n this._selectedConvive = undefined;\r\n this._selectedLieuCommande = undefined;\r\n // refresh list + is new week true to select the date\r\n this.getCommandeRepas(true, true, true);\r\n }\r\n\r\n handleNewConvive(conv: ConviveModel) {\r\n this.logService.Debug('New convive selected : ' + JSON.stringify(conv), 'RepasComponent');\r\n this.askGetCommandeRepas(false, false, false);\r\n }\r\n\r\n handleNewLieuCommande(lieuCmd: LieuCommandeModel) {\r\n this.logService.Debug('New LieuCommande selected : ' + JSON.stringify(lieuCmd), 'RepasComponent');\r\n this.askGetCommandeRepas(true, false, false);\r\n }\r\n\r\n handleNewDate(date: Date) {\r\n this.askGetCommandeRepas(true, false, true);\r\n }\r\n\r\n /** Get CMD Repas */\r\n askGetCommandeRepas(refreshList: boolean, newRest: boolean, selectNewDay: boolean) {\r\n if (this.cmdRepasSubscription) {\r\n this.cmdRepasSubscription.unsubscribe();\r\n }\r\n this.isLoading = true;\r\n this.getCommandeEmitter.next({ refreshList, newRest, selectNewDay });\r\n }\r\n\r\n getCommandeRepas(refreshList: boolean, newRest: boolean, selectNewDay: boolean) {\r\n this.isLoading = true;\r\n const conviveId = (this.selectedConvive) ? this.selectedConvive.id : undefined;\r\n const lieuCmdId = (this.selectedLieuCommande) ? this.selectedLieuCommande.id : undefined;\r\n this.cmdRepasSubscription = this.commandeRepasService.getCommandeRepas(this.isPiqueNique, this.selectedRestaurant.cuisineCentraleId, this.selectedRestaurant.id, conviveId, lieuCmdId, this.selectedDate)\r\n .subscribe(cmdRepasModel => {\r\n this.isNoContent = cmdRepasModel.jours.length == 0;\r\n this.handleNewCommandeRepas(cmdRepasModel, refreshList, newRest, selectNewDay);\r\n },\r\n (error: ErrorApiModel) => {\r\n // Clear convive & lieu cmd\r\n // TODO : ne pas vider les listes et laisser l\"état précédent si erreur (ie:pas de convive)\r\n this.conviveList = [];\r\n this._selectedConvive = null;\r\n this.isConviveDisplay = false;\r\n this.lieuCmdList = [];\r\n this._selectedLieuCommande = null;\r\n this.isLieuCommandeDisplay = false;\r\n\r\n // suite TODO : On laisse le isNoContent + popup modale qui affiche l\"erreur\r\n this.isNoContent = true;\r\n this.isLoading = false;\r\n\r\n const notifModel = new NotificationModel();\r\n notifModel.title = 'Erreur';\r\n notifModel.message = 'Une erreur est survenue lors du chargement des données : \\n' + error.Message;\r\n\r\n this.interactionService.showNotification(notifModel);\r\n });\r\n }\r\n\r\n handleNewCommandeRepas(cmdRepasModel: CommandeRepasModel, refreshList: boolean, newRest: boolean, selectNewDay: boolean) {\r\n this.computeSemaine(cmdRepasModel.semaines, cmdRepasModel.jours);\r\n this.computeDisplayRules(cmdRepasModel);\r\n if (selectNewDay) {\r\n const now = new Date();\r\n if (DateHelper.isBetweenDates(this.selectedRange.firstDay, this.selectedRange.lastDay, now)) {\r\n this.dateSelector.selectedJour = this.selectedRange.jours.find(j => DateHelper.areSameDayOfYear(now, j.date));\r\n } else {\r\n this.dateSelector.selectedJour = this.selectedRange.jours[0];\r\n }\r\n } else {\r\n // the list is refreshed so we refresh the current too, we should check if we can avoid refreshing the whole list\r\n if (this.dateSelector.selectedJour) {\r\n this.dateSelector.selectedJour = this.selectedRange.jours.find(j => DateHelper.areSameDayOfYear(this.dateSelector.selectedJour.date, j.date));\r\n } else {\r\n if (this.selectedRange.jours.length > 0) {\r\n this.dateSelector.selectedJour = this.selectedRange.jours[0];\r\n }\r\n }\r\n }\r\n\r\n this.cmdRepas = cmdRepasModel;\r\n\r\n if (refreshList) {\r\n this.conviveList = this.cmdRepas.convives;\r\n this.lieuCmdList = this.cmdRepas.lieuCommandes;\r\n // if new rest : refresh anyway\r\n if (newRest) {\r\n this._selectedConvive = this.conviveList[0];\r\n this._selectedLieuCommande = this.lieuCmdList[0];\r\n } else {\r\n // keep the same convive if in the new list\r\n if (this._selectedConvive) {\r\n const sameConvive = this.conviveList.find(c => c.id == this._selectedConvive.id);\r\n this._selectedConvive = sameConvive ? sameConvive : this.conviveList[0];\r\n } else {\r\n // if selectedConvive was null\r\n this._selectedConvive = this.conviveList[0];\r\n }\r\n\r\n // keep the same lieu de commande if in the new list\r\n if (this._selectedLieuCommande) {\r\n const sameLieuCmd = this.lieuCmdList.find(l => l.id == this._selectedLieuCommande.id);\r\n this._selectedLieuCommande = sameLieuCmd ? sameLieuCmd : this.lieuCmdList[0];\r\n } else {\r\n // if selectedLieuCmd was null\r\n this._selectedLieuCommande = this.lieuCmdList[0];\r\n }\r\n }\r\n\r\n this.isConviveDisplay = this.conviveList.length > 1;\r\n this.isLieuCommandeDisplay = this.lieuCmdList.length > 1;\r\n }\r\n\r\n this.alignRequested = true;\r\n this.isLoading = false;\r\n\r\n const prestationsToCollapse = this.commandeRepasService.getPrestationsToCollapse();\r\n if (prestationsToCollapse) {\r\n prestationsToCollapse.forEach(id => {\r\n this.onPrestaToggle_Imp(id, true);\r\n });\r\n }\r\n }\r\n\r\n computeSemaine(semaineInfos: SemaineInfosModel[], jours: JourModel[]) {\r\n // Convertir les infos de semaine en semaine avec data\r\n let preSelectSemaine: SemaineModel = null;\r\n this.dateRanges = semaineInfos.map((si, i) => {\r\n const days = DateHelper.getDaysBetween(moment(si.dateDebut), moment(si.dateFin));\r\n const newSemaine = new SemaineModel(days, si.libelle, si.transmis, this.contratRythme);\r\n\r\n if (this.selectedRange != null) {\r\n // On set la preSelectSemaine si c\"est le meme lundi\r\n if (DateHelper.areSameDayOfYear(this.selectedRange.firstDay, newSemaine.firstDay)) {\r\n preSelectSemaine = newSemaine;\r\n }\r\n }\r\n\r\n return newSemaine;\r\n });\r\n\r\n // si la semaine actuelle n\"existe pas dans la nouvelle liste, on l\"ajoute\r\n if (this.selectedRange != null\r\n && !this.dateRanges.find(sm => DateHelper.areSameDayOfYear(this.selectedRange.firstDay, sm.firstDay))) {\r\n // on ajoute la semaine et on retrie la liste\r\n this.dateRanges.push(this.selectedRange);\r\n this.dateRanges = this.dateRanges.sort((a, b) => +a.firstDay - +b.firstDay); // convert date object into number to resolve issue in typescript\r\n preSelectSemaine = this.selectedRange;\r\n this.selectedRange.transmis = true; // semaine valide (car pas d\"effectif)\r\n }\r\n\r\n // si pas de date dispo on crée la semaine actuelle\r\n if (this.dateRanges.length === 0) {\r\n const today = moment();\r\n this.dateRanges = SemaineModel.getSemainesFromDates(today, today);\r\n this.dateRanges.forEach(s => {\r\n s.transmis = true; // semaine valide (car pas d\"effectif)\r\n });\r\n }\r\n\r\n // Si on en a une, on preselectionne la semaine, sinon on selectionne la première\r\n if (preSelectSemaine) {\r\n this.selectedRange = preSelectSemaine;\r\n } else {\r\n this.selectedRange = this.dateRanges[0];\r\n }\r\n\r\n // Avec plusieurs lieu de commande, l\"api nous renvoie des jours mais sans prestations, on les filtres\r\n jours.forEach(j => {\r\n if (j.prestations.length === 0) {\r\n j.isEmpty = true;\r\n }\r\n });\r\n\r\n this.refreshSemaine(this.selectedRange, jours);\r\n\r\n this.refreshNavigationAllowed();\r\n }\r\n\r\n /** Map les jours venant de l\"api/get avec l\"existant */\r\n refreshSemaine(semaine: SemaineModel, joursToMap: BaseJourModel[]) {\r\n const length = semaine.jours.length;\r\n let indexCount = 0;\r\n for (let i = 0; i < length; i++) {\r\n const jour = semaine.jours[i];\r\n const jourMap = joursToMap.find(jToMap => {\r\n return moment(jToMap.date).isSame(jour.date, 'day');\r\n });\r\n\r\n // DDJ : A refaire, mais ne veux pas tout casser pour l\"instant\r\n // Il faudrait enlever ça d\"ici --> Spécifique CMD Repas\r\n if (!jour.isHorsRythme) {\r\n // Si on trouve une correspondance, on update\r\n if (jourMap) {\r\n jourMap.index = indexCount++;\r\n semaine.jours[i] = jourMap;\r\n } else {\r\n // Sinon, il faut clear et mettre un modele vide\r\n // Je ne sais pas pourquoi on passe par la base puis on cast en JourModel\r\n // A enlever ?\r\n jour.index = indexCount++;\r\n const jourModel = new JourModel(jour.date);\r\n jourModel.isEmpty = true;\r\n jourModel.periode = {\r\n dateReference: null,\r\n endDate: null,\r\n ratioModification: null,\r\n startDate: null,\r\n type: PeriodeContratTypeEnum.HorsPeriode\r\n };\r\n semaine.jours[i] = jourModel;\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n computeDisplayRules(cmdRepas: CommandeRepasModel) {\r\n this.isEditInfosDisplay = cmdRepas.modifiePar != null && cmdRepas.dateModification != null;\r\n\r\n // Lundi en préco -> Semaine en préco -> On affiche le bouton règle 1\r\n const lundi = cmdRepas.jours[0];\r\n\r\n let shouldDisplayRegle1Button = false;\r\n if (lundi != null && lundi.dayOfWeek == 1) {\r\n if (lundi.periode.type == PeriodeContratTypeEnum.Precommande) {\r\n // On affiche le bouton si il n\"y a pas de taux de prise\r\n shouldDisplayRegle1Button = !cmdRepas.jours.every(j => {\r\n return j.prestations.every(p => {\r\n return p.autoriserSaisieTauxPrise;\r\n });\r\n });\r\n }\r\n }\r\n\r\n this.isRegle1ButtonDisplay = shouldDisplayRegle1Button;\r\n }\r\n\r\n\r\n validateCommand() {\r\n\r\n if (this.isLoading || this.isNoContent) {\r\n return;\r\n }\r\n\r\n this.isSendingCommandeRepas = true;\r\n this.interactionService.blockUI('Validation en cours');\r\n // clean server validators\r\n FormControlHelper.cleanAllServerValidators();\r\n\r\n const prestaData = this.prestationComponents.map(\r\n pc => {\r\n return pc.getData();\r\n });\r\n\r\n this.commandeRepasService.postCommandeRepas(\r\n this.contratId,\r\n this._selectedRestaurant.id,\r\n this._selectedLieuCommande.id,\r\n this._selectedConvive.id,\r\n this.cuisineCentraleId,\r\n this.selectedDate,\r\n prestaData).pipe(\r\n first(),\r\n finalize(() => {\r\n this.interactionService.releaseUI();\r\n this.isSendingCommandeRepas = false;\r\n }))\r\n .subscribe((res: PostCommandeRepasWarningApiResponse.Warning) => {\r\n if (res.jours.length > 0) {\r\n // Il y a des erreurs\r\n const notif: NotificationCustomModel = new NotificationCustomModel();\r\n notif.title = 'Avertissement';\r\n notif.type = WarningPopupComponent;\r\n notif.data = res;\r\n notif.fullScreen = false;\r\n\r\n this.interactionService.showNotification(notif);\r\n this.cmdRepas.jours.forEach(j => {\r\n j.hasError = false;\r\n });\r\n\r\n this.getCommandeRepas(true, false, false);\r\n } else {\r\n const notifModel = new NotificationModel();\r\n notifModel.title = 'Commande transmise';\r\n notifModel.message = 'Les effectifs ont été transmis à la cuisine.';\r\n\r\n this.cmdRepas.jours.forEach(j => {\r\n j.hasError = false;\r\n });\r\n\r\n this.interactionService.showNotification(notifModel);\r\n\r\n this.getCommandeRepas(true, false, false);\r\n }\r\n },\r\n (error: ErrorApiModel) => {\r\n const contentError = error.Content as CommandeRepasErrorModel;\r\n switch (contentError && contentError.errorType) {\r\n case CommandeRepasUpdateErrorTypeEnum.Validation:\r\n {\r\n const notif: NotificationCustomModel = new NotificationCustomModel();\r\n notif.title = 'Erreur de validation';\r\n notif.type = ErrorPopupComponent;\r\n notif.data = contentError;\r\n notif.fullScreen = false;\r\n\r\n this.interactionService.showNotification(notif);\r\n contentError.setCallBack((errorModel => this.onErrorClicked(errorModel))); // TODO il manque un handler sur le close de la popup pour désenregistrer les callback\r\n const dates = contentError.jours.map(j => {\r\n return new Date(j.date);\r\n });\r\n\r\n this.cmdRepas.jours.map(jourModel => {\r\n jourModel.hasError = dates.some(d => DateHelper.areSameDayOfYear(d, jourModel.date));\r\n });\r\n }\r\n break;\r\n case CommandeRepasUpdateErrorTypeEnum.TransmissionElixir:\r\n {\r\n const notifModel = new NotificationModel();\r\n notifModel.title = 'Erreur de transmission';\r\n notifModel.message = error.Message;\r\n\r\n this.interactionService.showNotification(notifModel);\r\n\r\n // c\"est une erreur gérée, les effectifs sont enregistrés => on recharge\r\n this.getCommandeRepas(true, false, false);\r\n }\r\n break;\r\n default:\r\n {\r\n const notifModel = new NotificationModel();\r\n notifModel.title = 'Erreur';\r\n notifModel.message = error.Message;\r\n\r\n this.interactionService.showNotification(notifModel);\r\n }\r\n break;\r\n }\r\n });\r\n }\r\n\r\n onErrorClicked(err: BaseErrorModel) {\r\n const oldJour = this.dateSelector.selectedJour;\r\n this.dateSelector.selectedJour = this.selectedRange.jours.find(j => DateHelper.areSameDayOfYear(err.date, j.date));\r\n\r\n if (err.type === CommandeRepasErrorTypeEnum.FamillePlat) {\r\n const fpError = err as FamillePlatErrorModel;\r\n const fpControl = this.commandeRepasService.getEffectifPortionControlsByEffectifAndFamillePlats(fpError.effectifId, fpError.name);\r\n if (fpControl) {\r\n this.prestationComponents.forEach(pc => pc.tryFocusControl(fpControl.effectifPortionControls[0], oldJour !== this.dateSelector.selectedJour));\r\n }\r\n } else if (err.type === CommandeRepasErrorTypeEnum.Portion) {\r\n const portionError = err as PortionErrorModel;\r\n const portionControl = this.commandeRepasService.effectifPortionControls[portionError.id];\r\n if (portionControl) {\r\n this.prestationComponents.forEach(pc => pc.tryFocusControl(portionControl, oldJour !== this.dateSelector.selectedJour));\r\n }\r\n } else if (err.type === CommandeRepasErrorTypeEnum.Prestation) {\r\n const prestaError = err as PrestationErrorModel;\r\n const prestaControl = this.commandeRepasService.effectifControls[prestaError.id];\r\n if (prestaControl) {\r\n this.prestationComponents.forEach(pc => pc.tryFocusControl(prestaControl, oldJour !== this.dateSelector.selectedJour, !!prestaError.regimeId));\r\n }\r\n }\r\n }\r\n\r\n applyRule1() {\r\n this.prestationComponents.map(p => {\r\n p.applyRule1();\r\n });\r\n }\r\n\r\n expandAllPrestations() {\r\n this.cmdRepas.jours.forEach((jour: JourModel) => {\r\n jour.prestations.forEach((prestation: PrestationModel) => {\r\n prestation.isCollapsed = false;\r\n });\r\n });\r\n }\r\n\r\n /** Events */\r\n onPrestaToggle(toggleData: { id: number, shouldCollapse: boolean }) {\r\n this.onPrestaToggle_Imp(toggleData.id, toggleData.shouldCollapse);\r\n this.commandeRepasService.handleToggle(toggleData.id, toggleData.shouldCollapse);\r\n }\r\n\r\n onPrestaToggle_Imp(id: number, shouldCollapse: boolean) {\r\n this.cmdRepas.jours.forEach((jour: JourModel) => {\r\n jour.prestations.forEach((prestation: PrestationModel) => {\r\n if (prestation.prestationId === id) {\r\n prestation.isCollapsed = shouldCollapse;\r\n }\r\n });\r\n });\r\n }\r\n\r\n /** Function style of custom dropdown */\r\n dateFnStyle(semaine: SemaineModel | LieuCommandeModel): string {\r\n let classes = 'circle';\r\n if (semaine.transmis) {\r\n classes += ' green';\r\n }\r\n\r\n return `
${semaine.libelle}`;\r\n }\r\n\r\n // ** Print methods */\r\n printCommande() {\r\n if (this.isMatriceDeChoixDownloading || !this.cmdRepas) {\r\n return;\r\n }\r\n\r\n this.isMatriceDeChoixDownloading = true;\r\n const report$ = this.reportingService.getCommandeRepasMatriceDeChoix(this.selectedRestaurant.cuisineCentraleId, this.selectedRestaurant.id, this.selectedLieuCommande.id, this.selectedDate, this.isPiqueNique).pipe(\r\n finalize(() => {\r\n this.isMatriceDeChoixDownloading = false;\r\n }),\r\n first());\r\n\r\n this.reportingService.handleReportResponse(report$);\r\n }\r\n\r\n printMenu() {\r\n if (this.isMenuDownloading || !this.cmdRepas) {\r\n return;\r\n }\r\n\r\n this.isMenuDownloading = true;\r\n const report$ = this.reportingService.getCommandeRepasMenu(this.selectedRestaurant.cuisineCentraleId, this.selectedRestaurant.id, this.selectedLieuCommande.id, this.selectedDate, this.isPiqueNique).pipe(\r\n finalize(() => {\r\n this.isMenuDownloading = false;\r\n }),\r\n first());\r\n\r\n this.reportingService.handleReportResponse(report$);\r\n }\r\n\r\n}\r\n","import { deburr, includes, trimEnd, padEnd } from 'lodash';\r\nexport class StringHelper {\r\n static withoutAccent(str: string): string {\r\n // see https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript\r\n\r\n // return str && str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, ''); //need polyfill for es6 (ie11)\r\n // use lodash deburr instead\r\n return str && deburr(str);\r\n }\r\n\r\n static indexOf(text: string, search: string, caseSensitive: boolean = false, ignoreAccents = true)\r\n : number {\r\n if (!caseSensitive) {\r\n search = search.toLocaleLowerCase();\r\n text = text.toLocaleLowerCase();\r\n }\r\n\r\n if (ignoreAccents) {\r\n search = this.withoutAccent(search);\r\n text = this.withoutAccent(text);\r\n }\r\n\r\n return text.indexOf(search);\r\n }\r\n\r\n static includes(text: string, search: string, caseSensitive: boolean = false, ignoreAccents = true)\r\n : boolean {\r\n return StringHelper.indexOf(text, search, caseSensitive, ignoreAccents) > -1;\r\n }\r\n\r\n static jsonParseWithDates(json: string, dateFields?: Array): T {\r\n return JSON.parse(json, dateFields ? StringHelper.buildJsonDateReviver(dateFields) : StringHelper._defaultDateReviver) as T;\r\n }\r\n\r\n static hashCode(s: string): number {\r\n // see https://gist.github.com/hyamamoto/fd435505d29ebfa3d9716fd2be8d42f0\r\n let h = 0;\r\n if (Math.imul) {\r\n // faster\r\n for (let i = 0; i < s.length; i++) {\r\n // tslint:disable-next-line: no-bitwise\r\n h = Math.imul(31, h) + s.charCodeAt(i) | 0;\r\n }\r\n } else {\r\n // fallback for legacy browsers\r\n const l = s.length;\r\n let i = 0;\r\n if (l > 0) {\r\n while (i < l) {\r\n // tslint:disable-next-line: no-bitwise\r\n h = (h << 5) - h + s.charCodeAt(i++) | 0;\r\n }\r\n }\r\n }\r\n\r\n return h;\r\n }\r\n\r\n // tslint:disable-next-line: member-ordering\r\n private static _defaultDateReviver = StringHelper.buildJsonDateReviver([/date/i]);\r\n\r\n private static buildJsonDateReviver(dateFields: Array): (this: any, key: string, value: any) => any {\r\n return function customJsonDateReviver(key, value) {\r\n if (typeof value === 'string'\r\n && dateFields.some(fieldMatcher => (typeof fieldMatcher === 'string') ? includes(key, fieldMatcher) : (fieldMatcher as RegExp).test(key))\r\n ) {\r\n return new Date(value);\r\n }\r\n return value;\r\n };\r\n }\r\n\r\n // TODO étendre angular http body parse : https://github.com/angular/angular/blob/master/packages/http/src/body.ts#L26\r\n // => Ajouter un nouveau prototype ou faire un helper\r\n\r\n static formatDecimal(value: number, minDecimals: number = 2, maxDecimals: number = 3, decimalSeparator: string = ','): string {\r\n if (value === null) {\r\n return null;\r\n }\r\n\r\n // on garde 3 décimales max, à minima on en affiche 2\r\n const split = value.toFixed(maxDecimals).split('.');\r\n const integerPart = split[0];\r\n let decimalPart: string;\r\n if (split.length === 2) {\r\n decimalPart = (split[1] || '');\r\n decimalPart = trimEnd(decimalPart, '0');\r\n decimalPart = padEnd(decimalPart, minDecimals, '0');\r\n } else {\r\n decimalPart = padEnd('', minDecimals, '0');\r\n }\r\n\r\n return `${integerPart}${decimalPart.length > 0 ? decimalSeparator : ''}${decimalPart}`;\r\n }\r\n\r\n\r\n private static getCircularReplacer() {\r\n const seen = new WeakSet();\r\n return (key, value) => {\r\n if (typeof value === 'object' && value !== null) {\r\n if (seen.has(value)) {\r\n return;\r\n }\r\n seen.add(value);\r\n }\r\n return value;\r\n };\r\n }\r\n\r\n static jsonStringifyCircular(object: any): string {\r\n return JSON.stringify(object, StringHelper.getCircularReplacer());\r\n }\r\n\r\n /**\r\n * Escape string for use in javascript regex. see: https://stackoverflow.com/a/6969486/590741\r\n */\r\n static escapeRegExp(string) {\r\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // $& means the whole matched string\r\n }\r\n}\r\n","import { CorrelationTokenService } from './correlationToken.service';\r\nimport { ApiSettings } from '../models/api/api-settings';\r\nimport { Injectable, isDevMode, NgZone } from '@angular/core';\r\nimport { JL } from 'jsnlog';\r\nimport { AppInsights } from 'applicationinsights-js';\r\nimport * as moment from 'moment';\r\nimport { StringHelper } from '../helpers/string.helper';\r\n\r\n// import * as appPackage from 'json!../../../';\r\nconst { version: appVersion } = require('../../../../package.json');\r\n\r\n/*\r\nenum SeverityLevel {\r\n Verbose = 0,\r\n Information = 1,\r\n Warning = 2,\r\n Error = 3,\r\n Critical = 4,\r\n }\r\n*/\r\n\r\n@Injectable()\r\nexport class LogService {\r\n\r\n private _correlationId: string;\r\n public get correlationId(): string {\r\n return this._correlationId;\r\n }\r\n public set correlationId(correlationId: string) {\r\n this._correlationId = correlationId;\r\n }\r\n\r\n constructor(private _apiSettings: ApiSettings,\r\n private _ngZone: NgZone) {\r\n\r\n const consoleAppender = JL.createConsoleAppender('consoleAppender');\r\n consoleAppender.setOptions({\r\n level: isDevMode() ? JL.getTraceLevel() : JL.getWarnLevel()\r\n });\r\n // const ajaxAppender = JL.createAjaxAppender(\"ajaxAppender\");\r\n // ajaxAppender.setOptions({\r\n // // see:http://jsnlog.com/Documentation/JSNLogJs/AjaxAppender/SetOptions\r\n // url: `${this.apiSettings.apiUrl}/log`,\r\n // storeInBufferLevel: JL.getTraceLevel(),\r\n // level: JL.getWarnLevel(),\r\n // sendWithBufferLevel: JL.getFatalLevel(),\r\n // bufferSize: 20,\r\n // beforeSend: this.addRequestHeaders\r\n // });\r\n\r\n // création d'un appender JSNLog pour ApplicationInsight (à partir d'un appender quelconque en réécrivant la méthode d'envoi)\r\n const appInsightAppender = JL.createAjaxAppender('appInsightAppender');\r\n appInsightAppender.setOptions({\r\n // see:http://jsnlog.com/Documentation/JSNLogJs/AjaxAppender/SetOptions\r\n storeInBufferLevel: JL.getTraceLevel(), // on stocke toutes les traces\r\n level: JL.getWarnLevel(), // on envoie les logs warn/error/fatal\r\n sendWithBufferLevel: JL.getErrorLevel(), // à partir de error on envoie aussi toutes les traces\r\n bufferSize: 20,\r\n beforeSend: this.addRequestHeaders\r\n });\r\n // Dirty replace Appender log function with a custom one implementing AppInsight\r\n (appInsightAppender as any).sendLogItems = (logItems: LogItem[], successCallback: () => void) => {\r\n for (const log of logItems) {\r\n const props: { [name: string]: string } = {};\r\n props.logger = log.n;\r\n props.timestamp = moment(log.t).toISOString();\r\n const level = this.JSNLogLevelToAppInsightLevel(log.l);\r\n\r\n // TODO repasser le bon timestamp à APPInsight => pas possible alors au moins convertir le timestamp en date\r\n // => toISOString\r\n\r\n if (level < 4) { // < Error\r\n AppInsights.trackTrace(log.m, props, level);\r\n } else { // Error | Fatal\r\n AppInsights.trackException((log.m as any), null, props, null, level);\r\n }\r\n }\r\n successCallback();\r\n };\r\n\r\n // Attention: à faire après le lazy load AppInsights (voir https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#addtelemetryinitializer)\r\n AppInsights.queue.push(() => {\r\n // On ajoute un telemtryInitializer au TelemetryContext de AppInsight pour redéfinir le time des élément trackés (car poussés en batch par l'appender précédent)\r\n AppInsights.context.addTelemetryInitializer(envelope => {\r\n const timestamp = envelope.data && envelope.data.baseData && envelope.data.baseData.properties && envelope.data.baseData.properties.timestamp;\r\n if (timestamp) {\r\n envelope.time = timestamp;\r\n delete envelope.data.baseData.properties.timestamp;\r\n }\r\n });\r\n });\r\n\r\n JL().setOptions({\r\n // see http://jsnlog.com/Documentation/JSNLogJs/JL/SetOptions\r\n // appenders: [ajaxAppender, consoleAppender],\r\n appenders: [consoleAppender, appInsightAppender],\r\n });\r\n }\r\n\r\n private addRequestHeaders(xhr: XMLHttpRequest): void {\r\n // ajout de la version de l'api\r\n xhr.setRequestHeader('client-version', appVersion); // non autorisé à cause de CORS (Request header field client-version is not allowed by Access-Control-Allow-Headers in preflight response.)\r\n // ajout de l'identifiant de correlation\r\n xhr.setRequestHeader('client-correlationId', this._correlationId);\r\n }\r\n\r\n Debug(msg: any, logger?: string): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n JL(logger).debug(msg);\r\n });\r\n }\r\n\r\n Info(msg: any, logger?: string): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n JL(logger).info(msg);\r\n });\r\n }\r\n\r\n Warn(msg: any, logger?: string): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n JL(logger).warn(msg);\r\n });\r\n }\r\n\r\n Error(msg: any, logger?: string): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n JL(logger).error(this.DumpError(msg));\r\n });\r\n }\r\n\r\n Fatal(msg: any, logger?: string): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n JL(logger).fatal(this.DumpError(msg));\r\n });\r\n }\r\n\r\n // tslint:disable-next-line:member-ordering\r\n private DumpError(error: any): any {\r\n let logPayload = error;\r\n if (typeof (logPayload) === 'object') {\r\n logPayload = {};\r\n if (error.message) {\r\n logPayload.message = error.message;\r\n logPayload.stack = error.stack;\r\n } else {\r\n const hasToStringOverride = ((error as object).toString !== Object.prototype.toString);\r\n logPayload.message = hasToStringOverride\r\n ? (error as object).toString() // dump using toString\r\n : StringHelper.jsonStringifyCircular(error); // generic dump (json)\r\n }\r\n }\r\n return logPayload;\r\n }\r\n\r\n private JSNLogLevelToAppInsightLevel(level: number): number {\r\n // if (level <= 1000) { return 0; } // trace => Verbose (0)\r\n if (level <= 2000) { return 0; } // debug => Verbose (0)\r\n if (level <= 3000) { return 1; } // info => Information (1)\r\n if (level <= 4000) { return 2; } // warn => Warning (2)\r\n if (level <= 5000) { return 3; } // error => Error (3)\r\n return 4; // fatal => Critical (4)\r\n }\r\n\r\n public getLogger(name: string): Logger {\r\n return new Logger(this, name);\r\n }\r\n\r\n}\r\n\r\n\r\nexport class Logger {\r\n\r\n constructor(private _logService: LogService, private _name: string) {\r\n }\r\n\r\n public debug(msg: any): void {\r\n this._logService.Debug(msg, this._name);\r\n }\r\n\r\n public info(msg: any, logger?: string): void {\r\n this._logService.Info(msg, this._name);\r\n }\r\n\r\n public warn(msg: any, logger?: string): void {\r\n this._logService.Warn(msg, this._name);\r\n }\r\n\r\n public error(msg: any, logger?: string): void {\r\n this._logService.Error(msg, this._name);\r\n }\r\n\r\n public fatal(msg: any, logger?: string): void {\r\n this._logService.Fatal(msg, this._name);\r\n }\r\n}\r\n\r\n\r\nclass LogItem {\r\n // l: level\r\n // m: message\r\n // n: logger name\r\n // t (timeStamp) is number of milliseconds since 1 January 1970 00:00:00 UTC\r\n //\r\n // Keeping the property names really short, because they will be sent in the\r\n // JSON payload to the server.\r\n constructor(\r\n public l: number,\r\n public m: string,\r\n public n: string,\r\n public t: number) { }\r\n}\r\n","import { ApiSettings } from '../../../models/api/api-settings';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class LogoRouteService {\r\n private contratControllerRoute: string = \"contrats\";\r\n\r\n constructor(private apiSettings: ApiSettings) {\r\n }\r\n\r\n GetLogoUrl(contratId: number, cuisineCentraleId: number) {\r\n return `${this.apiSettings.apiUrl}/${this.contratControllerRoute}/${contratId}/logo?cuisineCentraleId=${cuisineCentraleId}`; // cuisineCentraleId ajouté en querystring pour le rendre faculatif et gérer simplement la montée de version\r\n }\r\n\r\n GetPicture1Url(contratId: number, cuisineCentraleId: number) {\r\n return `${this.apiSettings.apiUrl}/${this.contratControllerRoute}/${contratId}/photo1?cuisineCentraleId=${cuisineCentraleId}`;\r\n }\r\n\r\n GetPicture2Url(contratId: number, cuisineCentraleId: number) {\r\n return `${this.apiSettings.apiUrl}/${this.contratControllerRoute}/${contratId}/photo2?cuisineCentraleId=${cuisineCentraleId}`;\r\n }\r\n}\r\n","import { Injectable, Type } from '@angular/core';\r\n\r\nimport { InteractionService } from './interaction.service';\r\nimport { IPromptForNavigation } from '../interfaces/iprompt-for-navigation';\r\n\r\n@Injectable()\r\nexport class NavigationService {\r\n private components: IPromptForNavigation[] = [];\r\n constructor(private interactionService: InteractionService) {\r\n }\r\n\r\n /** Enregistre le composant pour le isAnyComponentDirty */\r\n public registerComponent(component: IPromptForNavigation) {\r\n this.components.push(component);\r\n }\r\n\r\n /** Sur le Destroy du composant, on le dé-référence, quand on naviguera dessus on aura une nouvelle instance */\r\n public unregisterComponent(component: IPromptForNavigation) {\r\n const index = this.components.indexOf(component, 0);\r\n if (index > -1) {\r\n this.components.splice(index, 1);\r\n }\r\n }\r\n\r\n public isAnyComponentDirty(): boolean {\r\n return this.components && this.components.some(c => c.checkIsDirty());\r\n }\r\n\r\n}\r\n","// Suffix with Enum would be too much right ?\r\n// Add the status code used in the application\r\nexport enum HttpStatusCode {\r\n ConnectionRefused = 0,\r\n OK = 200,\r\n Unauthorized = 401,\r\n Forbidden = 403,\r\n NotFound = 404,\r\n NoContent = 204,\r\n}","import { HttpStatusCode } from \"../enums/http-status-code.enum\";\r\n\r\nexport class FileResultModel {\r\n\r\n constructor(\r\n public file: Blob,\r\n public filename: string,\r\n public httpStatus: HttpStatusCode\r\n ) { }\r\n\r\n}\r\n","import { HttpResponseBase, HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\r\nimport { FileResultModel } from '../models/fileresult.model';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, take } from 'rxjs/operators';\r\nimport { ErrorApiModel } from '../models/api/error/error.apimodel';\r\nexport class FileHelper {\r\n static saveBlob(blob: Blob, fileName: string) {\r\n // console.log(\"cordova: saving \" + fileName);\r\n\r\n if (window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, fileName);\r\n } else if (window.cordova) {\r\n window.resolveLocalFileSystemURL(window.cordova.file.externalDataDirectory,\r\n (entry: Entry) => {\r\n const dir = entry as DirectoryEntry;\r\n dir.getFile(fileName, { create: true }, (file: FileEntry) => {\r\n file.createWriter((fileWriter: FileWriter) => {\r\n fileWriter.onwriteend = () => {\r\n const filePath = decodeURIComponent(file.nativeURL);\r\n // console.log({ path: file.fullPath, nativeURL: file.nativeURL, internalUrl: file.toInternalURL(), url: file.toURL() })\r\n cordova.plugins.disusered.open(filePath);\r\n };\r\n fileWriter.write(blob);\r\n });\r\n });\r\n });\r\n } else {\r\n const a = document.createElement('a');\r\n document.body.appendChild(a);\r\n a.style.display = 'none';\r\n const url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = fileName;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n }\r\n\r\n static saveFile(file: FileResultModel) {\r\n FileHelper.saveBlob(file.file, file.filename);\r\n }\r\n\r\n static getFileNameFromResponse(response: HttpResponseBase) {\r\n // const contentDispositionHeader = response.headers.get('Content-Disposition');\r\n // const fileName = contentDispositionHeader.split(';')[1].trim().split('=')[1].replace(/\"/g, '');\r\n\r\n // Récupération du nom de fichier dans un header spécifique (plus simple que de décoder Content-Disposition en UTF-8)\r\n const fileName = decodeURIComponent(response.headers.get('filename'));\r\n return fileName;\r\n }\r\n\r\n /**\r\n * Try to download a file using GET request\r\n */\r\n static getFile(httpClient: HttpClient, url: string, params: HttpParams = null): Observable {\r\n\r\n return httpClient.get(url,\r\n {\r\n params,\r\n observe: 'response',\r\n responseType: 'blob'\r\n })\r\n .pipe(\r\n map((response: HttpResponse) => {\r\n const filename = FileHelper.getFileNameFromResponse(response);\r\n return new FileResultModel(response.body, filename, response.status);\r\n })\r\n );\r\n\r\n }\r\n\r\n static readBlobAsString(blob: Blob): Observable {\r\n if (!blob) {\r\n return of(null);\r\n }\r\n\r\n return new Observable(obs => {\r\n // extract blob Content\r\n const reader: FileReader = new FileReader();\r\n reader.onloadend = (e) => {\r\n obs.next(reader.result as string);\r\n obs.complete();\r\n };\r\n reader.onerror = (e) => {\r\n const errorContent = JSON.stringify(reader.error);\r\n const errorModel: ErrorApiModel = {\r\n Code: 0,\r\n Message: errorContent\r\n };\r\n obs.error(errorModel);\r\n obs.complete();\r\n };\r\n reader.readAsText(blob);\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { PrestationModel } from './models/prestation.model';\r\nimport { PrestationApiModel } from './models/api/prestation.apimodel';\r\n\r\nexport class ReportingProjector {\r\n public static projectPrestations(prestations: PrestationApiModel[]): PrestationModel[] {\r\n return prestations.map(p => {\r\n return p;\r\n });\r\n }\r\n}","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map, take } from 'rxjs/operators';\r\nimport { HttpStatusCode } from 'src/app/shared/enums/http-status-code.enum';\r\nimport { FileHelper } from 'src/app/shared/helpers/file.helper';\r\nimport { ErrorApiModel } from 'src/app/shared/models/api/error/error.apimodel';\r\nimport { NotificationModel } from 'src/app/shared/models/notification.model';\r\nimport { InteractionService } from 'src/app/shared/services/interaction.service';\r\nimport { Logger, LogService } from 'src/app/shared/services/log.service';\r\nimport { ContratModel } from '../../shared/models/contrat.model';\r\nimport { FileResultModel } from '../../shared/models/fileresult.model';\r\nimport { PrestationModel } from '../models/prestation.model';\r\nimport { ReportingProjector } from '../reporting.projector';\r\nimport { ReportingApiService } from './api/reporting.apiservice';\r\n\r\n@Injectable()\r\nexport class ReportingService {\r\n\r\n private _log: Logger;\r\n\r\n constructor(\r\n private _reportingApiService: ReportingApiService,\r\n private _interactionService: InteractionService,\r\n logService: LogService\r\n ) {\r\n this._log = logService.getLogger('ReportingService');\r\n }\r\n\r\n public getEtatCommandeInventaireReport(cuisineCentraleId: number, contratId: number, typeListeArticleId: number, startDate: Date, endDate: Date): Observable {\r\n return this._reportingApiService.getEtatCommandeInventaireReport(cuisineCentraleId, contratId, typeListeArticleId, startDate, endDate);\r\n }\r\n\r\n public getBilanCommandeRepasOuPiqueNiqueReportForOneRestaurant(cuisineCentraleId: number, contratId: number, restaurantId: number, startDate: Date, endDate: Date, isPiqueNique: boolean): Observable {\r\n return this._reportingApiService.getBilanCommandeRepasOuPiqueNiqueReport(cuisineCentraleId, contratId, [restaurantId], startDate, endDate, isPiqueNique);\r\n }\r\n\r\n public getBilanCommandeRepasOuPiqueNiqueReportForAllRestaurant(cuisineCentraleId: number, contrat: ContratModel, startDate: Date, endDate: Date, isPiqueNique: boolean): Observable {\r\n return this._reportingApiService.getBilanCommandeRepasOuPiqueNiqueReport(cuisineCentraleId, contrat.id, contrat.restaurants.map(r => r.id), startDate, endDate, isPiqueNique);\r\n }\r\n\r\n public getCommandeRepasMenu(cuisineCentraleId: number, restaurantId: number, lieuCommandeId: number, date: Date, isPiqueNique: boolean) {\r\n return this._reportingApiService.getCommandeRepasMenu(cuisineCentraleId, restaurantId, lieuCommandeId, date, isPiqueNique);\r\n }\r\n\r\n public getCommandeRepasMatriceDeChoix(cuisineCentraleId: number, restaurantId: number, lieuCommandeId: number, date: Date, isPiqueNique: boolean) {\r\n return this._reportingApiService.getCommandeRepasMatriceDeChoix(cuisineCentraleId, restaurantId, lieuCommandeId, date, isPiqueNique);\r\n }\r\n\r\n public getPrestations(cuisineCentraleId: number): Observable {\r\n return this._reportingApiService.getPrestations(cuisineCentraleId).pipe(\r\n map(res => {\r\n return ReportingProjector.projectPrestations(res);\r\n }));\r\n }\r\n\r\n public handleReportResponse(reportRequest$: Observable) {\r\n reportRequest$\r\n .subscribe(fileresult => {\r\n if (fileresult.httpStatus == HttpStatusCode.NoContent) {\r\n FileHelper.readBlobAsString(fileresult.file)\r\n .subscribe(content => {\r\n this._interactionService.showSimpleMessage('Aucune donnée', content || 'La recherche n\\'a retourné aucune donnée. \\nVeuillez ajuster les paramètres.');\r\n });\r\n }\r\n else {\r\n FileHelper.saveFile(fileresult);\r\n }\r\n },\r\n (error: ErrorApiModel) => {\r\n this._interactionService.showSimpleMessage('Erreur', 'Une erreur est survenue lors de l\\'extraction du rapport : \\n' + error.Message);\r\n });\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./repas.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../item-selector/item-selector.component.ngfactory\";\nimport * as i3 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i4 from \"../item-selector/item-selector.component\";\nimport * as i5 from \"../dropdown/dropdown.component.ngfactory\";\nimport * as i6 from \"../dropdown/dropdown.component\";\nimport * as i7 from \"../loader/loader.component.ngfactory\";\nimport * as i8 from \"../loader/loader.component\";\nimport * as i9 from \"@angular/common\";\nimport * as i10 from \"./prestation/prestation.component.ngfactory\";\nimport * as i11 from \"./prestation/prestation.component\";\nimport * as i12 from \"@angular/forms\";\nimport * as i13 from \"./services/commande-repas.service\";\nimport * as i14 from \"../shared/directives/repas-jour-vignette.directive\";\nimport * as i15 from \"../shared/directives/translate-slider.directive\";\nimport * as i16 from \"../date-selector/date-selector.component.ngfactory\";\nimport * as i17 from \"../date-selector/date-selector.component\";\nimport * as i18 from \"./repas.component\";\nimport * as i19 from \"../shared/services/application-data.service\";\nimport * as i20 from \"../shared/services/log.service\";\nimport * as i21 from \"../shared/services/api/logo/logo-route.service\";\nimport * as i22 from \"../shared/services/interaction.service\";\nimport * as i23 from \"../shared/services/navigation.service\";\nimport * as i24 from \"../reporting/services/reporting.service\";\nimport * as i25 from \"@angular/router\";\nvar styles_RepasComponent = [i0.styles];\nvar RenderType_RepasComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_RepasComponent, data: {} });\nexport { RenderType_RepasComponent as RenderType_RepasComponent };\nfunction View_RepasComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"app-item-selector\", [[\"class\", \"color-animation\"], [\"id\", \"restaurant-selector\"], [\"propComparer\", \"id\"], [\"propName\", \"name\"]], null, [[null, \"selectedItemChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"selectedItemChange\" === en)) {\n var pd_0 = ((_co.selectedRestaurant = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_ItemSelectorComponent_0, i2.RenderType_ItemSelectorComponent)), i1.ɵdid(2, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(3, { \"type\": 0, \"isSecondary\": 1, \"background\": 2 }), i1.ɵdid(4, 12632064, null, 0, i4.ItemSelectorComponent, [i1.ElementRef], { selectedItem: [0, \"selectedItem\"], items: [1, \"items\"], propName: [2, \"propName\"], propComparer: [3, \"propComparer\"] }, { selectedItemChange: \"selectedItemChange\" }), (_l()(), i1.ɵeld(5, 0, null, null, 0, \"hr\", [[\"class\", \"separator\"]], null, null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 3, 0, _co.currentType, true, true); _ck(_v, 2, 0, currVal_0); var currVal_1 = _co.selectedRestaurant; var currVal_2 = _co.restaurantList; var currVal_3 = \"name\"; var currVal_4 = \"id\"; _ck(_v, 4, 0, currVal_1, currVal_2, currVal_3, currVal_4); }, null); }\nfunction View_RepasComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"app-item-selector\", [[\"class\", \"color-animation\"], [\"id\", \"lieu-commande-selector\"], [\"propComparer\", \"id\"], [\"propName\", \"libelle\"]], null, [[null, \"selectedItemChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"selectedItemChange\" === en)) {\n var pd_0 = ((_co.selectedLieuCommande = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_ItemSelectorComponent_0, i2.RenderType_ItemSelectorComponent)), i1.ɵdid(2, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(3, { \"type\": 0, \"isSecondary\": 1, \"background\": 2 }), i1.ɵdid(4, 12632064, null, 0, i4.ItemSelectorComponent, [i1.ElementRef], { selectedItem: [0, \"selectedItem\"], items: [1, \"items\"], propName: [2, \"propName\"], propComparer: [3, \"propComparer\"] }, { selectedItemChange: \"selectedItemChange\" }), (_l()(), i1.ɵeld(5, 0, null, null, 0, \"hr\", [[\"class\", \"separator\"]], null, null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 3, 0, _co.currentType, true, true); _ck(_v, 2, 0, currVal_0); var currVal_1 = _co.selectedLieuCommande; var currVal_2 = _co.lieuCmdList; var currVal_3 = \"libelle\"; var currVal_4 = \"id\"; _ck(_v, 4, 0, currVal_1, currVal_2, currVal_3, currVal_4); }, null); }\nfunction View_RepasComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"app-item-selector\", [[\"class\", \"color-animation\"], [\"id\", \"convive-selector\"], [\"propComparer\", \"id\"], [\"propName\", \"libelle\"]], null, [[null, \"selectedItemChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"selectedItemChange\" === en)) {\n var pd_0 = ((_co.selectedConvive = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_ItemSelectorComponent_0, i2.RenderType_ItemSelectorComponent)), i1.ɵdid(1, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"isSecondary\": 1, \"background\": 2 }), i1.ɵdid(3, 12632064, null, 0, i4.ItemSelectorComponent, [i1.ElementRef], { selectedItem: [0, \"selectedItem\"], items: [1, \"items\"], propName: [2, \"propName\"], propComparer: [3, \"propComparer\"] }, { selectedItemChange: \"selectedItemChange\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 2, 0, _co.currentType, true, true); _ck(_v, 1, 0, currVal_0); var currVal_1 = _co.selectedConvive; var currVal_2 = _co.conviveList; var currVal_3 = \"libelle\"; var currVal_4 = \"id\"; _ck(_v, 3, 0, currVal_1, currVal_2, currVal_3, currVal_4); }, null); }\nfunction View_RepasComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"div\", [[\"class\", \"convive-tab pointerHover\"]], [[2, \"selected\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = ((_co.selectedConvive = _v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"div\", [[\"class\", \"circle\"]], [[2, \"green\", null]], null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"span\", [[\"class\", \"convive-libelle\"]], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.selectedConvive == _v.context.$implicit); _ck(_v, 0, 0, currVal_0); var currVal_1 = _v.context.$implicit.transmis; _ck(_v, 1, 0, currVal_1); var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_RepasComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-dropdown\", [], null, [[null, \"selectedItemChange\"], [\"document\", \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"document:click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).onDocumentClick($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"selectedItemChange\" === en)) {\n var pd_1 = ((_co.selectedLieuCommande = $event) !== false);\n ad = (pd_1 && ad);\n } return ad; }, i5.View_DropdownComponent_0, i5.RenderType_DropdownComponent)), i1.ɵdid(1, 114688, null, 0, i6.DropdownComponent, [i1.ElementRef], { items: [0, \"items\"], selectedItem: [1, \"selectedItem\"], fnStyle: [2, \"fnStyle\"] }, { selectedItemChange: \"selectedItemChange\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.lieuCmdList; var currVal_1 = _co.selectedLieuCommande; var currVal_2 = _co.dateFnStyle; _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2); }, null); }\nfunction View_RepasComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"Commande valid\\u00E9e le \", \" par \", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.cmdRepas.dateModification; var currVal_1 = _co.cmdRepas.modifiePar; _ck(_v, 1, 0, currVal_0, currVal_1); }); }\nfunction View_RepasComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement des effectifs...\"]], null, null, null, i7.View_LoaderComponent_0, i7.RenderType_LoaderComponent)), i1.ɵdid(1, 114688, null, 0, i8.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement des effectifs...\"; _ck(_v, 1, 0, currVal_0); }, null); }\nfunction View_RepasComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"no-content\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Aucun effectif\"]))], null, null); }\nfunction View_RepasComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"info-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_8)), i1.ɵdid(2, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_9)), i1.ɵdid(4, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isLoading; _ck(_v, 2, 0, currVal_0); var currVal_1 = (!_co.isLoading && _co.isNoContent); _ck(_v, 4, 0, currVal_1); }, null); }\nfunction View_RepasComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"img\", [[\"class\", \"invalid\"], [\"src\", \"/assets/images/repas/warning.png\"]], null, null, null, null, null))], null, null); }\nfunction View_RepasComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"img\", [[\"class\", \"has-piquenique\"], [\"src\", \"/assets/images/repas/piquenique.png\"]], null, null, null, null, null))], null, null); }\nfunction View_RepasComponent_15(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-prestation\", [], null, [[null, \"prestaToggle\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"prestaToggle\" === en)) {\n var pd_0 = (_co.onPrestaToggle($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i10.View_PrestationComponent_0, i10.RenderType_PrestationComponent)), i1.ɵdid(1, 114688, [[4, 4]], 0, i11.PrestationComponent, [i12.FormBuilder, i13.CommandeRepasService], { currentType: [0, \"currentType\"], prestation: [1, \"prestation\"], jour: [2, \"jour\"], isCurrent: [3, \"isCurrent\"] }, { prestaToggle: \"prestaToggle\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.currentType; var currVal_1 = _v.context.$implicit; var currVal_2 = _v.parent.parent.context.$implicit; var currVal_3 = (_co.selectedJour == _v.parent.parent.context.$implicit); _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2, currVal_3); }, null); }\nfunction View_RepasComponent_14(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"prestations\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_15)), i1.ɵdid(2, 278528, null, 0, i9.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var currVal_0 = _v.parent.context.$implicit.prestations; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_RepasComponent_16(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"div\", [[\"class\", \"presta-nodata\"]], null, null, null, null, null)), i1.ɵdid(1, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"border\": 1 }), (_l()(), i1.ɵted(-1, null, [\" Aucune donn\\u00E9e pour ce jour \"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 2, 0, _co.currentType, true); _ck(_v, 1, 0, currVal_0); }, null); }\nfunction View_RepasComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, \"div\", [[\"class\", \"jour\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 9, \"div\", [[\"class\", \"day-head\"]], [[8, \"title\", 0]], null, null, null, null)), i1.ɵdid(2, 16384, null, 0, i14.RepasJourVignetteDirective, [i1.ElementRef, i1.Renderer2], { jourType: [0, \"jourType\"] }, null), i1.ɵdid(3, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(4, { \"type\": 0, \"isSecondary\": 1, \"background\": 2 }), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_12)), i1.ɵdid(6, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(8, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_13)), i1.ɵdid(10, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_14)), i1.ɵdid(12, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_16)), i1.ɵdid(14, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_1 = _v.context.$implicit.periode; _ck(_v, 2, 0, currVal_1); var currVal_2 = _ck(_v, 4, 0, _co.currentType, true, true); _ck(_v, 3, 0, currVal_2); var currVal_3 = _v.context.$implicit.hasError; _ck(_v, 6, 0, currVal_3); var currVal_5 = (_v.context.$implicit.quantitePiqueNique > 0); _ck(_v, 10, 0, currVal_5); var currVal_6 = !_v.context.$implicit.isEmpty; _ck(_v, 12, 0, currVal_6); var currVal_7 = _v.context.$implicit.isEmpty; _ck(_v, 14, 0, currVal_7); }, function (_ck, _v) { var currVal_0 = _v.context.$implicit.periodeTooltipInfo; _ck(_v, 1, 0, currVal_0); var currVal_4 = ((((_v.context.$implicit.dayString + \" \") + _v.context.$implicit.day) + \" \") + _v.context.$implicit.monthShort); _ck(_v, 8, 0, currVal_4); }); }\nfunction View_RepasComponent_17(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"button\", [[\"class\", \"generic-button refresh-button\"], [\"title\", \"R\\u00E9initialiser les donne\\u00E9s de la semaine\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.applyRule1() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"isSecondary\": 1, \"background\": 2 })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 2, 0, _co.currentType, true, true); _ck(_v, 1, 0, currVal_0); }, null); }\nfunction View_RepasComponent_18(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"mobile-repas-infos\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\" Commande valid\\u00E9e le \", \" par \", \" \"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.cmdRepas.dateModification; var currVal_1 = _co.cmdRepas.modifiePar; _ck(_v, 1, 0, currVal_0, currVal_1); }); }\nfunction View_RepasComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, [[2, 0], [\"repasContainer\", 1]], null, 11, \"div\", [[\"class\", \"repas-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"div\", [[\"class\", \"buttons-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"div\", [[\"class\", \"save-button\"]], [[2, \"red-button\", null], [2, \"green-button\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.validateCommand() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 0, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 5, \"div\", [[\"class\", \"jours-container\"]], [[4, \"width\", null]], [[\"window\", \"resize\"]], function (_v, en, $event) { var ad = true; if ((\"window:resize\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 5).onResize($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(5, 16384, null, 0, i15.TranslateSliderDirective, [i1.ElementRef, i1.Renderer2], { translateSlider: [0, \"translateSlider\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_11)), i1.ɵdid(7, 278528, null, 0, i9.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_17)), i1.ɵdid(9, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_18)), i1.ɵdid(11, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_3 = _co.selectedRange.validJours.indexOf(_co.selectedJour); _ck(_v, 5, 0, currVal_3); var currVal_4 = _co.selectedRange.validJours; _ck(_v, 7, 0, currVal_4); var currVal_5 = _co.isRegle1ButtonDisplay; _ck(_v, 9, 0, currVal_5); var currVal_6 = _co.isEditInfosDisplay; _ck(_v, 11, 0, currVal_6); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (!_co.cmdRepas || !_co.cmdRepas.transmis); var currVal_1 = (_co.cmdRepas && _co.cmdRepas.transmis); _ck(_v, 2, 0, currVal_0, currVal_1); var currVal_2 = ((_co.selectedRange.validJours.length * 100) + \"vw\"); _ck(_v, 4, 0, currVal_2); }); }\nexport function View_RepasComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { dateSelector: 0 }), i1.ɵqud(671088640, 2, { repasContainer: 0 }), i1.ɵqud(402653184, 3, { semaineDropdown: 0 }), i1.ɵqud(671088640, 4, { prestationComponents: 1 }), (_l()(), i1.ɵeld(4, 0, null, null, 42, \"div\", [[\"class\", \"container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 8, \"div\", [[\"class\", \"mobile-header\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_1)), i1.ɵdid(7, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_2)), i1.ɵdid(9, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_3)), i1.ɵdid(11, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"app-date-selector\", [[\"id\", \"date-selector\"]], null, [[null, \"selectedJourChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"selectedJourChange\" === en)) {\n var pd_0 = ((_co.selectedJour = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i16.View_DateSelectorComponent_0, i16.RenderType_DateSelectorComponent)), i1.ɵdid(13, 49152, [[1, 4]], 0, i17.DateSelectorComponent, [i1.ElementRef], { isSwipeNextAllowed: [0, \"isSwipeNextAllowed\"], isSwipePrevAllowed: [1, \"isSwipePrevAllowed\"], dateRanges: [2, \"dateRanges\"], selectedRange: [3, \"selectedRange\"], selectedJour: [4, \"selectedJour\"], currentType: [5, \"currentType\"] }, { selectedJourChange: \"selectedJourChange\" }), (_l()(), i1.ɵeld(14, 0, null, null, 27, \"div\", [[\"class\", \"sm-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 2, \"div\", [[\"class\", \"convives-container\"]], [[4, \"background-image\", null]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_4)), i1.ɵdid(17, 278528, null, 0, i9.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(18, 0, null, null, 23, \"div\", [[\"class\", \"middle-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(19, 0, null, null, 22, \"div\", [[\"class\", \"actions-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 9, \"div\", [[\"class\", \"actions-left\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_5)), i1.ɵdid(22, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(23, 0, null, null, 6, \"div\", [[\"class\", \"range-selector\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(24, 0, null, null, 1, \"button\", [[\"class\", \"generic-button navWeek prevWeek pointerHover\"]], [[2, \"disabled\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.handleNavigation((0 - 1)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(25, 0, null, null, 0, \"div\", [[\"class\", \"arrow\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(26, 0, null, null, 1, \"app-dropdown\", [], null, [[null, \"selectedItemChange\"], [\"document\", \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"document:click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 27).onDocumentClick($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"selectedItemChange\" === en)) {\n var pd_1 = (_co.selectedRangeChanged($event) !== false);\n ad = (pd_1 && ad);\n } return ad; }, i5.View_DropdownComponent_0, i5.RenderType_DropdownComponent)), i1.ɵdid(27, 114688, [[3, 4], [\"semaineDropdown\", 4]], 0, i6.DropdownComponent, [i1.ElementRef], { items: [0, \"items\"], selectedItem: [1, \"selectedItem\"], fnStyle: [2, \"fnStyle\"] }, { selectedItemChange: \"selectedItemChange\" }), (_l()(), i1.ɵeld(28, 0, null, null, 1, \"button\", [[\"class\", \"generic-button navWeek nextWeek pointerHover\"]], [[2, \"disabled\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.handleNavigation((1 - 0)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(29, 0, null, null, 0, \"div\", [[\"class\", \"arrow\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(30, 0, null, null, 11, \"div\", [[\"class\", \"actions-right\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(31, 0, null, null, 3, \"div\", [[\"class\", \"action-infos\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_6)), i1.ɵdid(33, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵted(-1, null, [\"\\u00A0 \"])), (_l()(), i1.ɵeld(35, 0, null, null, 6, \"div\", [[\"class\", \"right-buttons\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(36, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-button print-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.printMenu() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(37, null, [\"\", \"\"])), (_l()(), i1.ɵeld(38, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-button print-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.printCommande() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(39, null, [\"\", \"\"])), (_l()(), i1.ɵeld(40, 0, null, null, 1, \"button\", [[\"class\", \"generic-button validate-button\"]], [[2, \"red-button\", null], [2, \"green-button\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.validateCommand() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(41, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_7)), i1.ɵdid(43, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(44, 0, null, null, 2, \"div\", [[\"class\", \"main-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RepasComponent_10)), i1.ɵdid(46, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isRestaurantDisplay; _ck(_v, 7, 0, currVal_0); var currVal_1 = (_co.cmdRepas && _co.isLieuCommandeDisplay); _ck(_v, 9, 0, currVal_1); var currVal_2 = (_co.cmdRepas && _co.isConviveDisplay); _ck(_v, 11, 0, currVal_2); var currVal_3 = _co.isNextWeekAllowed; var currVal_4 = _co.isPrevWeekAllowed; var currVal_5 = _co.dateRanges; var currVal_6 = _co.selectedRange; var currVal_7 = _co.selectedJour; var currVal_8 = _co.currentType; _ck(_v, 13, 0, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8); var currVal_10 = _co.conviveList; _ck(_v, 17, 0, currVal_10); var currVal_11 = (_co.cmdRepas && _co.isLieuCommandeDisplay); _ck(_v, 22, 0, currVal_11); var currVal_13 = _co.dateRanges; var currVal_14 = _co.selectedRange; var currVal_15 = _co.dateFnStyle; _ck(_v, 27, 0, currVal_13, currVal_14, currVal_15); var currVal_17 = ((_co.cmdRepas && _co.cmdRepas.dateModification) && !_co.isNoContent); _ck(_v, 33, 0, currVal_17); var currVal_25 = (_co.isLoading || _co.isNoContent); _ck(_v, 43, 0, currVal_25); var currVal_26 = ((!_co.isLoading && _co.selectedJour) && !_co.isNoContent); _ck(_v, 46, 0, currVal_26); }, function (_ck, _v) { var _co = _v.component; var currVal_9 = ((\"url(\" + _co.logoContratUrl) + \")\"); _ck(_v, 15, 0, currVal_9); var currVal_12 = !_co.isPrevWeekAllowed; _ck(_v, 24, 0, currVal_12); var currVal_16 = !_co.isNextWeekAllowed; _ck(_v, 28, 0, currVal_16); var currVal_18 = _co.isMenuDownloading; _ck(_v, 36, 0, currVal_18); var currVal_19 = (_co.isMenuDownloading ? \"T\\u00E9l\\u00E9chargement...\" : \"Menu\"); _ck(_v, 37, 0, currVal_19); var currVal_20 = _co.isMatriceDeChoixDownloading; _ck(_v, 38, 0, currVal_20); var currVal_21 = (_co.isMatriceDeChoixDownloading ? \"T\\u00E9l\\u00E9chargement...\" : \"Commande\"); _ck(_v, 39, 0, currVal_21); var currVal_22 = (!_co.cmdRepas || !_co.cmdRepas.transmis); var currVal_23 = (_co.cmdRepas && _co.cmdRepas.transmis); _ck(_v, 40, 0, currVal_22, currVal_23); var currVal_24 = (_co.isSendingCommandeRepas ? \"Validation...\" : \"Valider la commande\"); _ck(_v, 41, 0, currVal_24); }); }\nexport function View_RepasComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-repas\", [], null, null, null, View_RepasComponent_0, RenderType_RepasComponent)), i1.ɵdid(1, 12828672, null, 0, i18.RepasComponent, [i19.ApplicationDataService, i20.LogService, i21.LogoRouteService, i13.CommandeRepasService, i22.InteractionService, i23.NavigationService, i24.ReportingService, i1.Renderer2, i25.ActivatedRoute], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar RepasComponentNgFactory = i1.ɵccf(\"app-repas\", i18.RepasComponent, View_RepasComponent_Host_0, {}, {}, []);\nexport { RepasComponentNgFactory as RepasComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".day-selector-text[_ngcontent-%COMP%]{font-size:18px;font-weight:600;text-transform:uppercase}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:relative;height:calc(100% - 57px)}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .convives-container[_ngcontent-%COMP%]{overflow-x:auto;background:0 0/cover #e1e1e0;height:120px;display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .convives-container[_ngcontent-%COMP%] .convive-tab[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;background:#c7c7c7;white-space:nowrap;text-align:center;overflow:hidden;text-overflow:ellipsis;margin:0 6px 0 0;font-size:15px;min-width:200px;font-weight:600;text-transform:uppercase;padding:12px 22px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .convives-container[_ngcontent-%COMP%] .convive-tab.selected[_ngcontent-%COMP%]{background:#fff}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .convives-container[_ngcontent-%COMP%] .convive-tab[_ngcontent-%COMP%]:not(.selected) .convive-libelle[_ngcontent-%COMP%]{opacity:.7}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .convives-container[_ngcontent-%COMP%] .convive-tab[_ngcontent-%COMP%]:first-child{margin-left:24px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%]{margin:16px 0;font-family:josefin}@media only screen and (min-width:1280px){[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-size:14px;vertical-align:top;margin:0 3px;text-transform:uppercase;padding:6px 34px 6px 10px;font-weight:600;border:1px solid #c1c1c1;background:url(/assets/images/dropdown-arrow.png) right 7px center/9px no-repeat}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .actions-left[_ngcontent-%COMP%]{-ms-flex-negative:0;flex-shrink:0;margin:0 0 10px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .actions-right[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .range-selector[_ngcontent-%COMP%]{display:inline-block}@media only screen and (min-width:1280px){[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .actions-left[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .actions-right[_ngcontent-%COMP%]{-ms-flex-positive:1;flex-grow:1}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .range-selector[_ngcontent-%COMP%]{margin:10px 0 0;display:block}}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek[_ngcontent-%COMP%]{background:0 0;border:1px solid #c1c1c1;vertical-align:top}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek[_ngcontent-%COMP%]:before{content:none}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.35}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek.prevWeek[_ngcontent-%COMP%]{margin-right:5px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek.prevWeek[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{margin:4px 2px 4px 6px;border-top:1px solid #000;border-right:1px solid #000;width:8px;height:8px;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-ms-transform:rotate(-135deg);transform:rotate(-135deg)}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek.nextWeek[_ngcontent-%COMP%]{margin-left:5px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek.nextWeek[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{margin:4px 6px 4px 2px;border-top:1px solid #000;border-right:1px solid #000;width:8px;height:8px;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-ms-transform:rotate(45deg);transform:rotate(45deg)}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .action-infos[_ngcontent-%COMP%]{-ms-flex:1 1 0%;flex:1 1 0%;padding:0 10px 0 0;-ms-flex-item-align:center;align-self:center}@media only screen and (min-width:1280px){[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .action-infos[_ngcontent-%COMP%]{-ms-flex-item-align:start;align-self:flex-start;text-align:center;padding:0 10px}}@media only screen and (min-width:1500px){[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .range-selector[_ngcontent-%COMP%]{margin:0;display:inline-block}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .action-infos[_ngcontent-%COMP%]{-ms-flex-item-align:center;align-self:center}}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .right-buttons[_ngcontent-%COMP%]{-ms-flex-negative:0;flex-shrink:0;text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .right-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{font-size:14px;height:35px;vertical-align:top;margin-left:5px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%]{overflow-x:auto}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%]{height:100%;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%]{position:fixed;bottom:10px;left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%);z-index:10}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .button-base[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{float:left;position:relative;width:60px;height:60px;border-radius:35px;box-shadow:2px 2px 4px #5d5d5d}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{position:absolute;border-bottom:5px solid #fff;border-right:5px solid #fff;width:14px;height:29px;top:50%;left:50%;-ms-transform:translateX(-50%) translateY(-60%) rotate(45deg);transform:translateX(-50%) translateY(-60%) rotate(45deg)}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]:hover{background-color:#444}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]:disabled{opacity:.8;cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%]{transition:.7s cubic-bezier(.4,0,.2,1);height:auto}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container.has-repas-infos[_ngcontent-%COMP%]{top:0;bottom:0}@media only screen and (min-width:768px){[_nghost-%COMP%] .container[_ngcontent-%COMP%]{height:auto}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .mobile-header[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .convives-container[_ngcontent-%COMP%]{padding-left:20px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%]{padding-left:20px;padding-right:20px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%]{min-width:1223px;overflow-x:visible;padding-bottom:20px;padding-left:20px;padding-right:20px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%]{width:100%!important;position:static;display:-ms-flexbox;display:flex}}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow-y:hidden;position:relative;width:100vw;float:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .day-head[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .day-head[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin:0 12px;line-height:38px;font-size:15px;font-family:robotoslab;text-transform:uppercase;color:#000;display:block}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .day-head[_ngcontent-%COMP%] .invalid[_ngcontent-%COMP%]{margin-bottom:2px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .day-head[_ngcontent-%COMP%] img.has-piquenique[_ngcontent-%COMP%]{width:22px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .prestations[_ngcontent-%COMP%]{max-width:100%;width:100vw}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .mobile-repas-infos[_ngcontent-%COMP%]{margin:10px 10px 80px;float:left;text-align:center}@media only screen and (min-width:768px){[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%]{-ms-flex:1 1 0%;flex:1 1 0%;height:100%;margin:0 5px 0 0;width:initial;float:none}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%]:last-child{margin-right:0}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .day-head[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;height:38px;margin-bottom:10px;text-align:center;border-left:1px solid #ccc;border-bottom:1px solid #ccc;border-right:1px solid #ccc}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .prestations[_ngcontent-%COMP%]{width:auto;border:1px solid #ccc}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .mobile-repas-infos[_ngcontent-%COMP%]{display:none}}[_nghost-%COMP%] .presta-nodata[_ngcontent-%COMP%]{text-align:center;max-width:100%;width:100vw;padding-top:12px;font-size:20px;border-top-width:2px;border-top-style:solid}@media only screen and (min-width:768px){[_nghost-%COMP%] .presta-nodata[_ngcontent-%COMP%]{font-size:16px;margin-top:2px;border-top:none}}[_nghost-%COMP%] .refresh-button[_ngcontent-%COMP%]{border:1px solid #ccc;width:15px;height:43px;padding:0;display:none}@media only screen and (min-width:768px){[_nghost-%COMP%] .refresh-button[_ngcontent-%COMP%]{display:inline-block}}[_nghost-%COMP%] .validate-button[_ngcontent-%COMP%]{margin-left:10px!important}\"];\nexport { styles as styles };\n","\r\n
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t{{convive.libelle}}\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tCommande validée le {{cmdRepas.dateModification}} par {{cmdRepas.modifiePar}} \r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t
\r\n\t\t\r\n\t\t
Aucun effectif
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{{jour.dayString + ' ' +jour.day+' ' +jour.monthShort}}\r\n\t\t\t\t\t\t 0\" src=\"/assets/images/repas/piquenique.png\" />\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tAucune donnée pour ce jour\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\tCommande validée le {{cmdRepas.dateModification}} par {{cmdRepas.modifiePar}}\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import { ContactModel } from '../models/contact.model';\r\nimport { Component, OnInit, Input, ChangeDetectionStrategy } from '@angular/core';\r\nimport { stringToColor } from '../../shared/helpers/color.helper';\r\n\r\n@Component({\r\n selector: 'app-contact-card',\r\n templateUrl: './contact-card.component.html',\r\n styleUrls: ['./contact-card.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ContactCardComponent implements OnInit {\r\n public initialsColor: string;\r\n public initials: string;\r\n private _contact: ContactModel;\r\n @Input() set contact(value: ContactModel) {\r\n this._contact = value;\r\n if (!value) {\r\n this.initials = '';\r\n this.initials = '#000';\r\n } else {\r\n this.initials = value.nom[0] + value.prenom[0];\r\n this.initialsColor = stringToColor(this.initials);\r\n }\r\n }\r\n get contact(): ContactModel {\r\n return this._contact;\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","function getHashCode(text:string) {\r\n var hash = 0;\r\n if (text.length == 0) return hash;\r\n for (var i = 0; i < text.length; i++) {\r\n hash = text.charCodeAt(i) + ((hash << 5) - hash);\r\n hash = hash & hash; // Convert to 32bit integer\r\n }\r\n return hash;\r\n};\r\n\r\nfunction intToHSL(val : number) {\r\n var shortened = val % 360;\r\n return \"hsl(\" + shortened + \",40%,60%)\";\r\n};\r\n\r\nexport function stringToColor(text : string){\r\n return intToHSL(getHashCode(text));\r\n}","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./contact-card.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./contact-card.component\";\nvar styles_ContactCardComponent = [i0.styles];\nvar RenderType_ContactCardComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ContactCardComponent, data: {} });\nexport { RenderType_ContactCardComponent as RenderType_ContactCardComponent };\nfunction View_ContactCardComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"img\", [[\"src\", \"/assets/images/contact/mobile-icon.png\"]], null, null, null, null, null))], null, null); }\nfunction View_ContactCardComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"img\", [[\"src\", \"/assets/images/contact/phone-icon.png\"]], null, null, null, null, null))], null, null); }\nexport function View_ContactCardComponent_0(_l) { return i1.ɵvid(2, [(_l()(), i1.ɵeld(0, 0, null, null, 26, \"div\", [[\"class\", \"card\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 14, \"div\", [[\"class\", \"top\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 2, \"div\", [[\"class\", \"left\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"div\", [[\"class\", \"initials\"]], [[4, \"background-color\", null]], null, null, null, null)), (_l()(), i1.ɵted(4, null, [\" \", \" \"])), (_l()(), i1.ɵeld(5, 0, null, null, 10, \"div\", [[\"class\", \"right\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 4, \"div\", [[\"class\", \"name\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"span\", [[\"class\", \"lastname\"]], null, null, null, null, null)), (_l()(), i1.ɵted(8, null, [\" \", \" \"])), (_l()(), i1.ɵeld(9, 0, null, null, 1, \"span\", [[\"class\", \"firstname\"]], null, null, null, null, null)), (_l()(), i1.ɵted(10, null, [\" \", \" \"])), (_l()(), i1.ɵeld(11, 0, null, null, 2, \"div\", [[\"class\", \"email\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"a\", [], [[8, \"href\", 4]], null, null, null, null)), (_l()(), i1.ɵted(13, null, [\"\", \"\"])), (_l()(), i1.ɵeld(14, 0, null, null, 1, \"div\", [[\"class\", \"job\"]], null, null, null, null, null)), (_l()(), i1.ɵted(15, null, [\" \", \" \"])), (_l()(), i1.ɵeld(16, 0, null, null, 10, \"div\", [[\"class\", \"bottom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(17, 0, null, null, 4, \"div\", [[\"class\", \"block mobile\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ContactCardComponent_1)), i1.ɵdid(19, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(20, 0, null, null, 1, \"a\", [], [[8, \"href\", 4]], null, null, null, null)), (_l()(), i1.ɵted(21, null, [\" \", \"\"])), (_l()(), i1.ɵeld(22, 0, null, null, 4, \"div\", [[\"class\", \"block phone\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ContactCardComponent_2)), i1.ɵdid(24, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(25, 0, null, null, 1, \"a\", [], [[8, \"href\", 4]], null, null, null, null)), (_l()(), i1.ɵted(26, null, [\" \", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.contact.mobile; _ck(_v, 19, 0, currVal_7); var currVal_10 = _co.contact.telephone; _ck(_v, 24, 0, currVal_10); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.initialsColor; _ck(_v, 3, 0, currVal_0); var currVal_1 = _co.initials; _ck(_v, 4, 0, currVal_1); var currVal_2 = _co.contact.nom; _ck(_v, 8, 0, currVal_2); var currVal_3 = _co.contact.prenom; _ck(_v, 10, 0, currVal_3); var currVal_4 = (\"mailto:\" + _co.contact.email); _ck(_v, 12, 0, currVal_4); var currVal_5 = _co.contact.email; _ck(_v, 13, 0, currVal_5); var currVal_6 = _co.contact.fonction; _ck(_v, 15, 0, currVal_6); var currVal_8 = (\"tel:\" + _co.contact.mobile); _ck(_v, 20, 0, currVal_8); var currVal_9 = _co.contact.mobile; _ck(_v, 21, 0, currVal_9); var currVal_11 = (\"tel:\" + _co.contact.telephone); _ck(_v, 25, 0, currVal_11); var currVal_12 = _co.contact.telephone; _ck(_v, 26, 0, currVal_12); }); }\nexport function View_ContactCardComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-contact-card\", [], null, null, null, View_ContactCardComponent_0, RenderType_ContactCardComponent)), i1.ɵdid(1, 114688, null, 0, i3.ContactCardComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar ContactCardComponentNgFactory = i1.ɵccf(\"app-contact-card\", i3.ContactCardComponent, View_ContactCardComponent_Host_0, { contact: \"contact\" }, {}, []);\nexport { ContactCardComponentNgFactory as ContactCardComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{display:inline-block;width:380px;height:208px;font-size:22px}[_nghost-%COMP%] .card[_ngcontent-%COMP%]{width:100%;height:100%;border:1px solid #e6e6e6;box-shadow:1px 1px 1px #b1b1b1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}[_nghost-%COMP%] .card[_ngcontent-%COMP%] .top[_ngcontent-%COMP%]{-ms-flex:1;flex:1;background:#fafafa;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}[_nghost-%COMP%] .card[_ngcontent-%COMP%] .top[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;padding:0 24px;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}[_nghost-%COMP%] .card[_ngcontent-%COMP%] .top[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .initials[_ngcontent-%COMP%]{border-radius:50%;background:#000;color:#fff;font-size:26px;line-height:56px;width:56px;height:56px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center}[_nghost-%COMP%] .card[_ngcontent-%COMP%] .top[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-line-pack:center;align-content:center;-ms-flex-pack:center;justify-content:center}[_nghost-%COMP%] .card[_ngcontent-%COMP%] .top[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .name[_ngcontent-%COMP%] .lastname[_ngcontent-%COMP%]{font-weight:800}[_nghost-%COMP%] .card[_ngcontent-%COMP%] .top[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .name[_ngcontent-%COMP%] .firstname[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .card[_ngcontent-%COMP%] .top[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .email[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#419cc7;font-size:.9em;text-decoration:underline}[_nghost-%COMP%] .card[_ngcontent-%COMP%] .top[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .job[_ngcontent-%COMP%]{margin-top:3px;font-weight:300;font-size:.9em}[_nghost-%COMP%] .card[_ngcontent-%COMP%] .bottom[_ngcontent-%COMP%]{height:50px;background:#fff;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;line-height:50px}[_nghost-%COMP%] .card[_ngcontent-%COMP%] .bottom[_ngcontent-%COMP%] .block[_ngcontent-%COMP%]{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-line-pack:center;align-content:center;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;font-weight:300}[_nghost-%COMP%] .card[_ngcontent-%COMP%] .bottom[_ngcontent-%COMP%] .block[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:4px;height:18px}[_nghost-%COMP%] .card[_ngcontent-%COMP%] .bottom[_ngcontent-%COMP%] .block[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#419cc7;font-size:.9em;text-decoration:underline}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n
\r\n {{initials}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{contact.nom}}\r\n \r\n \r\n {{contact.prenom}}\r\n \r\n
\r\n \r\n
\r\n {{contact.fonction}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { RestaurantTypeEnum } from '../../../shared/enums/restaurant-type.enum';\r\nimport { ContactModel } from '../../models/contact.model';\r\nimport { Component, OnInit, Input, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-contact-list',\r\n templateUrl: './contact-list.component.html',\r\n styleUrls: ['./contact-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ContactListComponent {\r\n @Input() contacts: ContactModel[];\r\n @Input() restType: RestaurantTypeEnum;\r\n}","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./contact-list.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../contact-card/contact-card.component.ngfactory\";\nimport * as i3 from \"../../contact-card/contact-card.component\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"./contact-list.component\";\nvar styles_ContactListComponent = [i0.styles];\nvar RenderType_ContactListComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ContactListComponent, data: {} });\nexport { RenderType_ContactListComponent as RenderType_ContactListComponent };\nfunction View_ContactListComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-contact-card\", [], null, null, null, i2.View_ContactCardComponent_0, i2.RenderType_ContactCardComponent)), i1.ɵdid(1, 114688, null, 0, i3.ContactCardComponent, [], { contact: [0, \"contact\"] }, null)], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_ContactListComponent_0(_l) { return i1.ɵvid(2, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_ContactListComponent_1)), i1.ɵdid(1, 278528, null, 0, i4.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.contacts; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_ContactListComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-contact-list\", [], null, null, null, View_ContactListComponent_0, RenderType_ContactListComponent)), i1.ɵdid(1, 49152, null, 0, i5.ContactListComponent, [], null, null)], null, null); }\nvar ContactListComponentNgFactory = i1.ɵccf(\"app-contact-list\", i5.ContactListComponent, View_ContactListComponent_Host_0, { contacts: \"contacts\", restType: \"restType\" }, {}, []);\nexport { ContactListComponentNgFactory as ContactListComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}[_nghost-%COMP%] app-contact-card[_ngcontent-%COMP%]{margin:6px}\"];\nexport { styles as styles };\n","\r\n\r\n\r\n","\r\nimport { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { debounceTime, finalize, first } from 'rxjs/operators';\r\nimport { RestaurantTypeEnum } from \"../shared/enums/restaurant-type.enum\";\r\nimport { LogoRouteService } from \"../shared/services/api/logo/logo-route.service\";\r\nimport { ApplicationDataService } from \"../shared/services/application-data.service\";\r\nimport { ContactModel } from \"./models/contact.model\";\r\nimport { ContactService } from \"./services/contact.service\";\r\n\r\n@Component({\r\n selector: \"app-contact\",\r\n templateUrl: \"./contact.component.html\",\r\n styleUrls: [\"./contact.component.scss\"]\r\n})\r\nexport class ContactComponent implements OnInit, OnDestroy {\r\n /** Subs */\r\n contratSubscription: Subscription;\r\n restSubscription: Subscription;\r\n\r\n /** Transverse */\r\n contratId: number;\r\n cuisineCentraleId: number;\r\n logoContratUrl: string = \"\";\r\n restType: RestaurantTypeEnum;\r\n\r\n /** Contacts */\r\n urgenceContacts: ContactModel[];\r\n contacts: ContactModel[];\r\n isLoadingContacts: boolean;\r\n hasContacts: boolean;\r\n\r\n constructor(private appDataService: ApplicationDataService,\r\n private logoService: LogoRouteService,\r\n private contactService: ContactService) { }\r\n\r\n /** Ng Lifecycle */\r\n ngOnInit() {\r\n this.handleSubs();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.contratSubscription)\r\n this.contratSubscription.unsubscribe();\r\n if (this.restSubscription)\r\n this.restSubscription.unsubscribe();\r\n }\r\n\r\n getContacts() {\r\n if (!this.contratId) {\r\n return;\r\n }\r\n\r\n this.isLoadingContacts = true;\r\n this.contacts = [];\r\n this.urgenceContacts = [];\r\n\r\n this.contactService.getContacts(this.contratId, this.cuisineCentraleId).pipe(\r\n debounceTime(1000),\r\n first(),\r\n finalize(() => {\r\n this.hasContacts = this.contacts.length + this.urgenceContacts.length > 0;\r\n this.isLoadingContacts = false;\r\n })).subscribe((contacts: ContactModel[]) => {\r\n contacts.forEach(c => {\r\n if (c.estUrgence) {\r\n this.urgenceContacts.push(c);\r\n }\r\n else {\r\n this.contacts.push(c);\r\n }\r\n });\r\n });\r\n }\r\n\r\n handleSubs() {\r\n this.contratSubscription = this.appDataService.contrat$.subscribe(\r\n contrat => {\r\n if (contrat != null) {\r\n this.contratId = contrat.id;\r\n this.cuisineCentraleId = contrat.cuisineCentraleId;\r\n this.logoContratUrl = this.logoService.GetPicture2Url(contrat.id, contrat.cuisineCentraleId);\r\n\r\n // Get contacts\r\n this.getContacts();\r\n }\r\n });\r\n\r\n this.restSubscription = this.appDataService.restaurant$.subscribe(\r\n rest => {\r\n if (rest != null) {\r\n this.restType = rest.type;\r\n }\r\n });\r\n }\r\n}\r\n","import { ContactModel } from '../models/contact.model';\r\nimport { GetContactsApiResponse } from '../models/api/get-contacts.apiresponse';\r\n\r\nexport class ContactProjector {\r\n\r\n public static projectContacts(apiContacts: GetContactsApiResponse.Contact[]): ContactModel[] {\r\n return apiContacts.map(apiContact => {\r\n const contact: ContactModel = {\r\n contratId: apiContact.contratId,\r\n email: apiContact.email,\r\n estPiqueNique: apiContact.estPiqueNique,\r\n estUrgence: apiContact.estUrgence,\r\n fax: apiContact.fax,\r\n fonction: apiContact.fonction,\r\n id: apiContact.id,\r\n mobile: apiContact.mobile,\r\n nom: apiContact.nom,\r\n prenom: apiContact.prenom,\r\n telephone: apiContact.telephone\r\n };\r\n\r\n return contact;\r\n });\r\n\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { GetContactsApiResponse } from '../models/api/get-contacts.apiresponse';\r\nimport { ContactModel } from '../models/contact.model';\r\nimport { ContactProjector } from '../projectors/contact.projector';\r\nimport { ContactApiService } from './api/contact.apiservice';\r\n\r\n@Injectable()\r\nexport class ContactService {\r\n constructor(private contactApiService: ContactApiService) {\r\n }\r\n\r\n getContacts(contratId: number, cuisineCentraleId: number): Observable {\r\n return this.contactApiService.getContacts(contratId, cuisineCentraleId).pipe(map((contacts: GetContactsApiResponse.Contact[]) => {\r\n return ContactProjector.projectContacts(contacts);\r\n }));\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./contact.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../loader/loader.component.ngfactory\";\nimport * as i3 from \"../loader/loader.component\";\nimport * as i4 from \"./contact-list/contact-list/contact-list.component.ngfactory\";\nimport * as i5 from \"./contact-list/contact-list/contact-list.component\";\nimport * as i6 from \"@angular/common\";\nimport * as i7 from \"./contact.component\";\nimport * as i8 from \"../shared/services/application-data.service\";\nimport * as i9 from \"../shared/services/api/logo/logo-route.service\";\nimport * as i10 from \"./services/contact.service\";\nvar styles_ContactComponent = [i0.styles];\nvar RenderType_ContactComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ContactComponent, data: {} });\nexport { RenderType_ContactComponent as RenderType_ContactComponent };\nfunction View_ContactComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"info-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement des contacts...\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement des contacts...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ContactComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"div\", [[\"class\", \"no-contacts\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h2\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Contacts\"])), (_l()(), i1.ɵted(-1, null, [\" Aucun contact n'est d\\u00E9fini sur ce contrat \"]))], null, null); }\nfunction View_ContactComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"section\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h2\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Urgence\"])), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"app-contact-list\", [], null, null, null, i4.View_ContactListComponent_0, i4.RenderType_ContactListComponent)), i1.ɵdid(4, 49152, null, 0, i5.ContactListComponent, [], { contacts: [0, \"contacts\"], restType: [1, \"restType\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.urgenceContacts; var currVal_1 = _co.restType; _ck(_v, 4, 0, currVal_0, currVal_1); }, null); }\nfunction View_ContactComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"section\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h2\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Contacts\"])), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"app-contact-list\", [], null, null, null, i4.View_ContactListComponent_0, i4.RenderType_ContactListComponent)), i1.ɵdid(4, 49152, null, 0, i5.ContactListComponent, [], { contacts: [0, \"contacts\"], restType: [1, \"restType\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.contacts; var currVal_1 = _co.restType; _ck(_v, 4, 0, currVal_0, currVal_1); }, null); }\nfunction View_ContactComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ContactComponent_5)), i1.ɵdid(2, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ContactComponent_6)), i1.ɵdid(4, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.urgenceContacts.length > 0); _ck(_v, 2, 0, currVal_0); var currVal_1 = (_co.contacts.length > 0); _ck(_v, 4, 0, currVal_1); }, null); }\nfunction View_ContactComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ContactComponent_3)), i1.ɵdid(2, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ContactComponent_4)), i1.ɵdid(4, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.hasContacts; _ck(_v, 2, 0, currVal_0); var currVal_1 = _co.hasContacts; _ck(_v, 4, 0, currVal_1); }, null); }\nexport function View_ContactComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 6, \"div\", [[\"class\", \"main-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"div\", [[\"class\", \"ribbon\"]], [[4, \"background-image\", null]], null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 4, \"div\", [[\"class\", \"page-container contact-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ContactComponent_1)), i1.ɵdid(4, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ContactComponent_2)), i1.ɵdid(6, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.isLoadingContacts; _ck(_v, 4, 0, currVal_1); var currVal_2 = !_co.isLoadingContacts; _ck(_v, 6, 0, currVal_2); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((\"url(\" + _co.logoContratUrl) + \")\"); _ck(_v, 1, 0, currVal_0); }); }\nexport function View_ContactComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-contact\", [], null, null, null, View_ContactComponent_0, RenderType_ContactComponent)), i1.ɵdid(1, 245760, null, 0, i7.ContactComponent, [i8.ApplicationDataService, i9.LogoRouteService, i10.ContactService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar ContactComponentNgFactory = i1.ɵccf(\"app-contact\", i7.ContactComponent, View_ContactComponent_Host_0, {}, {}, []);\nexport { ContactComponentNgFactory as ContactComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .contact-container[_ngcontent-%COMP%]{min-height:500px;position:relative}[_nghost-%COMP%] .no-contacts[_ngcontent-%COMP%]{text-align:center;font-size:1.5rem}[_nghost-%COMP%] h2[_ngcontent-%COMP%]{margin-left:6px}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

Contacts

\r\n Aucun contact n'est défini sur ce contrat\r\n
\r\n
\r\n
0\">\r\n

Urgence

\r\n \r\n \r\n
\r\n
0\">\r\n

Contacts

\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Pipe, PipeTransform } from '@angular/core';\r\nimport * as moment from 'moment';\r\n\r\n@Pipe({ name: 'dateFormat' })\r\nexport class DateFormatPipe implements PipeTransform {\r\n transform(value: Date, format?: string): string {\r\n // TODO : Add moment\r\n if (!value) {\r\n return '';\r\n }\r\n if (format) {\r\n return moment(value).format(format);\r\n } else {\r\n return moment(value).format('DD/MM/YYYY');\r\n }\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{width:100%;display:-ms-flexbox;display:flex}[_nghost-%COMP%] input[_ngcontent-%COMP%]{-ms-flex-positive:1;flex-grow:1}[_nghost-%COMP%] .clear-button[_ngcontent-%COMP%]{-ms-flex-negative:0;flex-shrink:0;display:-ms-inline-flexbox;display:inline-flex}\"];\nexport { styles as styles };\n","import { AfterViewInit, Component, ElementRef, forwardRef, Input, Renderer2, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport * as moment from 'moment';\r\nimport * as Pikaday from 'pikaday';\r\nimport { DateHelper } from '../shared/helpers/date.helper';\r\nimport { ErrorPrettyDatePipe } from '../shared/pipes/error-pretty-date.pipe';\r\n\r\nexport interface DatePickerInfo {\r\n minDate?: Date;\r\n maxDate?: Date;\r\n enableDayFilter?: boolean;\r\n availableDays?: Date[];\r\n showClearButton?: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-date-input',\r\n templateUrl: './date-input.component.html',\r\n styleUrls: ['./date-input.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DateInputComponent),\r\n multi: true\r\n },\r\n ErrorPrettyDatePipe\r\n ]\r\n})\r\nexport class DateInputComponent implements ControlValueAccessor, AfterViewInit {\r\n\r\n // get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n }\r\n\r\n // set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v;\r\n this.onChange(v);\r\n }\r\n }\r\n\r\n private _disabled: boolean = false;\r\n @Input() public set disabled(disabled: boolean) {\r\n this._disabled = disabled;\r\n this.applyPickaday();\r\n }\r\n public get disabled(): boolean { return this._disabled; }\r\n\r\n @Input() calendarInfo: DatePickerInfo;\r\n @Input() format: string = 'DD/MM/YYYY';\r\n @Input() placeholder: string = '';\r\n @Input() class: string = '';\r\n\r\n @ViewChild('dateInput', { static: true })\r\n private _inputRef: ElementRef;\r\n\r\n public get inputId(): string {\r\n return 'input-' + this._elementRef.nativeElement.id;\r\n }\r\n\r\n // The internal data model\r\n private innerValue: any = '';\r\n\r\n private minDate: Date;\r\n private maxDate: Date;\r\n private enableDayFilter: boolean;\r\n private availableDays: Date[];\r\n private yearRange: number[];\r\n private calendar: Pikaday;\r\n\r\n private i18n: any = {\r\n previousMonth: 'Mois précédent',\r\n nextMonth: 'Mois suivant',\r\n months: DateHelper.monthNames,\r\n weekdays: DateHelper.dayNames,\r\n weekdaysShort: DateHelper.dayNamesShort\r\n };\r\n\r\n private _viewInitialized = false;\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private _renderer: Renderer2\r\n ) {\r\n }\r\n\r\n // Placeholders for the callbacks which are later providesd\r\n // by the Control Value Accessor\r\n onChange = (_) => { };\r\n onTouched = () => { };\r\n\r\n ngAfterViewInit() {\r\n const currentDate = moment();\r\n\r\n this.minDate = this.calendarInfo.minDate || currentDate.toDate();\r\n this.maxDate = this.calendarInfo.maxDate || currentDate.endOf('year').add(2, 'year').toDate();\r\n this.availableDays = this.calendarInfo.availableDays || [];\r\n\r\n this.enableDayFilter = this.calendarInfo.enableDayFilter || false;\r\n\r\n this.yearRange = [this.minDate.getFullYear(), this.maxDate.getFullYear()];\r\n\r\n this._viewInitialized = true;\r\n\r\n this.applyPickaday();\r\n }\r\n\r\n private applyPickaday() {\r\n if (!this.disabled) {\r\n this.attachPickaday();\r\n } else {\r\n this.removePickaday();\r\n }\r\n }\r\n\r\n private attachPickaday() {\r\n if (this._viewInitialized && !this.calendar) {\r\n this.calendar = new Pikaday({\r\n // field: this._elementRef.nativeElement,\r\n field: this._inputRef.nativeElement,\r\n firstDay: 1,\r\n minDate: this.minDate,\r\n maxDate: this.maxDate,\r\n format: this.format,\r\n formatStrict: true,\r\n yearRange: this.yearRange,\r\n disableDayFn: this.isItADisabledDay.bind(this),\r\n i18n: this.i18n,\r\n showWeekNumber: true,\r\n onSelect: (date: Date) => {\r\n this.value = date;\r\n }\r\n });\r\n }\r\n }\r\n private removePickaday() {\r\n if (this.calendar) {\r\n this.calendar.destroy();\r\n this.calendar = null;\r\n }\r\n }\r\n\r\n public setNewDate(d: Date) {\r\n this.calendar.setDate(d);\r\n }\r\n\r\n private isItADisabledDay(day: Date): boolean {\r\n if (!this.enableDayFilter) {\r\n return false;\r\n }\r\n if (this.availableDays) {\r\n for (let i = 0; i < this.availableDays.length; i++) {\r\n if (DateHelper.areSameDayOfYear(this.availableDays[i], day)) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n public clear() {\r\n if (this.calendar) {\r\n // this.calendar.clear(); // BUG clear n'existe pas ??\r\n this.calendar.setDate(null);\r\n this.calendar.gotoToday();\r\n }\r\n this.value = null;\r\n }\r\n\r\n // Set touched on blur\r\n public onBlur() {\r\n this.onTouched();\r\n }\r\n\r\n // From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n }\r\n }\r\n\r\n // From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n // From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n\r\n onModelChange(val: Date) {\r\n if (val instanceof Date) {\r\n this.value = val;\r\n } else {\r\n const newDate = moment(val, this.format);\r\n this.value = newDate.isValid() ? newDate.toDate() : null;\r\n }\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n // this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\r\n this.disabled = isDisabled;\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./date-input.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../shared/pipes/dateFormat.pipe\";\nimport * as i3 from \"@angular/forms\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"./date-input.component\";\nimport * as i6 from \"../shared/pipes/error-pretty-date.pipe\";\nvar styles_DateInputComponent = [i0.styles];\nvar RenderType_DateInputComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_DateInputComponent, data: {} });\nexport { RenderType_DateInputComponent as RenderType_DateInputComponent };\nfunction View_DateInputComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"button\", [[\"class\", \"generic-button clear-button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.clear() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"clear\"]))], null, null); }\nexport function View_DateInputComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i2.DateFormatPipe, []), i1.ɵqud(402653184, 1, { _inputRef: 0 }), (_l()(), i1.ɵeld(2, 0, null, null, 9, \"div\", [[\"class\", \"main-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, [[1, 0], [\"dateInput\", 1]], null, 6, \"input\", [], [[1, \"id\", 0], [8, \"className\", 0], [8, \"placeholder\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"blur\"], [null, \"input\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 4)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 4)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = (_co.onModelChange($event) !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (_co.onBlur() !== false);\n ad = (pd_5 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i3.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i3.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i3.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i3.DefaultValueAccessor]), i1.ɵdid(6, 671744, null, 0, i3.NgModel, [[8, null], [8, null], [8, null], [6, i3.NG_VALUE_ACCESSOR]], { isDisabled: [0, \"isDisabled\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵppd(7, 2), i1.ɵprd(2048, null, i3.NgControl, null, [i3.NgModel]), i1.ɵdid(9, 16384, null, 0, i3.NgControlStatus, [[4, i3.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DateInputComponent_1)), i1.ɵdid(11, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_10 = _co.disabled; var currVal_11 = i1.ɵunv(_v, 6, 1, _ck(_v, 7, 0, i1.ɵnov(_v, 0), _co.value, _co.format)); _ck(_v, 6, 0, currVal_10, currVal_11); var currVal_12 = (!_co.disabled && _co.calendarInfo.showClearButton); _ck(_v, 11, 0, currVal_12); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.inputId; var currVal_1 = (\"date-input \" + _co.class); var currVal_2 = _co.placeholder; var currVal_3 = i1.ɵnov(_v, 9).ngClassUntouched; var currVal_4 = i1.ɵnov(_v, 9).ngClassTouched; var currVal_5 = i1.ɵnov(_v, 9).ngClassPristine; var currVal_6 = i1.ɵnov(_v, 9).ngClassDirty; var currVal_7 = i1.ɵnov(_v, 9).ngClassValid; var currVal_8 = i1.ɵnov(_v, 9).ngClassInvalid; var currVal_9 = i1.ɵnov(_v, 9).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9); }); }\nexport function View_DateInputComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"app-date-input\", [], null, null, null, View_DateInputComponent_0, RenderType_DateInputComponent)), i1.ɵprd(5120, null, i3.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i5.DateInputComponent]), i1.ɵprd(4608, null, i6.ErrorPrettyDatePipe, i6.ErrorPrettyDatePipe, []), i1.ɵdid(3, 4243456, null, 0, i5.DateInputComponent, [i1.ElementRef, i1.Renderer2], null, null)], null, null); }\nvar DateInputComponentNgFactory = i1.ɵccf(\"app-date-input\", i5.DateInputComponent, View_DateInputComponent_Host_0, { disabled: \"disabled\", calendarInfo: \"calendarInfo\", format: \"format\", placeholder: \"placeholder\", class: \"class\" }, {}, []);\nexport { DateInputComponentNgFactory as DateInputComponentNgFactory };\n","
\r\n\r\n\r\n
\r\n","export class HistoryCommandeModel {\r\n id: number;\r\n numberArticles: number;\r\n canEdit: boolean;\r\n canDuplicate: boolean;\r\n canDelete: boolean;\r\n restaurant: string;\r\n\r\n estValidee?: boolean;\r\n estTransmise: boolean;\r\n dateCommande: Date;\r\n dateLivraison: Date;\r\n etat: EtatCommandeEnum;\r\n}\r\n\r\nexport enum EtatCommandeEnum {\r\n Transmise,\r\n ValideeNonTransmise,\r\n EnAttenteValidation\r\n}\r\n","export class TypeListeArticlesModel {\r\n typesListeArticleEpicerie: TypeListeArticleModel[];\r\n typesListeArticleInventaire: TypeListeArticleModel[];\r\n}\r\n\r\nexport class TypeListeArticleModel {\r\n id: number;\r\n libelle: string;\r\n validationRequise: boolean;\r\n actif: boolean;\r\n estGratuit: boolean;\r\n frequence: TypeListArticleFrequenceEnum;\r\n type: TypeListeEnum;\r\n dateDebutInventaire?: Date;\r\n dateFinInventaire?: Date;\r\n}\r\n\r\nexport enum TypeListeEnum {\r\n Epicerie,\r\n Inventaire\r\n}\r\n\r\n\r\nexport enum TypeListArticleFrequenceEnum {\r\n Quotidienne,\r\n Hebdomadaire,\r\n Mensuelle\r\n}\r\n","\r\nimport { Component, EventEmitter, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FileHelper } from '../shared/helpers/file.helper';\r\nimport { FileResultModel } from '../shared/models/fileresult.model';\r\nimport * as moment from 'moment';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { debounceTime, finalize, first } from 'rxjs/operators';\r\nimport { DatePickerInfo } from '../date-input/date-input.component';\r\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\nimport { DateHelper } from '../shared/helpers/date.helper';\r\nimport { ErrorApiModel } from '../shared/models/api/error/error.apimodel';\r\nimport { NotificationConfirmModel } from '../shared/models/notification.model';\r\nimport { LogoRouteService } from '../shared/services/api/logo/logo-route.service';\r\nimport { ApplicationDataService } from '../shared/services/application-data.service';\r\nimport { InteractionService } from '../shared/services/interaction.service';\r\nimport { LogService } from '../shared/services/log.service';\r\nimport { EtatCommandeEnum, HistoryCommandeModel } from './models/history-commande.model';\r\nimport { TypeListeArticleModel, TypeListeEnum } from './models/type-liste-articles.model';\r\nimport { EpicerieInventaireService } from './services/epicerie-inventaire.service';\r\nimport { ReportingService } from '../reporting/services/reporting.service';\r\n\r\nconst PAGE_LENGTH = 10;\r\n\r\n@Component({\r\n selector: 'app-epicerie-inventaire',\r\n templateUrl: './epicerie-inventaire.component.html',\r\n styleUrls: ['./epicerie-inventaire.component.scss']\r\n})\r\nexport class EpicerieInventaireComponent implements OnInit, OnDestroy {\r\n EtatCommandeEnum: typeof EtatCommandeEnum = EtatCommandeEnum; // declare enum property to allow use in component template. see: http://stackoverflow.com/a/40034109/590741\r\n TypeListeEnum: typeof TypeListeEnum = TypeListeEnum;\r\n\r\n /** fields */\r\n public isLoadingCommandes: boolean;\r\n public hasLoadedForm: boolean;\r\n private typeListeArticlesEpicerie: TypeListeArticleModel[];\r\n private typeListeArticlesInventaire: TypeListeArticleModel[];\r\n public selectedTypeListeArticles: TypeListeArticleModel[];\r\n public commandes: HistoryCommandeModel[];\r\n\r\n /** pagination */\r\n public displayedCommandes: HistoryCommandeModel[];\r\n public pages: number[];\r\n public totalPage: number;\r\n\r\n\r\n public startDate: Date;\r\n public endDate: Date;\r\n private askLoadListeArticlesEmitter: EventEmitter = new EventEmitter();\r\n public estEnAttenteValidation: boolean = false;\r\n public dateCalendarData: DatePickerInfo;\r\n public isPrintCommandeDownloading: boolean = false;\r\n\r\n /** Contrat, restau, logo */\r\n private _contratId: number;\r\n private _cuisineCentraleId: number;\r\n private _restaurantId: number;\r\n private restaurantName: string;\r\n\r\n public currentType: RestaurantTypeEnum;\r\n public logoContratUrl: string = '';\r\n private calendarBase: any;\r\n\r\n /** Emitters / Subscription */\r\n private restaurantSubscription: Subscription;\r\n private contratSubscription: Subscription;\r\n\r\n /** getter setter */\r\n private _selectedTypeListeArticle: TypeListeArticleModel;\r\n public get selectedTypeListeArticle(): TypeListeArticleModel {\r\n return this._selectedTypeListeArticle;\r\n }\r\n\r\n public set selectedTypeListeArticle(val: TypeListeArticleModel) {\r\n // Si la nouvelle liste n'est pas \"validationRequise\", on reset la checkbox\r\n if (val != null && !val.validationRequise) {\r\n this.estEnAttenteValidation = false;\r\n }\r\n\r\n const oldListeArticleId = this.selectedTypeListeArticle && this.selectedTypeListeArticle.id;\r\n this._selectedTypeListeArticle = val;\r\n\r\n if (oldListeArticleId !== (this._selectedTypeListeArticle && this._selectedTypeListeArticle.id)) {\r\n this.getCommandes(); // Recharge les commandes si la liste a changé\r\n }\r\n\r\n }\r\n\r\n private _page: number = 1;\r\n public get page(): number {\r\n return this._page;\r\n }\r\n public set page(value: number) {\r\n if (value > 0 && value <= this.totalPage) {\r\n this._page = value;\r\n }\r\n }\r\n\r\n private _isInventaire: boolean = false;\r\n public get isInventaire(): boolean {\r\n return this._isInventaire;\r\n }\r\n\r\n public set isInventaire(isInv: boolean) {\r\n if (this._isInventaire !== isInv) {\r\n this._isInventaire = isInv;\r\n this.displayListeArticles();\r\n }\r\n }\r\n\r\n private displayListeArticles() {\r\n const newListeArticles = (this.isInventaire)\r\n ? this.typeListeArticlesInventaire\r\n : this.typeListeArticlesEpicerie;\r\n\r\n if (newListeArticles !== this.selectedTypeListeArticles) {\r\n const oldListeArticleId = this.selectedTypeListeArticle && this.selectedTypeListeArticle.id;\r\n this.selectedTypeListeArticles = newListeArticles;\r\n this.selectedTypeListeArticle = (this.selectedTypeListeArticles && this.selectedTypeListeArticles.find((l) => l.id === oldListeArticleId))\r\n || this.selectedTypeListeArticles[0];\r\n }\r\n\r\n }\r\n\r\n public get isTypeListValidationRequise() {\r\n return this.selectedTypeListeArticle != null && this.selectedTypeListeArticle.validationRequise;\r\n }\r\n\r\n constructor(\r\n private router: Router,\r\n private logoService: LogoRouteService,\r\n private logService: LogService,\r\n private appDataService: ApplicationDataService,\r\n private epicerieInventaireService: EpicerieInventaireService,\r\n private interactionService: InteractionService,\r\n private _reportingService: ReportingService\r\n ) {\r\n }\r\n\r\n public ngOnInit() {\r\n /** Dates */\r\n this.calendarBase = {};\r\n this.startDate = moment().startOf('month').toDate();\r\n this.endDate = moment().endOf('month').toDate();\r\n this.dateCalendarData = {\r\n minDate: moment().year(1970).startOf('year').toDate()\r\n };\r\n\r\n this.askLoadListeArticlesEmitter.pipe(\r\n debounceTime(500))\r\n .subscribe(() => {\r\n this.epicerieInventaireService.getTypeListeArticles(this._cuisineCentraleId, this._restaurantId, this._contratId, this.startDate, this.endDate)\r\n .subscribe(res => {\r\n this.typeListeArticlesEpicerie = res.typesListeArticleEpicerie;\r\n this.typeListeArticlesInventaire = res.typesListeArticleInventaire;\r\n\r\n // Une seule fois pour l'init la search box\r\n if (!this.hasLoadedForm) {\r\n this.hasLoadedForm = true;\r\n }\r\n\r\n this.displayListeArticles();\r\n });\r\n\r\n });\r\n\r\n this.contratSubscription = this.appDataService.contrat$.subscribe(\r\n contrat => {\r\n if (contrat != null) {\r\n this._contratId = contrat.id;\r\n this._cuisineCentraleId = contrat.cuisineCentraleId;\r\n this.logoContratUrl = this.logoService.GetPicture2Url(contrat.id, contrat.cuisineCentraleId);\r\n }\r\n });\r\n\r\n this.restaurantSubscription = this.appDataService.restaurant$.subscribe(\r\n restaurant => {\r\n if (restaurant != null) {\r\n // Le next sur le contratSubscription n'est pas assurement trigger avant le restaurantSubscription, donc on s'assure d'avoir le bon _contratId && _ccId à ce moment au moins.\r\n this._contratId = restaurant.contratId;\r\n this._cuisineCentraleId = restaurant.cuisineCentraleId;\r\n this._restaurantId = restaurant.id;\r\n this.currentType = restaurant.type;\r\n this.restaurantName = restaurant.name;\r\n this.askLoadListeArticles();\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.contratSubscription.unsubscribe();\r\n this.restaurantSubscription.unsubscribe();\r\n }\r\n\r\n askLoadListeArticles() {\r\n this.askLoadListeArticlesEmitter.next();\r\n }\r\n\r\n getToolTip(etat: EtatCommandeEnum) {\r\n switch (etat) {\r\n case EtatCommandeEnum.ValideeNonTransmise:\r\n return 'Commande validée, non transmise';\r\n case EtatCommandeEnum.Transmise:\r\n return 'Commande transmise';\r\n case EtatCommandeEnum.EnAttenteValidation:\r\n return 'Commande en attente de validation';\r\n default:\r\n return 'Commande non transmise';\r\n }\r\n }\r\n\r\n\r\n searchCommandes(e: any) {\r\n e.preventDefault();\r\n\r\n // On check si les champs sont valides, si c'est le cas, on getCommande, sinon prompt d'un message d'erreur\r\n if (!this.selectedTypeListeArticles || this.selectedTypeListeArticles.length === 0) {\r\n this.interactionService.showSimpleMessage('Erreur', 'Aucun type de liste n\\'est disponible.');\r\n } else if (!this.selectedTypeListeArticle) {\r\n this.interactionService.showSimpleMessage('Erreur', 'Veuillez choisir un type de liste.');\r\n } else if (!this.startDate || !this.endDate) {\r\n this.interactionService.showSimpleMessage('Erreur', 'Veuillez renseigner des dates valides.');\r\n } else {\r\n this.getCommandes();\r\n }\r\n }\r\n\r\n handleNewCommandes(res: HistoryCommandeModel[]) {\r\n this.commandes = res;\r\n this.computePagination();\r\n this.refreshDisplayedCommandes();\r\n }\r\n\r\n private getCommandes() {\r\n // On check ici, mais les messages d'erreur sont géré au niveau de searchCommandes()\r\n if (!this.selectedTypeListeArticle || !this.startDate || !this.endDate || this.selectedTypeListeArticles.length === 0) {\r\n this.handleNewCommandes([]);\r\n return;\r\n }\r\n\r\n this.isLoadingCommandes = true;\r\n this.epicerieInventaireService.getCommandes(this._cuisineCentraleId, this.selectedTypeListeArticle, this.estEnAttenteValidation, this._restaurantId, this._contratId, this.startDate, this.endDate).pipe(\r\n debounceTime(1000),\r\n first(),\r\n finalize(() => {\r\n this.isLoadingCommandes = false;\r\n }))\r\n .subscribe(res => {\r\n this.handleNewCommandes(res);\r\n },\r\n err => {\r\n this.interactionService.showSimpleMessage('Erreur', 'Une erreur est survenue lors de la récupération des commandes.');\r\n this.handleNewCommandes([]);\r\n // On refresh, pour rester cohérent si changement de restau, etc...\r\n this.refreshDisplayedCommandes();\r\n });\r\n }\r\n\r\n /** Pagination */\r\n private refreshDisplayedCommandes() {\r\n const start = (this.page - 1) * PAGE_LENGTH;\r\n const end = this.page * PAGE_LENGTH;\r\n\r\n if (this.commandes) {\r\n this.displayedCommandes = this.commandes.slice(start, end);\r\n }\r\n }\r\n\r\n /** Calcule le nombre de pages et créer chaque indicateur */\r\n private computePagination() {\r\n this.page = 1;\r\n this.totalPage = Math.ceil(this.commandes.length / PAGE_LENGTH);\r\n this.pages = new Array();\r\n for (let i = 2; i <= this.totalPage - 1; i++) {\r\n this.pages.push(i);\r\n }\r\n }\r\n\r\n prev() {\r\n this.page--;\r\n this.refreshDisplayedCommandes();\r\n }\r\n\r\n next() {\r\n this.page++;\r\n this.refreshDisplayedCommandes();\r\n }\r\n\r\n changePage(page: number) {\r\n this.page = page;\r\n this.refreshDisplayedCommandes();\r\n }\r\n\r\n isPageDisplayed(page: number): boolean {\r\n if (this.page === 1) {\r\n return page <= this.page + 2 && page >= this.page - 1;\r\n } else if (this.page === this.totalPage) {\r\n return page <= this.page + 1 && page >= this.page - 2;\r\n } else {\r\n return page <= this.page + 1 && page >= this.page - 1;\r\n }\r\n }\r\n\r\n /** navigation */\r\n openCommande(commande: HistoryCommandeModel) {\r\n if (commande.canEdit) {\r\n this.navigateToEdit(commande.id);\r\n } else {\r\n this.navigateToConsult(commande.id);\r\n }\r\n }\r\n\r\n navigateToCreate() {\r\n if (!this.selectedTypeListeArticle) {\r\n this.interactionService.showSimpleMessage('Erreur', 'Aucune liste sélectionnée.');\r\n return;\r\n }\r\n\r\n if (!this.selectedTypeListeArticle.actif) {\r\n this.interactionService.showSimpleMessage('Liste désactivée', `La liste '${this.selectedTypeListeArticle.libelle}' est désactivée. Il n'est pas autorisé de créer ${this.selectedTypeListeArticle.type === TypeListeEnum.Epicerie ? 'une nouvelle commande' : 'un nouvel inventaire'}.`);\r\n return;\r\n }\r\n\r\n if (this.selectedTypeListeArticle.type === TypeListeEnum.Inventaire) {\r\n const today = moment();\r\n // vérification si l'inventaire est réalisable aujourd'hui\r\n if (this.selectedTypeListeArticle.dateFinInventaire == null\r\n || !today.isSameOrAfter(this.selectedTypeListeArticle.dateDebutInventaire, 'day')\r\n || !today.isSameOrBefore(this.selectedTypeListeArticle.dateFinInventaire, 'day')) {\r\n\r\n const noInventaireError = (this.selectedTypeListeArticle.dateDebutInventaire\r\n ? `L'inventaire \"${this.selectedTypeListeArticle.libelle}\" n'est n'est pas réalisable aujourd'hui \\n(entre le ${DateHelper.toShortDateString(this.selectedTypeListeArticle.dateDebutInventaire)} et le ${DateHelper.toShortDateString(this.selectedTypeListeArticle.dateFinInventaire)}).`\r\n : 'Pas d\\'inventaire prochainement');\r\n this.interactionService.showSimpleMessage('Inventaire non autorisé', noInventaireError);\r\n return;\r\n }\r\n\r\n }\r\n\r\n this.router.navigate(['/epicerieinventaire/create'], { queryParams: { isInventaire: this.isInventaire, typeListeArticleId: this.selectedTypeListeArticle.id } });\r\n }\r\n\r\n private navigateToConsult(id: number) {\r\n this.router.navigate(['/epicerieinventaire/create'], { queryParams: { isInventaire: this.isInventaire, commandeId: id, typeListeArticleId: this.selectedTypeListeArticle.id, consult: true } });\r\n }\r\n\r\n private navigateToEdit(id: number) {\r\n this.router.navigate(['/epicerieinventaire/create'], { queryParams: { isInventaire: this.isInventaire, commandeId: id, typeListeArticleId: this.selectedTypeListeArticle.id } });\r\n }\r\n\r\n navigateToDuplicate(id: number, e: any) {\r\n if (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n\r\n this.router.navigate(['/epicerieinventaire/create'], { queryParams: { isInventaire: this.isInventaire, commandeId: id, typeListeArticleId: this.selectedTypeListeArticle.id, duplicate: true } });\r\n }\r\n\r\n /** suppression de la commande */\r\n deleteCommande(commande: HistoryCommandeModel, e: any) {\r\n if (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n\r\n const notifConfirmModel: NotificationConfirmModel = new NotificationConfirmModel();\r\n notifConfirmModel.title = 'Suppression';\r\n notifConfirmModel.message = 'Voulez vous vraiment supprimer la commande ?';\r\n notifConfirmModel.fullScreen = true;\r\n notifConfirmModel.onOk = () => {\r\n this.epicerieInventaireService.deleteCommande(commande.id)\r\n .subscribe(res => {\r\n if (res) {\r\n this.interactionService.showSimpleMessage('Suppression', 'La commande a été supprimée.');\r\n // remove item from list\r\n const index = this.commandes.indexOf(commande, 0);\r\n if (index > -1) {\r\n this.commandes.splice(index, 1);\r\n this.refreshDisplayedCommandes();\r\n }\r\n }\r\n },\r\n (error: ErrorApiModel) => {\r\n this.interactionService.showSimpleMessage('Erreur', error.Message);\r\n });\r\n };\r\n\r\n this.interactionService.showNotification(notifConfirmModel);\r\n }\r\n\r\n printCommande(commandeId: number, e: any) {\r\n if (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n\r\n if (this.isPrintCommandeDownloading) {\r\n return;\r\n }\r\n\r\n this.isPrintCommandeDownloading = true;\r\n this.isLoadingCommandes = true; // on affiche le loader\r\n const report$ = this.epicerieInventaireService.imprimerCommande(commandeId).pipe(\r\n finalize(() => {\r\n this.isPrintCommandeDownloading = false;\r\n this.isLoadingCommandes = false;\r\n }),\r\n first());\r\n\r\n this._reportingService.handleReportResponse(report$);\r\n }\r\n\r\n}\r\n","import { CartArticleModel } from \"./article.model\";\r\n\r\nexport class CommandeModel {\r\n id: number;\r\n cuisineCentraleId: number;\r\n restaurantId: number;\r\n typeListeArticleId: number;\r\n dateCommande: Date;\r\n dateValidation: Date;\r\n dateLivraison: Date;\r\n dateReception: Date;\r\n articles: CartArticleModel[];\r\n validationRequise: boolean;\r\n}\r\n","export class ArticleModel {\n id: string;\n libelle: string;\n unite: string;\n unitPrice: number;\n qteLimite: number | null;\n}\n\nexport class CartArticleModel extends ArticleModel {\n quantity: number;\n}\n","export class ArticleApiModel {\n id: string;\n libelle: string;\n unite: string;\n prix: number;\n qteLimite: number | null;\n}\n\nexport class ArticleDetailApiModel extends ArticleApiModel {\n quantite: number;\n}\n","import { DateLivraisonApiModel } from \"./models/api/date-livraison.apimodel\";\nimport { DateLivraisonModel } from \"./models/date-livraison.model\";\nimport { CommandeModel } from \"./models/commande.model\";\nimport { CommandeApiModel } from \"./models/api/commande.apimodel\";\nimport { EtatCommandeEnum, HistoryCommandeModel } from \"./models/history-commande.model\";\nimport {\n TypeListArticleFrequenceEnum,\n TypeListeArticleModel,\n TypeListeArticlesModel,\n TypeListeEnum\n} from \"./models/type-liste-articles.model\";\nimport { TypeListeArticlesApiModel, TypeListeArticleApiModel } from \"./models/api/type-liste-articles.apimodel\";\nimport { ArticleModel, CartArticleModel } from \"./models/article.model\";\nimport { ArticleApiModel, ArticleDetailApiModel } from \"./models/api/article.apimodel\";\nimport { GetCommandesApiResponse } from \"./models/api/get-commandes.apiresponse\";\n\nexport class EpicerieInventaireProjector {\n public static projectArticleToCartArticle(article: ArticleModel, quantity: number): CartArticleModel {\n return {\n id: article.id,\n libelle: article.libelle,\n quantity: quantity,\n unite: article.unite,\n unitPrice: article.unitPrice,\n qteLimite: article.qteLimite\n };\n }\n\n public static projectArticleDetailToCartArticle(article: ArticleDetailApiModel): CartArticleModel {\n return {\n id: article.id,\n libelle: article.libelle,\n quantity: article.quantite,\n unite: article.unite,\n unitPrice: article.prix,\n qteLimite: article.qteLimite\n };\n }\n\n public static projectTypeListeArticles(typeListeArticle: TypeListeArticlesApiModel): TypeListeArticlesModel {\n return {\n typesListeArticleEpicerie: typeListeArticle.typesListeArticleEpicerie.map(tl => this.projectTypeListArticle(tl)),\n typesListeArticleInventaire: typeListeArticle.typesListeArticleInventaire.map(tl => this.projectTypeListArticle(tl))\n };\n }\n\n\n public static projectTypeListArticle(typeListeApi: TypeListeArticleApiModel): TypeListeArticleModel {\n return {\n estGratuit: typeListeApi.estGratuit,\n frequence: TypeListArticleFrequenceEnum[typeListeApi.frequence],\n id: typeListeApi.id,\n libelle: typeListeApi.libelle,\n validationRequise: typeListeApi.validationRequise,\n actif: typeListeApi.actif,\n type: TypeListeEnum[typeListeApi.type],\n dateDebutInventaire: typeListeApi.dateDebutInventaire,\n dateFinInventaire: typeListeApi.dateFinInventaire,\n };\n }\n\n public static projectCommandesResponseToHistoryCommande(commandesResponse: GetCommandesApiResponse.Commande[])\n : HistoryCommandeModel[] {\n return commandesResponse.map(commande => {\n const historyCommande = new HistoryCommandeModel();\n historyCommande.id = commande.id;\n historyCommande.numberArticles = commande.nombreArticles;\n historyCommande.canEdit = commande.peutModifier;\n historyCommande.canDuplicate = commande.peutCopier;\n historyCommande.canDelete = commande.peutSupprimer;\n historyCommande.restaurant = commande.restaurant;\n\n\n historyCommande.dateLivraison = new Date(commande.dateLivraison);\n historyCommande.dateCommande = new Date(commande.dateCommande);\n historyCommande.estTransmise = commande.estTransmise;\n\n historyCommande.estValidee = commande.estValidee;\n\n // Compute de l'état\n if (historyCommande.estTransmise) {\n historyCommande.etat = EtatCommandeEnum.Transmise;\n }\n else if (commande.estValidee === true && !commande.estTransmise) {\n historyCommande.etat = EtatCommandeEnum.ValideeNonTransmise;\n }\n else if (commande.estValidee === false) {\n historyCommande.etat = EtatCommandeEnum.EnAttenteValidation;\n }\n\n return historyCommande;\n });\n }\n\n public static projectCommande(commande: CommandeApiModel): CommandeModel {\n const model = new CommandeModel();\n model.id = commande.id;\n model.cuisineCentraleId = commande.cuisineCentraleId;\n model.restaurantId = commande.restaurantId;\n model.typeListeArticleId = commande.typeListeArticleId;\n model.dateCommande = commande.dateCommande;\n model.dateValidation = commande.dateValidation;\n model.dateLivraison = commande.dateLivraison;\n model.dateReception = commande.dateReception;\n model.validationRequise = commande.validationRequise;\n model.articles = commande.articles.map(art => {\n return this.projectArticleDetailToCartArticle(art);\n });\n return model;\n }\n\n public static projectArticles(articles: ArticleApiModel[]): ArticleModel[] {\n return articles.map(article => {\n const model = new ArticleModel();\n model.id = article.id;\n model.libelle = article.libelle;\n model.unite = article.unite;\n model.unitPrice = article.prix;\n model.qteLimite = article.qteLimite;\n return model;\n });\n }\n\n public static projectArticleDetails(articles: CartArticleModel[]): ArticleDetailApiModel[] {\n return articles.map(article => {\n const model = new ArticleDetailApiModel();\n model.id = article.id;\n model.libelle = article.libelle;\n model.unite = article.unite;\n model.prix = article.unitPrice;\n model.quantite = article.quantity;\n model.qteLimite = article.qteLimite;\n return model;\n });\n }\n\n public static projectDateLivraisons(dateLivraisons: DateLivraisonApiModel[]): DateLivraisonModel[] {\n return dateLivraisons.map(date => {\n return date;\n });\n }\n}\n","\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { DateHelper } from '../../shared/helpers/date.helper';\nimport { FileResultModel } from '../../shared/models/fileresult.model';\nimport { EpicerieInventaireProjector } from '../epicerie-inventaire.projector';\nimport { CreateCommandeApiModel } from '../models/api/create-commande.apimodel';\nimport { ArticleModel, CartArticleModel } from '../models/article.model';\nimport { CommandeModel } from '../models/commande.model';\nimport { DateLivraisonModel } from '../models/date-livraison.model';\nimport { HistoryCommandeModel } from '../models/history-commande.model';\nimport { TypeListeArticleModel, TypeListeArticlesModel } from '../models/type-liste-articles.model';\nimport { EpicerieInventaireApiService } from './api/epicerie-inventaire.apiservice';\n\n@Injectable()\nexport class EpicerieInventaireService {\n // DDJ : la logique de gestion du cart est dans le service, donc on met le isDirty ici, il faudrait envisager de mettre tout ça dans le cart.component plutot ?\n public isDirty: boolean;\n private _displayCart: boolean;\n public showCartEmitter: EventEmitter = new EventEmitter();\n\n public readonly QuantiteMax = 999;\n public readonly CartMaxLength = 99;\n /** Fields */\n public currentCartArticles: CartArticleModel[] = [];\n\n /** get set */\n public get currentCartLength(): number {\n return this.currentCartArticles.length;\n }\n\n /** Ctor */\n constructor(\n private epicerieInventaireApiService: EpicerieInventaireApiService,\n private _toastrService: ToastrService\n ) { }\n\n /** Logic */\n public clearCartArticles() {\n this.currentCartArticles = [];\n this.isDirty = false;\n }\n\n /** Ajout d'un article dans le panier. Retourne True si l'article a été ajouté */\n public addArticle(articleModel: ArticleModel, quantity: number) {\n const cartArticle = EpicerieInventaireProjector.projectArticleToCartArticle(articleModel, quantity);\n return this.handleNewArticle(cartArticle);\n }\n\n /** Gère le add/append du nouvel article */\n public handleNewArticle(newArticle: CartArticleModel) {\n this.isDirty = true;\n\n const maxQuantity = (newArticle.qteLimite != null ? newArticle.qteLimite : this.QuantiteMax);\n const existing = this.currentCartArticles.find(a => a.id === newArticle.id);\n if (existing) {\n existing.quantity += newArticle.quantity;\n newArticle = existing;\n } else {\n if (this.currentCartArticles.length < this.CartMaxLength) {\n this.currentCartArticles.push(newArticle);\n }\n else {\n this.warnMaxCartReached();\n return false; // exit\n }\n }\n\n //ensure max quantity & notify user\n if (newArticle.quantity > maxQuantity) {\n newArticle.quantity = maxQuantity;\n this.warnMaxArticlesReached(newArticle, maxQuantity);\n return false;\n }\n\n return true;\n }\n\n warnMaxArticlesReached(article: ArticleModel, maxQuantity: number) {\n this._toastrService.warning('Vous avez atteint la quantité maximum commandable', `${article.libelle}\\n Quantité maximum : ${maxQuantity}`, { extendedTimeOut: 2000 });\n }\n\n warnMaxCartReached() {\n this._toastrService.warning('Votre panier a atteint la taille maximum', `Quantité maximum : ${this.CartMaxLength}`, { extendedTimeOut: 2000 });\n }\n\n public showCart(displayCart: boolean) {\n this._displayCart = displayCart;\n this.showCartEmitter.next(displayCart);\n }\n\n public toggleCart() {\n this.showCart(!this._displayCart);\n }\n\n public getArticles(typeListeArticleId: number, cuisineCentraleId: number, restaurantId: number, contratId: number): Observable {\n // On recup une nouvelle liste d'articles --> plus dirty\n this.isDirty = false;\n return this.epicerieInventaireApiService.getArticles(typeListeArticleId, cuisineCentraleId, restaurantId, contratId).pipe(map(res => {\n return EpicerieInventaireProjector.projectArticles(res);\n }));\n }\n\n public getArticlePicture(id: string): string {\n return this.epicerieInventaireApiService.getArticlePicture(id);\n }\n\n public getTypeListeArticles(cuisineCentraleId: number, restaurantId: number, contratId: number, dateDebut?: Date, dateFin?: Date): Observable {\n return this.epicerieInventaireApiService.getTypeListeArticles(cuisineCentraleId, restaurantId, contratId, dateDebut, dateFin).pipe(map(res => {\n return EpicerieInventaireProjector.projectTypeListeArticles(res);\n }));\n }\n\n public getAvailableDateLivraison(cuisineCentraleId: number, restaurantId: number, contratId: number, typeListeArticleId: number, dateDuMois: Date): Observable {\n return this.epicerieInventaireApiService.getAvailableDateLivraison(cuisineCentraleId, restaurantId, contratId, typeListeArticleId, dateDuMois).pipe(map(res => {\n return EpicerieInventaireProjector.projectDateLivraisons(res);\n }));\n }\n\n /** Search commande */\n public getCommandes(cuisineCentraleId: number, typeList: TypeListeArticleModel, estEnAttenteValidation: boolean, restaurantId: number, contratId: number, startDate: Date = null, endDate: Date = null): Observable {\n // On s'assure que le filtre reste cohérent\n if (!typeList.validationRequise) {\n estEnAttenteValidation = false;\n }\n\n return this.epicerieInventaireApiService.getCommandes(estEnAttenteValidation, cuisineCentraleId, typeList.id, restaurantId, contratId, startDate, endDate).pipe(map(res => {\n return EpicerieInventaireProjector.projectCommandesResponseToHistoryCommande(res.commandes);\n }));\n }\n\n public getCommande(id: number): Observable {\n return this.epicerieInventaireApiService.getCommande(id).pipe(map(res => {\n return EpicerieInventaireProjector.projectCommande(res);\n }));\n }\n\n public getTypeListeArticleInfo(cuisineCentraleId: number, restaurantId: number, typeListeArticleId: number): Observable {\n return this.epicerieInventaireApiService.getTypeListeArticle(cuisineCentraleId, restaurantId, typeListeArticleId).pipe(map(res => {\n return EpicerieInventaireProjector.projectTypeListArticle(res);\n }));\n }\n\n public saveCommande(cuisineCentraleId: number, restaurantId: number, typeListeArticleId: number, contratId: number, dateLivraison: Date, articles: CartArticleModel[], commandeId: number = null): Observable {\n const createCommande: CreateCommandeApiModel = {\n cuisineCentraleId,\n restaurantId,\n typeListeArticleId,\n contratId,\n dateLivraison: dateLivraison && DateHelper.toISODateString(dateLivraison),\n articles: EpicerieInventaireProjector.projectArticleDetails(articles),\n commandeId\n };\n return this.epicerieInventaireApiService.saveCommande(createCommande).pipe(map(res => {\n return res.message;\n }));\n }\n\n public deleteCommande(id: number): Observable {\n return this.epicerieInventaireApiService.deleteCommande(id);\n }\n\n public imprimerCommande(commandeId: number): Observable {\n return this.epicerieInventaireApiService.imprimerCommande(commandeId);\n }\n\n /** LocalStorage */\n\n // public storeCartLocalStorage(listId: number, dateLivraison: Date, articles: CartArticleModel[]) {\n // var cart = {'listId': listId, 'dateLivraison': dateLivraison, 'articleObj': [ articles ]}\n // localStorage.setItem(\"cart\", JSON.stringify(cart));\n // }\n\n // public getCartLocalStorage(listId: number, dateLivraison: Date) {\n // var storedCart = JSON.parse(localStorage.getItem(\"cart\"));\n // }\n\n // public deleteCartLocalStorage(listId: number, dateLivraison: Date) {\n // localStorage.removeItem(\"cart\");\n // return;\n // }\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./epicerie-inventaire.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"../loader/loader.component.ngfactory\";\nimport * as i5 from \"../loader/loader.component\";\nimport * as i6 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i7 from \"../shared/pipes/dateFormat.pipe\";\nimport * as i8 from \"../date-input/date-input.component.ngfactory\";\nimport * as i9 from \"../shared/pipes/error-pretty-date.pipe\";\nimport * as i10 from \"../date-input/date-input.component\";\nimport * as i11 from \"./epicerie-inventaire.component\";\nimport * as i12 from \"@angular/router\";\nimport * as i13 from \"../shared/services/api/logo/logo-route.service\";\nimport * as i14 from \"../shared/services/log.service\";\nimport * as i15 from \"../shared/services/application-data.service\";\nimport * as i16 from \"./services/epicerie-inventaire.service\";\nimport * as i17 from \"../shared/services/interaction.service\";\nimport * as i18 from \"../reporting/services/reporting.service\";\nvar styles_EpicerieInventaireComponent = [i0.styles];\nvar RenderType_EpicerieInventaireComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_EpicerieInventaireComponent, data: {} });\nexport { RenderType_EpicerieInventaireComponent as RenderType_EpicerieInventaireComponent };\nfunction View_EpicerieInventaireComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i2.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i2.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i2.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_EpicerieInventaireComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"select\", [[\"class\", \"sub-container selector\"], [\"name\", \"selectedTypeListeArticle\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 1).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedTypeListeArticle = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i2.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.SelectControlValueAccessor]), i1.ɵdid(3, 671744, null, 0, i2.NgModel, [[2, i2.ControlContainer], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(5, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_2)), i1.ɵdid(7, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"selectedTypeListeArticle\"; var currVal_8 = _co.selectedTypeListeArticle; _ck(_v, 3, 0, currVal_7, currVal_8); var currVal_9 = _co.selectedTypeListeArticles; _ck(_v, 7, 0, currVal_9); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 5).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 5).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 5).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 5).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 5).ngClassValid; var currVal_5 = i1.ɵnov(_v, 5).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 5).ngClassPending; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_EpicerieInventaireComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Il n'y a pas d'article correspondant \"]))], null, null); }\nfunction View_EpicerieInventaireComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"Prochain inventaire entre le \", \" et le \", \".\"])), i1.ɵppd(2, 2), i1.ɵppd(3, 2)], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵunv(_v, 1, 0, _ck(_v, 2, 0, i1.ɵnov(_v.parent.parent, 0), _co.selectedTypeListeArticle.dateDebutInventaire, \"dd/MM/yyyy\")); var currVal_1 = i1.ɵunv(_v, 1, 1, _ck(_v, 3, 0, i1.ɵnov(_v.parent.parent, 0), _co.selectedTypeListeArticle.dateFinInventaire, \"dd/MM/yyyy\")); _ck(_v, 1, 0, currVal_0, currVal_1); }); }\nfunction View_EpicerieInventaireComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵted(-1, null, [\"Pas d'inventaire prochainement\"]))], null, null); }\nfunction View_EpicerieInventaireComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_5)), i1.ɵdid(2, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"], ngIfElse: [1, \"ngIfElse\"] }, null), (_l()(), i1.ɵand(0, [[\"noInventaireBlock\", 2]], null, 0, null, View_EpicerieInventaireComponent_6))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.selectedTypeListeArticle.dateDebutInventaire; var currVal_1 = i1.ɵnov(_v, 3); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nfunction View_EpicerieInventaireComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"div\", [[\"class\", \"sub-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 8, \"label\", [[\"class\", \"custom-label-checkbox\"], [\"title\", \"Afficher seulement les commandes/inventaires en attente de validation\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 5, \"input\", [[\"name\", \"estEnAttenteValidation\"], [\"type\", \"checkbox\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 3).onChange($event.target.checked) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 3).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.estEnAttenteValidation = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(3, 16384, null, 0, i2.CheckboxControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.CheckboxControlValueAccessor]), i1.ɵdid(5, 671744, null, 0, i2.NgModel, [[2, i2.ControlContainer], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(7, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"En attente de validation\"]))], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"estEnAttenteValidation\"; var currVal_8 = _co.estEnAttenteValidation; _ck(_v, 5, 0, currVal_7, currVal_8); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 7).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 7).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 7).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 7).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 7).ngClassValid; var currVal_5 = i1.ɵnov(_v, 7).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 7).ngClassPending; _ck(_v, 2, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_EpicerieInventaireComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"info-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement...\"]], null, null, null, i4.View_LoaderComponent_0, i4.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i5.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_EpicerieInventaireComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"info-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement...\"]], null, null, null, i4.View_LoaderComponent_0, i4.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i5.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_EpicerieInventaireComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"th\", [[\"class\", \"livraison\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Livraison\"]))], null, null); }\nfunction View_EpicerieInventaireComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 10, \"thead\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 9, \"tr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"th\", [[\"class\", \"is-traite\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Ok\"])), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"th\", [[\"class\", \"commande\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_12)), i1.ɵdid(7, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"th\", [[\"class\", \"restaurant\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Restaurant\"])), (_l()(), i1.ɵeld(10, 0, null, null, 0, \"th\", [[\"class\", \"actions\"]], null, null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_1 = !_co.isInventaire; _ck(_v, 7, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.isInventaire ? \"Inventaire\" : \"Commande\"); _ck(_v, 5, 0, currVal_0); }); }\nfunction View_EpicerieInventaireComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"tr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"td\", [[\"colspan\", \"5\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Aucune commande trouv\\u00E9e \"]))], null, null); }\nfunction View_EpicerieInventaireComponent_15(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"img\", [[\"class\", \"en-attente-img\"], [\"src\", \"/assets/images/epicerie-inventaire/en-attente.png\"]], null, null, null, null, null))], null, null); }\nfunction View_EpicerieInventaireComponent_16(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"div\", [[\"class\", \"validee-non-transmise-check\"]], null, null, null, null, null))], null, null); }\nfunction View_EpicerieInventaireComponent_17(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"div\", [[\"class\", \"validee-transmise-check\"]], null, null, null, null, null))], null, null); }\nfunction View_EpicerieInventaireComponent_18(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\" \", \" \"])), i1.ɵppd(2, 1)], null, function (_ck, _v) { var currVal_0 = i1.ɵunv(_v, 1, 0, _ck(_v, 2, 0, i1.ɵnov(_v.parent.parent.parent, 1), _v.parent.context.$implicit.dateLivraison)); _ck(_v, 1, 0, currVal_0); }); }\nfunction View_EpicerieInventaireComponent_14(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 24, \"tr\", [[\"class\", \"pointerHover\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.openCommande(_v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i6.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"background\": 1, \"hover\": 2, \"isSecondary\": 3 }), (_l()(), i1.ɵeld(3, 0, null, null, 6, \"td\", [[\"class\", \"is-traite-container\"]], [[8, \"title\", 0]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_15)), i1.ɵdid(5, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_16)), i1.ɵdid(7, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_17)), i1.ɵdid(9, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(10, 0, null, null, 2, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵted(11, null, [\" \", \" \"])), i1.ɵppd(12, 1), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_18)), i1.ɵdid(14, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵted(16, null, [\" \", \" \"])), (_l()(), i1.ɵeld(17, 0, null, null, 7, \"td\", [[\"class\", \"action-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(18, 0, null, null, 2, \"button\", [[\"class\", \"generic-button gray-button print-button\"], [\"title\", \"Imprimer\"], [\"type\", \"button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.printCommande(_v.context.$implicit.id, $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(19, 16384, null, 0, i6.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(20, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(21, 0, null, null, 2, \"button\", [[\"class\", \"generic-button duplicate-button\"], [\"title\", \"Dupliquer\"], [\"type\", \"button\"]], [[2, \"btn-hidden\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.navigateToDuplicate(_v.context.$implicit.id, $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(22, 16384, null, 0, i6.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(23, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(24, 0, null, null, 0, \"button\", [[\"class\", \"generic-button medium-gray-tile-button trash-button\"], [\"title\", \"Supprimer\"], [\"type\", \"button\"]], [[2, \"btn-hidden\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.deleteCommande(_v.context.$implicit, $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 2, 0, _co.currentType, true, true, true); _ck(_v, 1, 0, currVal_0); var currVal_2 = (_v.context.$implicit.etat == _co.EtatCommandeEnum.EnAttenteValidation); _ck(_v, 5, 0, currVal_2); var currVal_3 = (_v.context.$implicit.etat == _co.EtatCommandeEnum.ValideeNonTransmise); _ck(_v, 7, 0, currVal_3); var currVal_4 = (_v.context.$implicit.etat == _co.EtatCommandeEnum.Transmise); _ck(_v, 9, 0, currVal_4); var currVal_6 = !_co.isInventaire; _ck(_v, 14, 0, currVal_6); var currVal_9 = _ck(_v, 20, 0, _co.currentType, true); _ck(_v, 19, 0, currVal_9); var currVal_11 = _ck(_v, 23, 0, _co.currentType, true); _ck(_v, 22, 0, currVal_11); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.getToolTip(_v.context.$implicit.etat); _ck(_v, 3, 0, currVal_1); var currVal_5 = i1.ɵunv(_v, 11, 0, _ck(_v, 12, 0, i1.ɵnov(_v.parent.parent, 1), _v.context.$implicit.dateCommande)); _ck(_v, 11, 0, currVal_5); var currVal_7 = _v.context.$implicit.restaurant; _ck(_v, 16, 0, currVal_7); var currVal_8 = _co.isPrintCommandeDownloading; _ck(_v, 18, 0, currVal_8); var currVal_10 = !_v.context.$implicit.canDuplicate; _ck(_v, 21, 0, currVal_10); var currVal_12 = !_v.context.$implicit.canDelete; _ck(_v, 24, 0, currVal_12); }); }\nfunction View_EpicerieInventaireComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"table\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_11)), i1.ɵdid(2, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 4, \"tbody\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_13)), i1.ɵdid(5, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_14)), i1.ɵdid(7, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.commandes && (_co.commandes.length != 0)); _ck(_v, 2, 0, currVal_0); var currVal_1 = (!_co.commandes || (_co.commandes.length == 0)); _ck(_v, 5, 0, currVal_1); var currVal_2 = _co.displayedCommandes; _ck(_v, 7, 0, currVal_2); }, null); }\nfunction View_EpicerieInventaireComponent_20(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"...\"]))], null, null); }\nfunction View_EpicerieInventaireComponent_21(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"button\", [[\"class\", \"generic-button page-button\"]], [[2, \"hidden\", null], [2, \"selected-page-button\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.changePage(_v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i6.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_2 = _ck(_v, 2, 0, _co.currentType, (_co.page == _v.context.$implicit)); _ck(_v, 1, 0, currVal_2); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isPageDisplayed(_v.context.$implicit); var currVal_1 = (_v.context.$implicit == _co.page); _ck(_v, 0, 0, currVal_0, currVal_1); var currVal_3 = _v.context.$implicit; _ck(_v, 3, 0, currVal_3); }); }\nfunction View_EpicerieInventaireComponent_22(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"...\"]))], null, null); }\nfunction View_EpicerieInventaireComponent_19(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 16, \"div\", [[\"class\", \"pagination\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"button\", [[\"class\", \"generic-button prev-button\"]], [[2, \"hidden\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.prev() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 3, \"button\", [[\"class\", \"generic-button page-button\"]], [[2, \"selected-page-button\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.changePage(1) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(3, 16384, null, 0, i6.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(4, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵted(-1, null, [\"1\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_20)), i1.ɵdid(7, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_21)), i1.ɵdid(9, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_22)), i1.ɵdid(11, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(12, 0, null, null, 3, \"button\", [[\"class\", \"generic-button page-button\"]], [[2, \"hidden\", null], [2, \"selected-page-button\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.changePage(_co.totalPage) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(13, 16384, null, 0, i6.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(14, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵted(15, null, [\"\", \"\"])), (_l()(), i1.ɵeld(16, 0, null, null, 0, \"button\", [[\"class\", \"generic-button next-button\"]], [[2, \"hidden\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.next() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_2 = _ck(_v, 4, 0, _co.currentType, (_co.page == 1)); _ck(_v, 3, 0, currVal_2); var currVal_3 = (_co.page > 3); _ck(_v, 7, 0, currVal_3); var currVal_4 = _co.pages; _ck(_v, 9, 0, currVal_4); var currVal_5 = (_co.page < (_co.totalPage - 2)); _ck(_v, 11, 0, currVal_5); var currVal_8 = _ck(_v, 14, 0, _co.currentType, (_co.page == _co.totalPage)); _ck(_v, 13, 0, currVal_8); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.page == 1); _ck(_v, 1, 0, currVal_0); var currVal_1 = (_co.page == 1); _ck(_v, 2, 0, currVal_1); var currVal_6 = (_co.totalPage == 1); var currVal_7 = (_co.page == _co.totalPage); _ck(_v, 12, 0, currVal_6, currVal_7); var currVal_9 = _co.totalPage; _ck(_v, 15, 0, currVal_9); var currVal_10 = (_co.page == _co.totalPage); _ck(_v, 16, 0, currVal_10); }); }\nexport function View_EpicerieInventaireComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i3.DatePipe, [i1.LOCALE_ID]), i1.ɵpid(0, i7.DateFormatPipe, []), (_l()(), i1.ɵeld(2, 0, null, null, 80, \"div\", [[\"class\", \"main-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 0, \"div\", [[\"class\", \"ribbon\"]], [[4, \"background-image\", null]], null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 78, \"div\", [[\"class\", \"page-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Epicerie & inventaire\"])), (_l()(), i1.ɵeld(7, 0, null, null, 65, \"div\", [[\"class\", \"left-side\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"span\", [[\"class\", \"title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Recherche\"])), (_l()(), i1.ɵeld(10, 0, null, null, 62, \"form\", [[\"class\", \"content-container search-form\"], [\"novalidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 12).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 12).onReset() !== false);\n ad = (pd_1 && ad);\n } if ((\"submit\" === en)) {\n var pd_2 = (_co.searchCommandes($event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(11, 16384, null, 0, i2.ɵangular_packages_forms_forms_z, [], null, null), i1.ɵdid(12, 4210688, null, 0, i2.NgForm, [[8, null], [8, null]], null, null), i1.ɵprd(2048, null, i2.ControlContainer, null, [i2.NgForm]), i1.ɵdid(14, 16384, null, 0, i2.NgControlStatusGroup, [[4, i2.ControlContainer]], null, null), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(16, null, [\" \", \" \"])), (_l()(), i1.ɵeld(17, 0, null, null, 14, \"div\", [[\"class\", \"sub-container dates-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(18, 0, null, null, 6, \"app-date-input\", [[\"id\", \"start-date\"], [\"name\", \"start-date\"], [\"placeholder\", \"D\\u00E9but\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.startDate = $event) !== false);\n ad = (pd_0 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_1 = (_co.askLoadListeArticles() !== false);\n ad = (pd_1 && ad);\n } return ad; }, i8.View_DateInputComponent_0, i8.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i9.ErrorPrettyDatePipe, i9.ErrorPrettyDatePipe, []), i1.ɵdid(20, 4243456, null, 0, i10.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i10.DateInputComponent]), i1.ɵdid(22, 671744, null, 0, i2.NgModel, [[2, i2.ControlContainer], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(24, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(25, 0, null, null, 6, \"app-date-input\", [[\"id\", \"end-date\"], [\"name\", \"end-date\"], [\"placeholder\", \"Fin\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.endDate = $event) !== false);\n ad = (pd_0 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_1 = (_co.askLoadListeArticles() !== false);\n ad = (pd_1 && ad);\n } return ad; }, i8.View_DateInputComponent_0, i8.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i9.ErrorPrettyDatePipe, i9.ErrorPrettyDatePipe, []), i1.ɵdid(27, 4243456, null, 0, i10.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i10.DateInputComponent]), i1.ɵdid(29, 671744, null, 0, i2.NgModel, [[2, i2.ControlContainer], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(31, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(32, 0, null, null, 22, \"div\", [[\"class\", \"type-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(33, 0, null, null, 10, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(34, 0, null, null, 6, \"input\", [[\"name\", \"type\"], [\"type\", \"radio\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 35)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 35).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 35)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 35)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 36).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 36).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_co.isInventaire = $event) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(35, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(36, 212992, null, 0, i2.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i2.ɵangular_packages_forms_forms_o, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i2.DefaultValueAccessor, i2.RadioControlValueAccessor]), i1.ɵdid(38, 671744, null, 0, i2.NgModel, [[2, i2.ControlContainer], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(40, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(41, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(42, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Commande \\u00E9picerie\"])), (_l()(), i1.ɵeld(44, 0, null, null, 10, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(45, 0, null, null, 6, \"input\", [[\"name\", \"type\"], [\"type\", \"radio\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 46)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 46).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 46)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 46)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 47).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 47).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_co.isInventaire = $event) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(46, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(47, 212992, null, 0, i2.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i2.ɵangular_packages_forms_forms_o, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i2.DefaultValueAccessor, i2.RadioControlValueAccessor]), i1.ɵdid(49, 671744, null, 0, i2.NgModel, [[2, i2.ControlContainer], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(51, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(52, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(53, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Inventaire\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_1)), i1.ɵdid(56, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_3)), i1.ɵdid(58, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_4)), i1.ɵdid(60, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_7)), i1.ɵdid(62, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(63, 0, null, null, 7, \"div\", [[\"class\", \"sub-container buttons-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(64, 0, null, null, 4, \"button\", [[\"class\", \"generic-button plus-button\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.navigateToCreate() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(65, 16384, null, 0, i6.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(66, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(67, 0, null, null, 0, \"span\", [[\"class\", \"plus\"]], null, null, null, null, null)), (_l()(), i1.ɵted(68, null, [\" \", \"\"])), (_l()(), i1.ɵeld(69, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button search-button\"], [\"type\", \"submit\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Rechercher\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_8)), i1.ɵdid(72, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(73, 0, null, null, 9, \"div\", [[\"class\", \"results-container right-side\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(74, 0, null, null, 1, \"span\", [[\"class\", \"title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(75, null, [\"Historique des \", \"\"])), (_l()(), i1.ɵeld(76, 0, null, null, 6, \"div\", [[\"class\", \"results-list content-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_9)), i1.ɵdid(78, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_10)), i1.ɵdid(80, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireComponent_19)), i1.ɵdid(82, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_16 = _co.dateCalendarData; var currVal_17 = \"D\\u00E9but\"; _ck(_v, 20, 0, currVal_16, currVal_17); var currVal_18 = \"start-date\"; var currVal_19 = _co.startDate; _ck(_v, 22, 0, currVal_18, currVal_19); var currVal_27 = _co.dateCalendarData; var currVal_28 = \"Fin\"; _ck(_v, 27, 0, currVal_27, currVal_28); var currVal_29 = \"end-date\"; var currVal_30 = _co.endDate; _ck(_v, 29, 0, currVal_29, currVal_30); var currVal_38 = \"type\"; var currVal_39 = false; _ck(_v, 36, 0, currVal_38, currVal_39); var currVal_40 = \"type\"; var currVal_41 = _co.isInventaire; _ck(_v, 38, 0, currVal_40, currVal_41); var currVal_49 = \"type\"; var currVal_50 = true; _ck(_v, 47, 0, currVal_49, currVal_50); var currVal_51 = \"type\"; var currVal_52 = _co.isInventaire; _ck(_v, 49, 0, currVal_51, currVal_52); var currVal_53 = _co.selectedTypeListeArticle; _ck(_v, 56, 0, currVal_53); var currVal_54 = !_co.selectedTypeListeArticle; _ck(_v, 58, 0, currVal_54); var currVal_55 = (_co.selectedTypeListeArticle && (_co.selectedTypeListeArticle.type == _co.TypeListeEnum.Inventaire)); _ck(_v, 60, 0, currVal_55); var currVal_56 = _co.isTypeListValidationRequise; _ck(_v, 62, 0, currVal_56); var currVal_57 = _ck(_v, 66, 0, _co.currentType, true); _ck(_v, 65, 0, currVal_57); var currVal_59 = !_co.hasLoadedForm; _ck(_v, 72, 0, currVal_59); var currVal_61 = _co.isLoadingCommandes; _ck(_v, 78, 0, currVal_61); var currVal_62 = !_co.isLoadingCommandes; _ck(_v, 80, 0, currVal_62); var currVal_63 = (((!_co.isLoadingCommandes && _co.commandes) && (_co.commandes.length > 0)) && (_co.totalPage > 1)); _ck(_v, 82, 0, currVal_63); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((\"url(\" + _co.logoContratUrl) + \")\"); _ck(_v, 3, 0, currVal_0); var currVal_1 = i1.ɵnov(_v, 14).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 14).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 14).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 14).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 14).ngClassValid; var currVal_6 = i1.ɵnov(_v, 14).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 14).ngClassPending; _ck(_v, 10, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); var currVal_8 = (_co.isInventaire ? \"Inventaire\" : \"Livraison\"); _ck(_v, 16, 0, currVal_8); var currVal_9 = i1.ɵnov(_v, 24).ngClassUntouched; var currVal_10 = i1.ɵnov(_v, 24).ngClassTouched; var currVal_11 = i1.ɵnov(_v, 24).ngClassPristine; var currVal_12 = i1.ɵnov(_v, 24).ngClassDirty; var currVal_13 = i1.ɵnov(_v, 24).ngClassValid; var currVal_14 = i1.ɵnov(_v, 24).ngClassInvalid; var currVal_15 = i1.ɵnov(_v, 24).ngClassPending; _ck(_v, 18, 0, currVal_9, currVal_10, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15); var currVal_20 = i1.ɵnov(_v, 31).ngClassUntouched; var currVal_21 = i1.ɵnov(_v, 31).ngClassTouched; var currVal_22 = i1.ɵnov(_v, 31).ngClassPristine; var currVal_23 = i1.ɵnov(_v, 31).ngClassDirty; var currVal_24 = i1.ɵnov(_v, 31).ngClassValid; var currVal_25 = i1.ɵnov(_v, 31).ngClassInvalid; var currVal_26 = i1.ɵnov(_v, 31).ngClassPending; _ck(_v, 25, 0, currVal_20, currVal_21, currVal_22, currVal_23, currVal_24, currVal_25, currVal_26); var currVal_31 = i1.ɵnov(_v, 40).ngClassUntouched; var currVal_32 = i1.ɵnov(_v, 40).ngClassTouched; var currVal_33 = i1.ɵnov(_v, 40).ngClassPristine; var currVal_34 = i1.ɵnov(_v, 40).ngClassDirty; var currVal_35 = i1.ɵnov(_v, 40).ngClassValid; var currVal_36 = i1.ɵnov(_v, 40).ngClassInvalid; var currVal_37 = i1.ɵnov(_v, 40).ngClassPending; _ck(_v, 34, 0, currVal_31, currVal_32, currVal_33, currVal_34, currVal_35, currVal_36, currVal_37); var currVal_42 = i1.ɵnov(_v, 51).ngClassUntouched; var currVal_43 = i1.ɵnov(_v, 51).ngClassTouched; var currVal_44 = i1.ɵnov(_v, 51).ngClassPristine; var currVal_45 = i1.ɵnov(_v, 51).ngClassDirty; var currVal_46 = i1.ɵnov(_v, 51).ngClassValid; var currVal_47 = i1.ɵnov(_v, 51).ngClassInvalid; var currVal_48 = i1.ɵnov(_v, 51).ngClassPending; _ck(_v, 45, 0, currVal_42, currVal_43, currVal_44, currVal_45, currVal_46, currVal_47, currVal_48); var currVal_58 = (_co.isInventaire ? \"Nouvel inventaire\" : \"Commander\"); _ck(_v, 68, 0, currVal_58); var currVal_60 = (_co.isInventaire ? \"inventaires\" : \"commandes\"); _ck(_v, 75, 0, currVal_60); }); }\nexport function View_EpicerieInventaireComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-epicerie-inventaire\", [], null, null, null, View_EpicerieInventaireComponent_0, RenderType_EpicerieInventaireComponent)), i1.ɵdid(1, 245760, null, 0, i11.EpicerieInventaireComponent, [i12.Router, i13.LogoRouteService, i14.LogService, i15.ApplicationDataService, i16.EpicerieInventaireService, i17.InteractionService, i18.ReportingService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar EpicerieInventaireComponentNgFactory = i1.ɵccf(\"app-epicerie-inventaire\", i11.EpicerieInventaireComponent, View_EpicerieInventaireComponent_Host_0, {}, {}, []);\nexport { EpicerieInventaireComponentNgFactory as EpicerieInventaireComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-size:18px}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] .sub-container[_ngcontent-%COMP%]{margin-top:10px;height:40px;margin-bottom:20px;width:100%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] .info-container[_ngcontent-%COMP%]{position:absolute;top:0;left:0;background:#fff;z-index:10}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .dates-container[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{display:block;width:47%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .dates-container[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(1){float:left}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .dates-container[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(2){float:right}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .type-container[_ngcontent-%COMP%]{font-size:18px;margin-bottom:12px;height:22px}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .type-container[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{display:block;width:47%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .type-container[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(1){float:left}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .type-container[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(2){float:right}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .type-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%] [_ngcontent-%COMP%]:nth-child(n){float:left}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .selector[_ngcontent-%COMP%]{font-size:18px;padding-left:10px}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{display:block;width:47%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(1){float:left}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(2){float:right}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%]{background-color:#f2f2f1}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%]{min-height:400px;text-align:left;padding-bottom:20px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%], [_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{line-height:32px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child, [_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child{padding-left:20px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:last-child, [_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:last-child{padding-right:20px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{border:none}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-size:18px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.en-attente[_ngcontent-%COMP%], [_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.is-traite[_ngcontent-%COMP%]{width:8%}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.commande[_ngcontent-%COMP%], [_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.livraison[_ngcontent-%COMP%]{width:20%}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.restaurant[_ngcontent-%COMP%]{width:26%}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.actions[_ngcontent-%COMP%]{width:18%}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%]{border:none}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{font-size:15px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(odd){background-color:#fff}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td.action-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;margin-top:6px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td.action-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-left:2px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td.action-container[_ngcontent-%COMP%] button.btn-hidden[_ngcontent-%COMP%]{visibility:hidden}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td.is-traite-container[_ngcontent-%COMP%] div.validee-non-transmise-check[_ngcontent-%COMP%]{border-bottom:3px solid #f0ad4e;border-right:3px solid #f0ad4e;-ms-transform:rotate(45deg);transform:rotate(45deg);width:7px;height:14px;margin-top:0;margin-left:4px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td.is-traite-container[_ngcontent-%COMP%] div.validee-transmise-check[_ngcontent-%COMP%]{border-bottom:3px solid #aebf2f;border-right:3px solid #aebf2f;-ms-transform:rotate(45deg);transform:rotate(45deg);width:7px;height:14px;margin-top:0;margin-left:4px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] img.en-attente-img[_ngcontent-%COMP%]{width:26px;height:26px;display:block;margin-left:-4px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .pagination[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;margin-top:20px;margin-right:20px;text-align:right}@media only screen and (min-width:768px){[_nghost-%COMP%] .results-container[_ngcontent-%COMP%]{background-color:#fff}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%]{margin-top:10px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{border:1px solid #e6e6e6}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%], [_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{line-height:44px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.en-attente[_ngcontent-%COMP%], [_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.is-traite[_ngcontent-%COMP%]{width:7%}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.commande[_ngcontent-%COMP%], [_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.livraison[_ngcontent-%COMP%]{width:15%}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.restaurant[_ngcontent-%COMP%]{width:45%}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th.actions[_ngcontent-%COMP%]{width:10%}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{font-size:17px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(odd){background-color:#f2f2f1}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .pagination[_ngcontent-%COMP%]{margin-right:0}}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .pagination[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-left:8px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .pagination[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{padding-top:8px}[_nghost-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .pagination[_ngcontent-%COMP%] .hidden[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .print-button[_ngcontent-%COMP%]:before{background-image:url(/assets/images/epicerie-inventaire/printer.png)}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n
\r\n

Epicerie & inventaire

\r\n
\r\n Recherche\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n Il n'y a pas d'article correspondant\r\n
\r\n
\r\n Prochain inventaire entre le {{selectedTypeListeArticle.dateDebutInventaire | date: 'dd/MM/yyyy'}} et le {{selectedTypeListeArticle.dateFinInventaire | date: 'dd/MM/yyyy'}}.\r\n Pas d'inventaire prochainement\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Historique des {{ isInventaire ? \"inventaires\" : \"commandes\" }}\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Ok{{ isInventaire ? \"Inventaire\" : \"Commande\" }}LivraisonRestaurant
\r\n Aucune commande trouvée\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n {{commande.dateCommande | dateFormat}}\r\n \r\n {{commande.dateLivraison | dateFormat}}\r\n \r\n {{commande.restaurant}}\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
0 && totalPage > 1\">\r\n \r\n \r\n 3\">...\r\n \r\n ...\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, ChangeDetectionStrategy, OnChanges } from '@angular/core';\r\nimport { StringHelper } from '../shared/helpers/string.helper';\r\n\r\n@Component({\r\n selector: 'app-pretty-price',\r\n templateUrl: './pretty-price.component.html',\r\n styleUrls: ['./pretty-price.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PrettyPriceComponent implements OnChanges {\r\n public integerPart: string;\r\n public decimalPart: string;\r\n @Input() price: number;\r\n constructor() { }\r\n\r\n ngOnChanges() {\r\n if (this.price) {\r\n const formatted = StringHelper.formatDecimal(this.price);\r\n const split = formatted.split(',');\r\n [this.integerPart, this.decimalPart] = split;\r\n } else {\r\n this.integerPart = null;\r\n this.decimalPart = null;\r\n }\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./pretty-price.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"./pretty-price.component\";\nvar styles_PrettyPriceComponent = [i0.styles];\nvar RenderType_PrettyPriceComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_PrettyPriceComponent, data: {} });\nexport { RenderType_PrettyPriceComponent as RenderType_PrettyPriceComponent };\nexport function View_PrettyPriceComponent_0(_l) { return i1.ɵvid(2, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"div\", [[\"class\", \"price\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"div\", [[\"class\", \"left\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\" \", \" \"])), (_l()(), i1.ɵeld(3, 0, null, null, 4, \"div\", [[\"class\", \"right\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [[\"class\", \"currency\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"\\u20AC\"])), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"div\", [[\"class\", \"decimals\"]], null, null, null, null, null)), (_l()(), i1.ɵted(7, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.integerPart; _ck(_v, 2, 0, currVal_0); var currVal_1 = _co.decimalPart; _ck(_v, 7, 0, currVal_1); }); }\nexport function View_PrettyPriceComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-pretty-price\", [], null, null, null, View_PrettyPriceComponent_0, RenderType_PrettyPriceComponent)), i1.ɵdid(1, 573440, null, 0, i2.PrettyPriceComponent, [], null, null)], null, null); }\nvar PrettyPriceComponentNgFactory = i1.ɵccf(\"app-pretty-price\", i2.PrettyPriceComponent, View_PrettyPriceComponent_Host_0, { price: \"price\" }, {}, []);\nexport { PrettyPriceComponentNgFactory as PrettyPriceComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{display:inline-block}[_nghost-%COMP%] .price[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;font-size:30px;font-family:sans-serif}[_nghost-%COMP%] .price[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{font-size:43px;line-height:42px}[_nghost-%COMP%] .price[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between}[_nghost-%COMP%] .price[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .currency[_ngcontent-%COMP%]{font-size:16px}[_nghost-%COMP%] .price[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .decimals[_ngcontent-%COMP%]{font-size:17px}\"];\nexport { styles as styles };\n","
\r\n
\r\n {{integerPart}}\r\n
\r\n
\r\n
\r\n
{{decimalPart}}
\r\n
\r\n
","import { EpicerieInventaireService } from '../../services/epicerie-inventaire.service';\nimport { RestaurantTypeEnum } from '../../../shared/enums/restaurant-type.enum';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, SimpleChanges } from '@angular/core';\n\nimport { ArticleModel } from '../../models/article.model';\n\n@Component({\n selector: 'app-article',\n templateUrl: './article.component.html',\n styleUrls: ['./article.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ArticleComponent implements OnChanges {\n activated: boolean;\n quantity: number = 1;\n\n QUANTITY_MIN: number = 1;\n QUANTITY_MAX: number = this._epicerieService.QuantiteMax;\n\n articlePicture: string;\n\n /** Inputs */\n @Input()\n isInventaire: boolean;\n @Input()\n article: ArticleModel;\n @Input()\n type: RestaurantTypeEnum;\n @Input()\n consult: boolean;\n\n get showPrice(): boolean {\n return this.article != null && this.article.unitPrice > 0 && !this.isInventaire;\n }\n\n /** Ctor & Lifecycle */\n constructor(\n private _epicerieService: EpicerieInventaireService,\n private _cd: ChangeDetectorRef\n ) { }\n\n ngOnChanges(changes: SimpleChanges): void {\n //compute this.QUANTITY_MAX\n if (changes['article'] && changes['article'].currentValue) {\n this.QUANTITY_MAX = (this.article.qteLimite != null ? this.article.qteLimite : this._epicerieService.QuantiteMax);\n this.articlePicture = this._epicerieService.getArticlePicture(this.article.id);\n }\n }\n\n /** Logic */\n incrementCount() {\n if (this.quantity < this.QUANTITY_MAX) {\n this.quantity++;\n }\n else {\n this._epicerieService.warnMaxArticlesReached(this.article, this.QUANTITY_MAX)\n }\n }\n\n decrementCount() {\n if (this.quantity > this.QUANTITY_MIN) {\n this.quantity--;\n }\n }\n\n addToCart() {\n if (this.activated) {\n return;\n }\n\n const added = this._epicerieService.addArticle(this.article, this.quantity);\n if (added) {\n this.activated = true;\n setTimeout(() => {\n this.activated = false;\n this._cd.markForCheck();\n }, 1000);\n }\n\n }\n\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./article.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../pretty-price/pretty-price.component.ngfactory\";\nimport * as i3 from \"../../../pretty-price/pretty-price.component\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"../../../shared/directives/restaurant-type-color.directive\";\nimport * as i6 from \"../../../shared/directives/select-all-on-focus.directive\";\nimport * as i7 from \"../../../shared/directives/input-number-range.directive\";\nimport * as i8 from \"@angular/common\";\nimport * as i9 from \"./article.component\";\nimport * as i10 from \"../../services/epicerie-inventaire.service\";\nvar styles_ArticleComponent = [i0.styles];\nvar RenderType_ArticleComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ArticleComponent, data: {} });\nexport { RenderType_ArticleComponent as RenderType_ArticleComponent };\nfunction View_ArticleComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-pretty-price\", [], null, null, null, i2.View_PrettyPriceComponent_0, i2.RenderType_PrettyPriceComponent)), i1.ɵdid(1, 573440, null, 0, i3.PrettyPriceComponent, [], { price: [0, \"price\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.article.unitPrice; _ck(_v, 1, 0, currVal_0); }, null); }\nfunction View_ArticleComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 25, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"button\", [[\"class\", \"generic-button btn-quantity btn-minus\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.decrementCount() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 0, \"span\", [[\"class\", \"minus\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 11, \"input\", [[\"class\", \"amount\"], [\"selectAllOnFocus\", \"\"], [\"type\", \"number\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"], [null, \"focus\"], [null, \"keyup\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 4)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 4)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 5).onChange($event.target.value) !== false);\n ad = (pd_4 && ad);\n } if ((\"input\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 5).onChange($event.target.value) !== false);\n ad = (pd_5 && ad);\n } if ((\"blur\" === en)) {\n var pd_6 = (i1.ɵnov(_v, 5).onTouched() !== false);\n ad = (pd_6 && ad);\n } if ((\"focus\" === en)) {\n var pd_7 = (i1.ɵnov(_v, 12).onFocus($event) !== false);\n ad = (pd_7 && ad);\n } if ((\"keyup\" === en)) {\n var pd_8 = (i1.ɵnov(_v, 13).onKeyUp($event) !== false);\n ad = (pd_8 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_9 = ((_co.quantity = $event) !== false);\n ad = (pd_9 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(5, 16384, null, 0, i4.NumberValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i4.DefaultValueAccessor, i4.NumberValueAccessor]), i1.ɵdid(7, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(9, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), i1.ɵdid(10, 16384, null, 0, i5.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(11, { \"type\": 0, \"color\": 1 }), i1.ɵdid(12, 16384, null, 0, i6.SelectAllOnFocusDirective, [i1.ElementRef], null, null), i1.ɵdid(13, 16384, null, 0, i7.InputNumberRangeDirective, [i1.ElementRef], { inputNumberRange: [0, \"inputNumberRange\"] }, null), i1.ɵpod(14, { \"min\": 0, \"max\": 1 }), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"button\", [[\"class\", \"generic-button btn-quantity btn-plus\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.incrementCount() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(16, 0, null, null, 0, \"span\", [[\"class\", \"plus\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(17, 0, null, null, 8, \"button\", [[\"class\", \"generic-button toggle\"]], [[2, \"activated\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.addToCart() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(18, 16384, null, 0, i5.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(19, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(20, 0, null, null, 3, \"div\", [[\"class\", \"add\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(21, 0, null, null, 0, \"span\", [[\"class\", \"plus\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(22, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"AJOUTER\"])), (_l()(), i1.ɵeld(24, 0, null, null, 1, \"div\", [[\"class\", \"added\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Ajout\\u00E9(e)\"]))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.quantity; _ck(_v, 7, 0, currVal_7); var currVal_8 = _ck(_v, 11, 0, _co.type, true); _ck(_v, 10, 0, currVal_8); var currVal_9 = _ck(_v, 14, 0, _co.QUANTITY_MIN, _co.QUANTITY_MAX); _ck(_v, 13, 0, currVal_9); var currVal_11 = _ck(_v, 19, 0, _co.type, true); _ck(_v, 18, 0, currVal_11); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 9).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 9).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 9).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 9).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 9).ngClassValid; var currVal_5 = i1.ɵnov(_v, 9).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 9).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_10 = _co.activated; _ck(_v, 17, 0, currVal_10); }); }\nfunction View_ArticleComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"RUPTURE\"]))], null, null); }\nfunction View_ArticleComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"div\", [[\"class\", \"footer\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ArticleComponent_3)), i1.ɵdid(2, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"], ngIfElse: [1, \"ngIfElse\"] }, null), (_l()(), i1.ɵand(0, [[\"ruptureTmpl\", 2]], null, 0, null, View_ArticleComponent_4))], function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.QUANTITY_MAX > 0); var currVal_1 = i1.ɵnov(_v, 3); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nexport function View_ArticleComponent_0(_l) { return i1.ɵvid(2, [(_l()(), i1.ɵeld(0, 0, null, null, 10, \"div\", [[\"class\", \"article-content\"]], [[4, \"background-image\", null]], null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 7, \"div\", [[\"class\", \"header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"div\", [[\"class\", \"left\"]], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\" \", \" \"])), (_l()(), i1.ɵeld(4, 0, null, null, 4, \"div\", [[\"class\", \"right\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ArticleComponent_1)), i1.ɵdid(6, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(8, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ArticleComponent_2)), i1.ɵdid(10, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.showPrice; _ck(_v, 6, 0, currVal_2); var currVal_4 = !_co.consult; _ck(_v, 10, 0, currVal_4); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((\"url(\" + _co.articlePicture) + \")\"); _ck(_v, 0, 0, currVal_0); var currVal_1 = _co.article.libelle; _ck(_v, 3, 0, currVal_1); var currVal_3 = _co.article.unite; _ck(_v, 8, 0, currVal_3); }); }\nexport function View_ArticleComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-article\", [], null, null, null, View_ArticleComponent_0, RenderType_ArticleComponent)), i1.ɵdid(1, 573440, null, 0, i9.ArticleComponent, [i10.EpicerieInventaireService, i1.ChangeDetectorRef], null, null)], null, null); }\nvar ArticleComponentNgFactory = i1.ɵccf(\"app-article\", i9.ArticleComponent, View_ArticleComponent_Host_0, { isInventaire: \"isInventaire\", article: \"article\", type: \"type\", consult: \"consult\" }, {}, []);\nexport { ArticleComponentNgFactory as ArticleComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{position:relative;display:inline-block;width:100%;margin-bottom:12px}[_nghost-%COMP%]:before{padding-top:48.25%;display:block;content:\\\"\\\"}@media only screen and (min-width:768px){[_nghost-%COMP%]{width:50%;min-width:280px}}@media only screen and (min-width:970px){[_nghost-%COMP%]{width:50%;min-width:280px;margin-bottom:24px}}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%]{margin:12px;position:absolute;top:0;left:0;bottom:0;right:0;border:1px solid #dbdbd8;background-repeat:no-repeat;background-position:center;background-size:contain;height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;color:#000;padding:4px 8px;-ms-flex-align:center;align-items:center;background:rgba(250,250,250,.666)}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{-ms-flex:1;flex:1;font-size:22px;padding-right:8px}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:end;align-items:flex-end}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center;margin:10px}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .btn-quantity[_ngcontent-%COMP%]{width:32px;height:32px;padding-left:3px;color:#565656;background:#dbdbd8}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .btn-quantity.btn-minus[_ngcontent-%COMP%]{border:1px solid #a5a5a5}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .btn-quantity.btn-minus[_ngcontent-%COMP%] .minus[_ngcontent-%COMP%]:before{direction:ltr;display:inline-block;font-family:\\\"Material Icons\\\";font-size:24px;font-style:normal;font-weight:400;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;font-feature-settings:\\\"liga\\\" 1;-webkit-font-smoothing:antialiased;content:\\\"remove \\\";color:#000;line-height:18px}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .btn-quantity.btn-minus[_ngcontent-%COMP%]:hover{background:#ea9696}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .btn-quantity.btn-plus[_ngcontent-%COMP%]{border:1px solid #a5a5a5}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .btn-quantity.btn-plus[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]:before{direction:ltr;display:inline-block;font-family:\\\"Material Icons\\\";font-size:24px;font-style:normal;font-weight:400;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;font-feature-settings:\\\"liga\\\" 1;-webkit-font-smoothing:antialiased;content:\\\"add \\\";color:#000;line-height:0;-ms-transform:translateY(6px);transform:translateY(6px)}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .btn-quantity.btn-plus[_ngcontent-%COMP%]:hover{background:#9dce9d}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .amount[_ngcontent-%COMP%]{width:32px;height:30px;text-align:center;font-size:18px;line-height:32px;font-weight:700;background:#fff;border:none}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{opacity:1;position:relative;display:block;min-width:100px;box-sizing:content-box;margin-left:12px;margin-right:3px;color:rgba(255,255,255,.9);overflow:hidden}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{transition:all .3s ease-in}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%] .add[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%] .add[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]{width:23px}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%] .add[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]:before{direction:ltr;display:inline-block;font-family:\\\"Material Icons\\\";font-size:24px;font-style:normal;font-weight:400;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;font-feature-settings:\\\"liga\\\" 1;-webkit-font-smoothing:antialiased;content:\\\"add \\\";color:rgba(255,255,255,.9);line-height:0;-ms-transform:translateY(6px);transform:translateY(6px)}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%] .added[_ngcontent-%COMP%]{position:absolute;top:7px;left:3px;width:100%;transition:all .3s ease-in;-ms-transform:translateX(100%);transform:translateX(100%);display:inline-block}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .toggle.activated[_ngcontent-%COMP%]{opacity:.8}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .toggle.activated[_ngcontent-%COMP%] .add[_ngcontent-%COMP%]{-ms-transform:translateX(-100%);transform:translateX(-100%)}[_nghost-%COMP%] .article-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .toggle.activated[_ngcontent-%COMP%] .added[_ngcontent-%COMP%]{-ms-transform:translateX(0);transform:translateX(0)}\"];\nexport { styles as styles };\n","
\n
\n
\n {{article.libelle}}\n
\n
\n \n \n
{{article.unite}}
\n
\n
\n \n
\n 0);else ruptureTmpl\">\n \n \n \n \n \n \n \n RUPTURE\n \n
\n
\n","import { NgZone } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\nexport function outsideZone(zone: NgZone) {\r\n return (source: Observable) => {\r\n return new Observable(observer => {\r\n let sub: Subscription;\r\n zone.runOutsideAngular(() => {\r\n sub = source.subscribe(observer);\r\n });\r\n\r\n return sub;\r\n });\r\n };\r\n}\r\n","import { Directive, Input, ElementRef, Renderer2, EventEmitter, OnInit, DoCheck, HostListener, OnDestroy, NgZone, Inject } from '@angular/core';\r\nimport { fromEvent, Subscription } from 'rxjs';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { outsideZone } from '../rx/operators/outsideZone.operator';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\ninterface Data {\r\n container: HTMLElement;\r\n blockClass: string;\r\n containerClass: string;\r\n stickyClass: string;\r\n stickyBottomClass: string;\r\n mobile: boolean;\r\n scrollContainer: string;\r\n}\r\n\r\n@Directive({\r\n selector: '[stickyBlock]'\r\n})\r\nexport class StickyBlockDirective implements OnInit, DoCheck, OnDestroy {\r\n\r\n private data: Data = undefined;\r\n\r\n private elementHeight: number;\r\n private elementWidth: number;\r\n\r\n private winHeight: number;\r\n\r\n private container: HTMLElement;\r\n private containerHeight: number;\r\n private containerTopOffset: number;\r\n private containerBottomOffset: number;\r\n\r\n private isSticky: boolean;\r\n private isStickyBottom: boolean;\r\n\r\n private isScrollable: boolean;\r\n\r\n private scrollPos: number;\r\n private stickyBottomPos: number;\r\n\r\n private mobileMQ: string = '(min-width: 768px)';\r\n private scrollContainer: Element;\r\n private onScrollSubscription: Subscription;\r\n\r\n constructor(public el: ElementRef,\r\n private renderer: Renderer2,\r\n private ngZone: NgZone,\r\n @Inject(DOCUMENT) private document: Document,\r\n ) { }\r\n\r\n\r\n\r\n @Input() set stickyBlock(data: Data) {\r\n this.setDefaults(data);\r\n\r\n this.container = this.data.container;\r\n\r\n this.el.nativeElement.classList.add(this.data.blockClass);\r\n this.container.classList.add(this.data.containerClass);\r\n\r\n if (data.mobile === false) {\r\n this.toggleClass('sticky-from-mobile', !this.data.mobile);\r\n }\r\n\r\n this.scrollContainer = data.scrollContainer && this.document.querySelector(data.scrollContainer) || this.document.documentElement;\r\n\r\n if (this.onScrollSubscription) {\r\n this.onScrollSubscription.unsubscribe();\r\n }\r\n this.onScrollSubscription = fromEvent(this.scrollContainer, 'scroll')\r\n .pipe(\r\n outsideZone(this.ngZone),\r\n untilDestroyed(this),\r\n ).subscribe(event => {\r\n this.checkSticky();\r\n });\r\n\r\n this.setDimensions();\r\n }\r\n\r\n ngOnInit() {\r\n this.setDimensions();\r\n\r\n fromEvent(window, 'resize').pipe(\r\n outsideZone(this.ngZone),\r\n untilDestroyed(this),\r\n ).subscribe(event => {\r\n this.setDimensions();\r\n });\r\n }\r\n\r\n ngDoCheck() {\r\n const blockChanged = (this.elementHeight !== this.el.nativeElement.clientHeight);\r\n const containerChanged = (this.containerHeight !== this.container.clientHeight);\r\n const bodyChanged = (this.winHeight !== this.scrollContainer.clientHeight);\r\n\r\n // Reset dimensions if block or container size change\r\n if (blockChanged || containerChanged || bodyChanged) {\r\n this.setDimensions();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // required (untilDestroyed)\r\n }\r\n\r\n // Sets defaults classes\r\n setDefaults(data: Data) {\r\n this.data = data;\r\n\r\n if (this.data.blockClass == undefined) { this.data.blockClass = 'sticky-block'; }\r\n\r\n if (this.data.containerClass == undefined) { this.data.containerClass = 'sticky-container'; }\r\n\r\n if (this.data.stickyClass == undefined) { this.data.stickyClass = 'is-sticky'; }\r\n\r\n if (this.data.stickyBottomClass == undefined) { this.data.stickyBottomClass = 'is-sticky-bottom'; }\r\n\r\n if (this.data.mobile == undefined) { this.data.mobile = false; }\r\n }\r\n\r\n\r\n // Sets elements dimensions and boundaries\r\n setDimensions() {\r\n // Reset status and dimensions\r\n this.resetDisplay();\r\n\r\n // Do nothing if sticky is not needed on mobile\r\n if (this.data.mobile === false && !window.matchMedia(this.mobileMQ).matches) { return; }\r\n\r\n this.winHeight = this.scrollContainer.clientHeight;\r\n\r\n this.elementHeight = this.el.nativeElement.clientHeight;\r\n this.elementWidth = this.el.nativeElement.clientWidth;\r\n\r\n\r\n this.containerHeight = this.container.clientHeight;\r\n this.containerTopOffset = this.container.offsetTop;\r\n this.containerBottomOffset = this.containerHeight + this.containerTopOffset;\r\n\r\n this.stickyBottomPos = this.containerBottomOffset - this.elementHeight;\r\n\r\n this.isScrollable = ((this.containerHeight - this.elementHeight) > 0);\r\n\r\n this.el.nativeElement.style.width = this.elementWidth + 'px';\r\n\r\n this.checkSticky();\r\n }\r\n\r\n // Checks if the block is sticky or not\r\n checkSticky() {\r\n\r\n this.setScrollPos();\r\n\r\n // If there is enough height for fixed position\r\n if (this.isScrollable) {\r\n // If the top of the container is reached\r\n if (this.scrollPos >= this.containerTopOffset) {\r\n // If the bottom of the container is reached\r\n if (this.scrollPos >= this.stickyBottomPos) {\r\n this.isStickyBottom = true;\r\n this.isSticky = false;\r\n } else {\r\n this.isStickyBottom = false;\r\n this.isSticky = true;\r\n }\r\n } else {\r\n this.isStickyBottom = false;\r\n this.isSticky = false;\r\n }\r\n\r\n this.setClasses();\r\n }\r\n }\r\n\r\n // Sets the scroll position\r\n setScrollPos() {\r\n this.scrollPos = this.scrollContainer.scrollTop || window.scrollY;\r\n }\r\n\r\n // Sets sticky block's classes\r\n setClasses() {\r\n this.toggleClass(this.data.stickyClass, this.isSticky);\r\n this.toggleClass(this.data.stickyBottomClass, this.isStickyBottom);\r\n }\r\n\r\n // Reset sticky mode\r\n resetDisplay() {\r\n this.isStickyBottom = false;\r\n this.isSticky = false;\r\n\r\n this.el.nativeElement.style.removeProperty('width');\r\n }\r\n\r\n private toggleClass(name: string, isAdd: boolean) {\r\n (isAdd ? this.renderer.addClass : this.renderer.removeClass).call(this.renderer, this.el.nativeElement, name);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { StringHelper } from '../helpers/string.helper';\r\n\r\n@Pipe({ name: 'currencyEuro' })\r\nexport class CurrencyEuroPipe implements PipeTransform {\r\n transform(value: number): string {\r\n if (value != null) {\r\n const formatted = StringHelper.formatDecimal(value);\r\n return `${formatted} €`;\r\n } else {\r\n return value + ' €';\r\n }\r\n }\r\n}\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { CartArticleModel } from '../models/article.model';\r\nimport { EpicerieInventaireService } from '../services/epicerie-inventaire.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-cart',\r\n templateUrl: './cart.component.html',\r\n styleUrls: ['./cart.component.scss']\r\n})\r\nexport class CartComponent implements OnInit, OnDestroy {\r\n @Input()\r\n consult: boolean;\r\n\r\n @Input()\r\n isInventaire: boolean;\r\n\r\n /** subscriptions */\r\n addSubscription: Subscription;\r\n\r\n /** getter & setter */\r\n get totalPrice(): number {\r\n const total = this.epicerieService.currentCartArticles\r\n .reduce((lastValue, article) => lastValue + (article.quantity * article.unitPrice), 0);\r\n return total;\r\n }\r\n\r\n public get articles(): CartArticleModel[] {\r\n return this.epicerieService.currentCartArticles || [];\r\n }\r\n\r\n /** Ctor & Lifecycle */\r\n constructor(private epicerieService: EpicerieInventaireService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnDestroy() {\r\n }\r\n\r\n /** Events */\r\n deleteArticle(article: CartArticleModel) {\r\n const index = this.epicerieService.currentCartArticles.indexOf(article);\r\n if (index !== -1) {\r\n this.epicerieService.currentCartArticles.splice(index, 1);\r\n }\r\n this.epicerieService.isDirty = true;\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./cart.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"../../shared/pipes/currency-euro.pipe\";\nimport * as i4 from \"./cart.component\";\nimport * as i5 from \"../services/epicerie-inventaire.service\";\nvar styles_CartComponent = [i0.styles];\nvar RenderType_CartComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_CartComponent, data: {} });\nexport { RenderType_CartComponent as RenderType_CartComponent };\nfunction View_CartComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"empty-cart\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Votre panier est vide\"]))], null, null); }\nfunction View_CartComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"right\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\" \", \" \"])), i1.ɵppd(2, 1)], null, function (_ck, _v) { var currVal_0 = i1.ɵunv(_v, 1, 0, _ck(_v, 2, 0, i1.ɵnov(_v.parent.parent, 0), _v.parent.context.$implicit.unitPrice)); _ck(_v, 1, 0, currVal_0); }); }\nfunction View_CartComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"delete pointerHover\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.deleteArticle(_v.parent.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"img\", [[\"src\", \"/assets/images/epicerie-inventaire/trash2.png\"]], null, null, null, null, null))], null, null); }\nfunction View_CartComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"div\", [[\"class\", \"article\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 8, \"div\", [[\"class\", \"article-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"div\", [[\"class\", \"left restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\" \", \" \"])), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [[\"class\", \"middle\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\" \", \" \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CartComponent_3)), i1.ɵdid(7, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CartComponent_4)), i1.ɵdid(9, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_2 = (!_co.isInventaire && (_v.context.$implicit.unitPrice > 0)); _ck(_v, 7, 0, currVal_2); var currVal_3 = !_co.consult; _ck(_v, 9, 0, currVal_3); }, function (_ck, _v) { var currVal_0 = _v.context.$implicit.quantity; _ck(_v, 3, 0, currVal_0); var currVal_1 = _v.context.$implicit.libelle; _ck(_v, 5, 0, currVal_1); }); }\nfunction View_CartComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 6, \"div\", [[\"class\", \"footer restaurant-type-background\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 5, \"span\", [[\"class\", \"right\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"span\", [[\"class\", \"total\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"TOTAL HT\"])), (_l()(), i1.ɵeld(4, 0, null, null, 2, \"span\", [[\"class\", \"totalPrice\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"])), i1.ɵppd(6, 1)], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵunv(_v, 5, 0, _ck(_v, 6, 0, i1.ɵnov(_v.parent, 0), _co.totalPrice)); _ck(_v, 5, 0, currVal_0); }); }\nexport function View_CartComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i3.CurrencyEuroPipe, []), (_l()(), i1.ɵeld(1, 0, null, null, 7, \"div\", [[\"class\", \"cart-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 4, \"div\", [[\"class\", \"articles-list\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CartComponent_1)), i1.ɵdid(4, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CartComponent_2)), i1.ɵdid(6, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_CartComponent_5)), i1.ɵdid(8, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.articles.length == 0); _ck(_v, 4, 0, currVal_0); var currVal_1 = _co.articles; _ck(_v, 6, 0, currVal_1); var currVal_2 = !_co.isInventaire; _ck(_v, 8, 0, currVal_2); }, null); }\nexport function View_CartComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-cart\", [], null, null, null, View_CartComponent_0, RenderType_CartComponent)), i1.ɵdid(1, 245760, null, 0, i4.CartComponent, [i5.EpicerieInventaireService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar CartComponentNgFactory = i1.ɵccf(\"app-cart\", i4.CartComponent, View_CartComponent_Host_0, { consult: \"consult\", isInventaire: \"isInventaire\" }, {}, []);\nexport { CartComponentNgFactory as CartComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .cart-container[_ngcontent-%COMP%]{position:relative;border:1px solid #7b7b7b;padding-left:1px;padding-bottom:40px}[_nghost-%COMP%] .cart-container[_ngcontent-%COMP%] .empty-cart[_ngcontent-%COMP%]{top:40%;text-align:center;padding:20px 0;font-size:22px;margin:43% auto auto}@media only screen and (min-width:768px){[_nghost-%COMP%] .cart-container[_ngcontent-%COMP%] .articles-list[_ngcontent-%COMP%]{overflow:auto;height:400px}}[_nghost-%COMP%] .cart-container[_ngcontent-%COMP%] .article[_ngcontent-%COMP%]{padding:20px;height:70px;border-bottom:1px solid #c5c5c5;box-sizing:border-box}[_nghost-%COMP%] .cart-container[_ngcontent-%COMP%] .article[_ngcontent-%COMP%]:nth-child(2n){background:#e6e6e6}[_nghost-%COMP%] .cart-container[_ngcontent-%COMP%] .article[_ngcontent-%COMP%] .article-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;font-weight:600}[_nghost-%COMP%] .cart-container[_ngcontent-%COMP%] .article[_ngcontent-%COMP%] .article-container[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{font-size:17px;line-height:30px;border:2px solid #7b7b7b;width:30px;min-width:30px;height:30px;text-align:center}[_nghost-%COMP%] .cart-container[_ngcontent-%COMP%] .article[_ngcontent-%COMP%] .article-container[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%]{margin:-4px 14px 0;-ms-flex-positive:1;flex-grow:1;overflow:hidden;max-height:40px}[_nghost-%COMP%] .cart-container[_ngcontent-%COMP%] .article[_ngcontent-%COMP%] .article-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{width:55px;min-width:55px;text-align:right;font-weight:700;margin-top:-4px;color:#7b7b7b;font-size:17px}[_nghost-%COMP%] .cart-container[_ngcontent-%COMP%] .article[_ngcontent-%COMP%] .article-container[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{width:36px;margin:-10px 0 0 1px}[_nghost-%COMP%] .cart-container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%]{position:absolute;bottom:0;width:100%;font-size:20px;font-weight:700;color:rgba(255,255,255,.9)}[_nghost-%COMP%] .cart-container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{float:right;margin:7px}[_nghost-%COMP%] .cart-container[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .totalPrice[_ngcontent-%COMP%]{margin:0 18px;min-width:56px;text-align:right;display:inline-block}\"];\nexport { styles as styles };\n","
\r\n
\r\n
Votre panier est vide
\r\n\r\n
\r\n
\r\n
\r\n {{article.quantity}}\r\n
\r\n
\r\n {{article.libelle}}\r\n
\r\n
0\">\r\n {{article.unitPrice | currencyEuro}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n TOTAL HT\r\n {{totalPrice | currencyEuro}}\r\n \r\n
\r\n
\r\n","\r\nimport { Component, EventEmitter, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport * as moment from 'moment';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { asapScheduler, combineLatest, of as observableOf, Subscription } from 'rxjs';\r\nimport { debounceTime, finalize, first, map, mergeMap, observeOn } from 'rxjs/operators';\r\nimport { RestaurantModel } from 'src/app/shared/models/restaurant.model';\r\nimport { AuthenticationService } from 'src/app/shared/services/authentication/authentication.service';\r\nimport { DateInputComponent, DatePickerInfo } from '../../date-input/date-input.component';\r\nimport { RestaurantTypeEnum } from '../../shared/enums/restaurant-type.enum';\r\nimport { DateHelper } from '../../shared/helpers/date.helper';\r\nimport { IPromptForNavigation } from '../../shared/interfaces/iprompt-for-navigation';\r\nimport { ErrorApiModel } from '../../shared/models/api/error/error.apimodel';\r\nimport { NotificationConfirmModel, NotificationModel } from '../../shared/models/notification.model';\r\nimport { LogoRouteService } from '../../shared/services/api/logo/logo-route.service';\r\nimport { ApplicationDataService } from '../../shared/services/application-data.service';\r\nimport { InteractionService } from '../../shared/services/interaction.service';\r\nimport { LogService } from '../../shared/services/log.service';\r\nimport { NavigationService } from '../../shared/services/navigation.service';\r\nimport { ArticleModel, CartArticleModel } from '../models/article.model';\r\nimport { CommandeModel } from '../models/commande.model';\r\nimport { DateLivraisonModel } from '../models/date-livraison.model';\r\nimport { TypeListArticleFrequenceEnum, TypeListeArticleModel, TypeListeEnum } from '../models/type-liste-articles.model';\r\nimport { EpicerieInventaireService } from '../services/epicerie-inventaire.service';\r\n\r\nconst DEBOUNCE_FILTER = 300;\r\nconst CREATION_WARNING_HOUR_LIMIT = 10;\r\n@Component({\r\n selector: 'app-epicerie-inventaire-create',\r\n templateUrl: './epicerie-inventaire-create.component.html',\r\n styleUrls: ['./epicerie-inventaire-create.component.scss']\r\n})\r\nexport class EpicerieInventaireCreateComponent implements OnInit, OnDestroy, IPromptForNavigation {\r\n // temp because ngModel two way binding doesn't work on the date input component\r\n @ViewChild('desktopDate', { static: false }) dateLivraisonComponent: DateInputComponent; // cette ligne fonctinne aussi pour mobile-date\r\n @ViewChild('searchInput', { static: true }) searchInput;\r\n\r\n /** Fields */\r\n private isDateDirty: boolean;\r\n private isCommandeJustCreated: boolean;\r\n typeListName: string;\r\n typeListType: string;\r\n restaurantType: RestaurantTypeEnum;\r\n articles: ArticleModel[] = [];\r\n filteredArticles: ArticleModel[];\r\n commande: CommandeModel;\r\n logoContratUrl: string = '';\r\n dateLivraisonCalendarData: DatePickerInfo;\r\n cartArticles: CartArticleModel[] = [];\r\n cartIsVisible: boolean;\r\n dateCommande: Date = new Date();\r\n searchIsVisible: boolean;\r\n searchText: string;\r\n isInventaire: boolean;\r\n consult: boolean;\r\n isSendingCommand: boolean = false;\r\n availableDateLivraisons: DateLivraisonModel[];\r\n\r\n get validationButtonLabel() {\r\n const validationRequise = (this.commande && this.commande.validationRequise);\r\n const isUpdate = (this.commande && this.commande.id > 0);\r\n\r\n return this.isSendingCommand\r\n ? 'Validation...'\r\n : (validationRequise && this.isAdmin)\r\n ? 'Valider'\r\n : isUpdate\r\n ? 'Modifier'\r\n : this.isInventaire\r\n ? 'Valider'\r\n : 'Commander';\r\n }\r\n\r\n get dateLivraison(): Date {\r\n return this.isInventaire\r\n ? this.dateCommande\r\n : this._dateLivraison;\r\n }\r\n\r\n set dateLivraison(value: Date) {\r\n if (this.isInventaire) {\r\n return;\r\n }\r\n\r\n if (!this.availableDateLivraisons) {\r\n // Les dates de livraison disponibles ne sont pas encore chargées\r\n return;\r\n }\r\n const dateLivraison: DateLivraisonModel = this.availableDateLivraisons.filter(date => DateHelper.areSameDayOfYear(date.date, value))[0];\r\n if (!dateLivraison) {\r\n if (this._dateLivraison && this.availableDateLivraisons.filter(date => DateHelper.areSameDayOfYear(date.date, this._dateLivraison)).length === 1) {\r\n this.dateLivraisonComponent.setNewDate(this._dateLivraison);\r\n }\r\n return;\r\n }\r\n\r\n if (dateLivraison.commandeId == null || dateLivraison.commandeId === this.commande.id) {\r\n this.isDateDirty = true;\r\n this._dateLivraison = value;\r\n } else {\r\n const notifModel = new NotificationConfirmModel();\r\n notifModel.title = 'Commande';\r\n notifModel.message = `Il existe déjà une commande pour la date de livraison ${DateHelper.toShortDateString(dateLivraison.date)}. Souhaitez vous l'éditer ?`;\r\n notifModel.onOk = () => {\r\n this.router.navigate(['/epicerieinventaire/create'], { queryParams: { commandeId: dateLivraison.commandeId } });\r\n };\r\n notifModel.onCancel = () => {\r\n this.dateLivraisonComponent.setNewDate(this._dateLivraison);\r\n };\r\n this.interactionService.showNotification(notifModel);\r\n }\r\n }\r\n\r\n /** Emitters / Subscriptions */\r\n public filterArticlesEmitter: EventEmitter;\r\n private focusEmitter: EventEmitter;\r\n\r\n /** private Fields */\r\n private _typeListeArticleId: number;\r\n private _contratId: number;\r\n private _cuisineCentraleId: number;\r\n private _restaurantId: number;\r\n private _dateLivraison: Date;\r\n public isAdmin: boolean;\r\n\r\n /** Ctor & lifecycle */\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private appDataService: ApplicationDataService,\r\n private logService: LogService,\r\n private logoService: LogoRouteService,\r\n private authService: AuthenticationService,\r\n private epicerieInventaireService: EpicerieInventaireService,\r\n private navService: NavigationService,\r\n private interactionService: InteractionService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.isAdmin = false;\r\n\r\n this.navService.registerComponent(this);\r\n this.epicerieInventaireService.clearCartArticles();\r\n this.subscribe();\r\n this.searchIsVisible = false;\r\n this.filterArticlesEmitter = new EventEmitter();\r\n this.filterArticlesEmitter.pipe(\r\n debounceTime(DEBOUNCE_FILTER))\r\n .subscribe((res) => {\r\n this.filteredArticles = this.articles.filter(article => this.searchText == '' || article.libelle.toLowerCase().indexOf(this.searchText.toLowerCase()) !== -1);\r\n });\r\n this.focusEmitter = new EventEmitter();\r\n this.focusEmitter.pipe(\r\n debounceTime(100))\r\n .subscribe((res) => {\r\n this.searchInput.nativeElement.focus();\r\n });\r\n\r\n }\r\n\r\n tryPromptMessageAfterHourLimit(hour: number, typeListe: TypeListArticleFrequenceEnum) {\r\n if (hour >= CREATION_WARNING_HOUR_LIMIT\r\n && typeListe === TypeListArticleFrequenceEnum.Quotidienne\r\n && !this.consult) {\r\n this.interactionService.showSimpleMessage('Avertissement', `Attention, vous commandez après ${CREATION_WARNING_HOUR_LIMIT}h, une journée supplémentaire a été implicitement ajoutée dans le calcul de la première date de livraison disponible.`);\r\n }\r\n }\r\n\r\n checkIsDirty(): boolean {\r\n return !this.isCommandeJustCreated && (this.isDateDirty || this.epicerieInventaireService.isDirty);\r\n }\r\n\r\n showSearch(value: boolean) {\r\n this.searchIsVisible = value;\r\n this.searchText = '';\r\n if (this.focusEmitter) {\r\n this.focusEmitter.next();\r\n }\r\n if (this.filterArticlesEmitter) {\r\n this.filterArticlesEmitter.next();\r\n }\r\n }\r\n\r\n /** Logic */\r\n handleGetOrCreateCommande(commandeId: number, duplicate: boolean) {\r\n this.epicerieInventaireService.getTypeListeArticleInfo(this._cuisineCentraleId, this._restaurantId, this._typeListeArticleId)\r\n .pipe(\r\n mergeMap((typeListe: TypeListeArticleModel) => {\r\n this.typeListName = typeListe.libelle;\r\n this.typeListType = typeListe.type === TypeListeEnum.Epicerie\r\n ? 'Epicerie'\r\n : 'Inventaire';\r\n // On affiche un message d'avertissement si l'heure est dépassée sur une liste quotidienne\r\n this.tryPromptMessageAfterHourLimit(moment().hours(), typeListe.frequence);\r\n if (commandeId) {\r\n // On a un commandeId, donc on retourne le getCommande\r\n return this.epicerieInventaireService.getCommande(commandeId);\r\n } else {\r\n // Création d'une commande -> Nouvelle commande avec l'information validationRequise\r\n const newCommande = new CommandeModel();\r\n newCommande.validationRequise = typeListe.validationRequise;\r\n newCommande.dateCommande = new Date();\r\n return observableOf(newCommande);\r\n }\r\n })\r\n ).subscribe(cmd => {\r\n // On set la commande (new ou edit)\r\n this.commande = cmd;\r\n\r\n // On remplit le panier avec les articles de la commande (s'il y en a)\r\n if (cmd.articles && cmd.articles.length) {\r\n this.epicerieInventaireService.currentCartArticles = cmd.articles;\r\n }\r\n\r\n // On prend la typeListArticle de la commande récupérée (s'il y en a)\r\n if (cmd.typeListeArticleId != null) {\r\n this._typeListeArticleId = cmd.typeListeArticleId;\r\n }\r\n\r\n // Si duplicate, on remove l'id de la commande\r\n if (duplicate) {\r\n // reset commande id on duplicate mode\r\n this.commande.id = null;\r\n } else {\r\n if (this.commande.id != null) {\r\n this.dateCommande = this.commande.dateCommande;\r\n }\r\n }\r\n\r\n // On récup les dates de livraisons + articles\r\n this.handleGetArticles();\r\n this.handleDateLivraisons();\r\n });\r\n }\r\n\r\n handleGetArticles() {\r\n // TODO faire un loader pour les articles\r\n this.epicerieInventaireService\r\n .getArticles(this._typeListeArticleId, this._cuisineCentraleId, this._restaurantId, this._contratId)\r\n .subscribe(res => {\r\n this.articles = res;\r\n this.filteredArticles = this.articles;\r\n },\r\n err => {\r\n // TODO handle errors\r\n });\r\n }\r\n\r\n handleDateLivraisons() {\r\n if (!this.isInventaire) {\r\n this.epicerieInventaireService.getAvailableDateLivraison(this._cuisineCentraleId, this._restaurantId, this._contratId, this._typeListeArticleId, this.dateCommande)\r\n .subscribe(res => {\r\n this.availableDateLivraisons = res;\r\n this.dateLivraisonCalendarData = {\r\n availableDays: this.availableDateLivraisons.map(date => date.date),\r\n maxDate: DateHelper.addMonth(new Date(), 6),\r\n enableDayFilter: true\r\n };\r\n if (this.commande.id) {\r\n // set date livraison only on edit mode\r\n this._dateLivraison = this.commande.dateLivraison;\r\n } else {\r\n // set first available date\r\n const dateLivraison = this.availableDateLivraisons.filter(date => date.commandeId == null)[0];\r\n if (dateLivraison) {\r\n this._dateLivraison = dateLivraison.date;\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.isDateDirty = false;\r\n }\r\n\r\n /** Events */\r\n validate() {\r\n if (this.isSendingCommand) {\r\n return;\r\n }\r\n\r\n if (this.epicerieInventaireService.currentCartLength === 0) {\r\n this.interactionService.showSimpleMessage('Panier vide', 'Veuillez remplir le panier avant de valider la commande');\r\n return;\r\n }\r\n\r\n this.isSendingCommand = true;\r\n this.epicerieInventaireService.saveCommande(this._cuisineCentraleId, this._restaurantId, this._typeListeArticleId, this._contratId, this.dateLivraison, this.epicerieInventaireService.currentCartArticles, this.commande.id).pipe(\r\n first(),\r\n finalize(() => {\r\n this.isSendingCommand = false;\r\n }))\r\n .subscribe(message => {\r\n this.isCommandeJustCreated = true;\r\n const notifModel = new NotificationModel();\r\n notifModel.title = 'Commande';\r\n notifModel.message = message;\r\n notifModel.onClose = () => {\r\n this.router.navigate(['/epicerieinventaire']);\r\n };\r\n\r\n this.interactionService.showNotification(notifModel);\r\n\r\n },\r\n (error: ErrorApiModel) => {\r\n const notifModel = new NotificationModel();\r\n notifModel.title = 'Erreur';\r\n notifModel.message = error.Message;\r\n\r\n this.interactionService.showNotification(notifModel);\r\n });\r\n }\r\n\r\n /** Subscriptions */\r\n subscribe() {\r\n this.route.queryParams\r\n .pipe(\r\n observeOn(asapScheduler), // TODO: à voir : le changement de title doit être fait de façon synchrone pour ne pas planter le ChangeDetector\r\n first()\r\n )\r\n .subscribe(params => {\r\n this.isInventaire = params.isInventaire === 'true';\r\n const commandeId: number = params.commandeId || null;\r\n const newTitle = `${this.isInventaire ? 'Inventaire' : 'Épicerie'} - ${commandeId ? 'Édition' : 'Création'}`;\r\n this.appDataService.changePageTitle(newTitle);\r\n });\r\n\r\n // on prends le dernier restaurant et on complete le stream que l'on combine ensuite aux infos user pour en tirer le context actuel\r\n combineLatest([\r\n this.appDataService.restaurant$,\r\n this.route.queryParams]\r\n )\r\n .pipe(\r\n untilDestroyed(this),\r\n map(([restaurant, params]) => ({ restaurant, params }))\r\n )\r\n .subscribe((tuple: { restaurant: RestaurantModel, params: Params }) => {\r\n const restaurant = tuple.restaurant;\r\n const params = tuple.params || {};\r\n if (restaurant != null) {\r\n this._restaurantId = restaurant.id;\r\n this.restaurantType = restaurant.type;\r\n this._cuisineCentraleId = restaurant.cuisineCentraleId;\r\n this._contratId = restaurant.contratId;\r\n this.logoContratUrl = this.logoService.GetPicture2Url(restaurant.contratId, restaurant.cuisineCentraleId);\r\n\r\n this.isInventaire = params.isInventaire === 'true';\r\n this._typeListeArticleId = params.typeListeArticleId || null;\r\n const commandeId: number = params.commandeId || null;\r\n const duplicate: boolean = params.duplicate || false;\r\n this.consult = params.consult || false;\r\n this.handleGetOrCreateCommande(commandeId, duplicate);\r\n }\r\n });\r\n\r\n this.epicerieInventaireService.showCartEmitter\r\n .pipe(untilDestroyed(this))\r\n .subscribe(value => {\r\n this.cartIsVisible = value;\r\n });\r\n\r\n this.authService.currentUser$\r\n .pipe(untilDestroyed(this))\r\n .subscribe(user => this.isAdmin = user && user.isAdmin);\r\n }\r\n\r\n hideCart() {\r\n this.epicerieInventaireService.showCart(false);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.epicerieInventaireService.clearCartArticles();\r\n this.navService.unregisterComponent(this);\r\n this.isCommandeJustCreated = false;\r\n }\r\n}\r\n","export enum AllowedFeatureEnum {\r\n CommandeRepas,\r\n PiqueNiques,\r\n EpicerieInventaire,\r\n Documentheque,\r\n Discussion,\r\n ObservatoireDuGout,\r\n Reporting,\r\n Contacts,\r\n BonLivraison,\r\n Administration\r\n}\r\n","export let ROUTE_URLS = {\r\n Home: '/home',\r\n CmdRepas: '/repas',\r\n PiqueNique: '/piquenique',\r\n EpicerieInventaire: '/epicerieinventaire',\r\n Observatoire: '/observatoire',\r\n Documentheque: '/documentheque',\r\n Discussion: '/demande',\r\n Reporting: '/reporting',\r\n Login: '/login',\r\n Contact: '/contact',\r\n BonLivraison: '/bonlivraison'\r\n};\r\n","import { AllowedFeatureEnum } from '../enums/allowed-feature.enum';\r\nimport { ContratModel } from './contrat.model';\r\nimport { CuisineCentraleModel } from './cuisine-centrale.model';\r\nimport { RestaurantModel } from './restaurant.model';\r\nimport { GrandCompteModel } from './grand-compte.model';\r\nimport { ROUTE_URLS } from '../constants/route_urls';\r\nimport { includes } from 'lodash';\r\n\r\nexport interface IUserInfo {\r\n readonly fullName: string;\r\n readonly id: string;\r\n readonly allowedFeatures: AllowedFeatureEnum[];\r\n readonly cuisines: CuisineCentraleModel[];\r\n readonly grandComptes: GrandCompteModel[];\r\n}\r\n\r\nexport class UserInfoModel implements IUserInfo {\r\n public readonly fullName: string;\r\n public readonly id: string;\r\n public readonly allowedFeatures: AllowedFeatureEnum[];\r\n public readonly cuisines: CuisineCentraleModel[];\r\n public readonly grandComptes: GrandCompteModel[];\r\n\r\n constructor(data: IUserInfo) {\r\n this.fullName = data.fullName;\r\n this.id = data.id;\r\n this.allowedFeatures = data.allowedFeatures || [];\r\n this.cuisines = data.cuisines || [];\r\n this.grandComptes = data.grandComptes || [];\r\n }\r\n\r\n public get allContrats(): ContratModel[] {\r\n return this.cuisines && this.cuisines.reduce((prev, current) => prev.concat(current.contrats), []) || [];\r\n }\r\n // public *getAllContrats(): IterableIterator {\r\n // for (const cuisine of this.cuisines) {\r\n // for (const contrat of cuisine.contrats) {\r\n // yield contrat;\r\n // }\r\n // }\r\n // }\r\n\r\n public get allRestaurants(): RestaurantModel[] {\r\n return this.allContrats.reduce((prev, current) => prev.concat(current.restaurants), []);\r\n }\r\n // public *getAllRestaurants(): IterableIterator {\r\n // for (const cuisine of this.cuisines) {\r\n // for (const contrat of cuisine.contrats) {\r\n // for (const restaurant of contrat.restaurants) {\r\n // yield restaurant;\r\n // }\r\n // }\r\n // }\r\n // }\r\n\r\n public hasAccessToFeature(featureLink: string | AllowedFeatureEnum): boolean {\r\n if (featureLink === ROUTE_URLS.Home || featureLink === ROUTE_URLS.Login ) {\r\n return true;\r\n }\r\n const feature = typeof featureLink === 'string' ? this.linkToFeatureEnum(featureLink) : featureLink;\r\n return includes(this.allowedFeatures, feature);\r\n }\r\n\r\n private linkToFeatureEnum(link: string): AllowedFeatureEnum {\r\n switch (link) {\r\n case ROUTE_URLS.CmdRepas:\r\n return AllowedFeatureEnum.CommandeRepas;\r\n case ROUTE_URLS.PiqueNique:\r\n return AllowedFeatureEnum.PiqueNiques;\r\n case ROUTE_URLS.EpicerieInventaire:\r\n return AllowedFeatureEnum.EpicerieInventaire;\r\n case ROUTE_URLS.Observatoire:\r\n return AllowedFeatureEnum.ObservatoireDuGout;\r\n case ROUTE_URLS.Documentheque:\r\n return AllowedFeatureEnum.Documentheque;\r\n case ROUTE_URLS.Discussion:\r\n return AllowedFeatureEnum.Discussion;\r\n case ROUTE_URLS.Reporting:\r\n return AllowedFeatureEnum.Reporting;\r\n case ROUTE_URLS.Contact:\r\n return AllowedFeatureEnum.Contacts;\r\n case ROUTE_URLS.BonLivraison:\r\n return AllowedFeatureEnum.BonLivraison;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n public get isAdmin(): boolean {\r\n return this.allowedFeatures.some(af => af === AllowedFeatureEnum.Administration);\r\n }\r\n}\r\n","// extrait de https://raw.githubusercontent.com/auth0/angular2-jwt/master/src/jwthelper.service.ts\r\n\r\nexport class JwtHelper {\r\n\r\n static decodeToken(token: string): any {\r\n if (token === null) {\r\n return null;\r\n }\r\n\r\n const parts = token.split('.');\r\n\r\n if (parts.length !== 3) {\r\n throw new Error('The inspected token doesn\\'t appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.');\r\n }\r\n\r\n const decoded = JwtHelper.urlBase64Decode(parts[1]);\r\n if (!decoded) {\r\n throw new Error('Cannot decode the token.');\r\n }\r\n\r\n return JSON.parse(decoded);\r\n }\r\n\r\n static getTokenExpirationDate(token: string): Date | null {\r\n let decoded: any;\r\n decoded = JwtHelper.decodeToken(token);\r\n\r\n if (!decoded.hasOwnProperty('exp')) {\r\n return null;\r\n }\r\n\r\n const date = new Date(0);\r\n date.setUTCSeconds(decoded.exp);\r\n\r\n return date;\r\n }\r\n\r\n static isTokenExpired(token: string, offsetSeconds?: number): boolean {\r\n if (token === null || token === '') {\r\n return true;\r\n }\r\n const date = JwtHelper.getTokenExpirationDate(token);\r\n offsetSeconds = offsetSeconds || 0;\r\n\r\n if (date === null) {\r\n return true;\r\n }\r\n\r\n return !(date.valueOf() > new Date().valueOf() + offsetSeconds * 1000);\r\n }\r\n\r\n static urlBase64Decode(str: string): string {\r\n let output = str.replace(/-/g, '+').replace(/_/g, '/');\r\n switch (output.length % 4) {\r\n case 0: {\r\n break;\r\n }\r\n case 2: {\r\n output += '==';\r\n break;\r\n }\r\n case 3: {\r\n output += '=';\r\n break;\r\n }\r\n default: {\r\n throw new Error('Illegal base64url string!');\r\n }\r\n }\r\n return JwtHelper.b64DecodeUnicode(output);\r\n }\r\n\r\n // credits for decoder goes to https://github.com/atk\r\n static b64decode(str: string): string {\r\n const chars =\r\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\n let output = '';\r\n\r\n str = String(str).replace(/=+$/, '');\r\n\r\n if (str.length % 4 === 1) {\r\n throw new Error(\r\n '\\'atob\\' failed: The string to be decoded is not correctly encoded.'\r\n );\r\n }\r\n\r\n for (\r\n // initialize result and counters\r\n let bc = 0, bs: any, buffer: any, idx = 0;\r\n // get next character\r\n (buffer = str.charAt(idx++));\r\n // character found in table? initialize bit storage and add its ascii value;\r\n ~buffer &&\r\n (\r\n (bs = bc % 4 ? bs * 64 + buffer : buffer),\r\n // and if not first of each 4 characters,\r\n // convert the first 8 bits to one ascii character\r\n bc++ % 4\r\n )\r\n ? (output += String.fromCharCode(255 & (bs >> ((-2 * bc) & 6))))\r\n : 0\r\n ) {\r\n // try to find character in table (0-63, not found => -1)\r\n buffer = chars.indexOf(buffer);\r\n }\r\n return output;\r\n }\r\n\r\n static b64DecodeUnicode(str: any) {\r\n return decodeURIComponent(\r\n Array.prototype.map\r\n .call(JwtHelper.b64decode(str), (c: any) => {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n })\r\n .join('')\r\n );\r\n }\r\n\r\n}\r\n","import { AuthTokenModel as AuthToken } from '../../models/auth-token.model';\r\nimport { JwtHelper } from './jwt-helper.helper';\r\n\r\nexport class AuthenticationToken {\r\n public authToken: AuthToken;\r\n\r\n public get accessToken() { return this.authToken.accessToken; }\r\n public get refreshToken() { return this.authToken.refreshToken; }\r\n\r\n public accessTokenExpirationDate: Date;\r\n public refreshTokenExpirationDate: Date;\r\n\r\n constructor(token: AuthToken) {\r\n this.authToken = token;\r\n this.accessTokenExpirationDate = JwtHelper.getTokenExpirationDate(token.accessToken);\r\n this.refreshTokenExpirationDate = JwtHelper.getTokenExpirationDate(token.refreshToken);\r\n }\r\n\r\n public isAccessTokenExpired() {\r\n return this.isExpired(this.accessTokenExpirationDate);\r\n }\r\n\r\n public isRefreshTokenExpired() {\r\n return this.isExpired(this.refreshTokenExpirationDate);\r\n }\r\n\r\n private isExpired(expirationDate: Date, offsetSeconds?: number): boolean {\r\n offsetSeconds = offsetSeconds || 0;\r\n if (expirationDate === null) {\r\n return true;\r\n }\r\n return !(expirationDate.valueOf() > new Date().valueOf() + offsetSeconds * 1000);\r\n }\r\n}\r\n","import { AuthTokenModel } from '../models/auth-token.model';\r\nimport { AuthTokenApiResponse } from '../models/api/authentication';\r\n\r\nexport class AuthTokenProjector {\r\n static projectFromApi(apiModel: AuthTokenApiResponse.AuthData): AuthTokenModel {\r\n if (!apiModel.refreshToken || !apiModel.refreshToken) {\r\n throw new Error(\"RefreshToken or Bearer is missing\");\r\n }\r\n return {\r\n refreshToken: apiModel.refreshToken,\r\n accessToken: apiModel.accessToken\r\n }\r\n }\r\n}","import { AllowedFeatureEnum } from '../enums/allowed-feature.enum';\r\nimport { RythmeContratEnum } from '../enums/rythme-contrat.enum';\r\nimport { RestaurantTypeEnum } from '../enums/restaurant-type.enum';\r\nimport { RestaurantModel } from '../models/restaurant.model';\r\nimport { ContratModel } from '../models/contrat.model';\r\nimport { UserInfoModel, IUserInfo } from '../models/user-info.model';\r\n\r\nimport { GetMeApiResponse } from '../models/api/authentication';\r\nimport { CuisineCentraleModel } from '../models/cuisine-centrale.model';\r\nimport { GrandCompteModel } from '../models/grand-compte.model';\r\n\r\nexport class UserInfoProjector {\r\n\r\n static projectUserInfo(userApi: GetMeApiResponse.UserInfo): UserInfoModel {\r\n let fullName = '';\r\n if (userApi.firstName) {\r\n fullName += `${userApi.firstName} `;\r\n }\r\n\r\n fullName += (userApi.lastName || '').toLocaleUpperCase();\r\n\r\n const cuisines = this.projectCuisines(userApi.contrats);\r\n const grandComptes = this.projectGrandComptes(cuisines);\r\n\r\n return new UserInfoModel({\r\n fullName,\r\n id: userApi.userId,\r\n allowedFeatures: this.projectAllowedFeatures(userApi.allowedFeatures),\r\n cuisines,\r\n grandComptes\r\n });\r\n }\r\n\r\n private static projectAllowedFeatures(apiFeatures: string[]): AllowedFeatureEnum[] {\r\n return apiFeatures.map(f => {\r\n return AllowedFeatureEnum[f];\r\n });\r\n }\r\n\r\n private static projectContracts(contractsApi: GetMeApiResponse.Contrat[]): ContratModel[] {\r\n const contrats: ContratModel[] = [];\r\n contractsApi.forEach(c => {\r\n const restaurants = this.projectRestaurants(c.restaurants, c.id, c.cuisineCentraleId, c.cuisineCentraleCode);\r\n restaurants.sort((a, b) => a.name.localeCompare(b.name));\r\n\r\n if (restaurants.length !== 0) {\r\n contrats.push({\r\n id: c.id,\r\n restaurants,\r\n libelle: c.libelle,\r\n cuisineCentraleId: c.cuisineCentraleId,\r\n cuisineCentraleCode: c.cuisineCentraleCode,\r\n cuisineCentrale: c.cuisineCentrale,\r\n grandCompteId: c.grandCompteId,\r\n grandCompteLibelle: c.grandCompteLibelle,\r\n rythme: RythmeContratEnum[c.rythme]\r\n });\r\n }\r\n });\r\n\r\n return contrats;\r\n }\r\n\r\n private static projectCuisines(contratsApi: GetMeApiResponse.Contrat[]): CuisineCentraleModel[] {\r\n // distinct des cuisines sur les contrats puis générations des contrats de chaque cuisine\r\n const cuisinesById: { [id: number]: CuisineCentraleModel; } = {};\r\n contratsApi.forEach(c => {\r\n let cuisine = cuisinesById[c.cuisineCentraleId];\r\n if (!cuisine) {\r\n cuisine = { id: c.cuisineCentraleId, code: c.cuisineCentraleCode, libelle: c.cuisineCentrale, contrats: [] };\r\n cuisinesById[c.cuisineCentraleId] = cuisine;\r\n }\r\n cuisine.contrats.push(...this.projectContracts([c]));\r\n });\r\n\r\n const cuisines = Object.keys(cuisinesById).map(key => cuisinesById[key]);\r\n cuisines.sort((a, b) => a.libelle.localeCompare(b.libelle));\r\n\r\n return cuisines;\r\n }\r\n\r\n private static projectGrandComptes(cuisines: CuisineCentraleModel[]): GrandCompteModel[] {\r\n // distinct des grandComptes sur les contrats\r\n const grandComptesById: { [id: number]: GrandCompteModel; } = {};\r\n cuisines.forEach(cuisine => {\r\n cuisine.contrats.forEach(c => {\r\n if (!c.grandCompteId) {\r\n return;\r\n }\r\n let grandCompte = grandComptesById[c.grandCompteId];\r\n if (!grandCompte) {\r\n grandCompte = { id: c.grandCompteId, libelle: c.grandCompteLibelle/*, contrats: []*/ };\r\n grandComptesById[grandCompte.id] = grandCompte;\r\n }\r\n // grandCompte.contrats.push(c);\r\n });\r\n });\r\n\r\n const grandComptes = Object.keys(grandComptesById).map(key => grandComptesById[key]);\r\n grandComptes.sort((a, b) => a.libelle.localeCompare(b.libelle));\r\n\r\n return grandComptes;\r\n }\r\n\r\n private static projectRestaurants(restauApi: GetMeApiResponse.Restaurant[], contratId: number, cuisineCentraleId: number, cuisineCentraleCode: string): RestaurantModel[] {\r\n return restauApi.map(r => {\r\n return {\r\n id: r.id,\r\n name: r.libelle,\r\n code: r.code,\r\n type: this.projectRestaurantType(r.type),\r\n contratId,\r\n cuisineCentraleId,\r\n cuisineCentraleCode\r\n };\r\n });\r\n }\r\n\r\n private static projectRestaurantType(type: string): RestaurantTypeEnum {\r\n switch (type) {\r\n case 'Maternelles':\r\n return RestaurantTypeEnum.Maternelle;\r\n case 'Creches':\r\n return RestaurantTypeEnum.Creche;\r\n case 'Adultes':\r\n return RestaurantTypeEnum.Adulte;\r\n case 'Elementaires':\r\n return RestaurantTypeEnum.Elementaire;\r\n default:\r\n return RestaurantTypeEnum.Elementaire;\r\n }\r\n }\r\n}\r\n","const MENU_IMG_BASE_FOLDER = \"/assets/images/menu-icons/\"\r\nexport class MenuLinkModel {\r\n icon: string;\r\n name: string;\r\n path: string;\r\n description: string;\r\n isInHeader: boolean\r\n isEnabled: boolean = true;\r\n isSpecialHeight: boolean;\r\n isInHomeTile: boolean\r\n\r\n /** make this in projector + set this as interface*/\r\n constructor(path: string, isEnabled: boolean, name: string, description: string, isSpecialHeight: boolean, isInHeader: boolean, isInHomeTile: boolean, img: string = undefined) {\r\n this.name = name;\r\n this.path = path;\r\n this.isInHeader = isInHeader;\r\n this.isInHomeTile = isInHomeTile;\r\n this.description = description;\r\n this.isEnabled = isEnabled;\r\n\r\n let imgName = img || name;\r\n this.icon = `${MENU_IMG_BASE_FOLDER}${imgName}.png`;\r\n\r\n this.isSpecialHeight = isSpecialHeight;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable, of as observableOf, throwError as observableThrowError, BehaviorSubject } from 'rxjs';\r\nimport { map, switchMap, shareReplay, distinctUntilChanged, tap, catchError } from 'rxjs/operators';\r\nimport { AuthTokenModel as AuthToken } from '../../models/auth-token.model';\r\nimport { UserInfoModel as User, IUserInfo } from '../../models/user-info.model';\r\nimport { AuthenticationToken } from './authentication-token.model';\r\nimport * as moment from 'moment';\r\nimport { LogService, Logger } from '../log.service';\r\nimport { Router } from '@angular/router';\r\nimport { StorageServiceBase, SessionStorageService, LocalStorageService } from '../browser-storage.service';\r\nimport { AuthenticationApiService } from '../api/authentication/authentication.apiservice';\r\nimport { AuthTokenProjector } from '../../projectors/auth-token.projector';\r\nimport { UserInfoProjector } from '../../projectors/user-info.projector';\r\nimport { MenuLinkModel } from '../../models/menu-link.model';\r\nimport { ROUTE_URLS } from '../../constants/route_urls';\r\n\r\nconst USER_STORAGEKEY = 'USER';\r\nconst TOKEN_STORAGEKEY = 'TOKEN';\r\n\r\nconst LEGACY_RTOKEN_STORAGEKEY = 'REFRESHTOKEN';\r\nconst LEGACY_TOKEN_STORAGEKEY = 'ACCESSTOKEN';\r\n\r\n// @Injectable({\r\n// providedIn: 'root'\r\n// })\r\n@Injectable()\r\nexport class AuthenticationService {\r\n\r\n constructor(private _apiAuthenticationService: AuthenticationApiService,\r\n private _router: Router,\r\n private _sessionStorageService: SessionStorageService,\r\n private _localStorageService: LocalStorageService,\r\n private _logService: LogService) {\r\n this._log = _logService.getLogger('AuthenticationService');\r\n }\r\n\r\n private _currentTokenSubject = new BehaviorSubject(this.currentToken);\r\n public currentToken$ = this._currentTokenSubject.asObservable()\r\n .pipe(\r\n shareReplay(1) // on partage toujours la même subscription et on propose la dernière valeur\r\n );\r\n\r\n private _currentUserSubject = new BehaviorSubject(this.currentUser);\r\n public currentUser$ = this._currentUserSubject.asObservable()\r\n .pipe(\r\n distinctUntilChanged(),\r\n shareReplay(1) // on partage toujours la même subscription et on propose la dernière valeur\r\n );\r\n\r\n private _token: AuthenticationToken;\r\n private get currentToken(): AuthenticationToken {\r\n return this._token = this._token || this.loadStoredToken();\r\n }\r\n private set currentToken(token: AuthenticationToken) {\r\n this._token = token;\r\n this.storeToken(token ? token.authToken : null);\r\n this._currentTokenSubject.next(token);\r\n }\r\n\r\n private _user: User;\r\n private get currentUser(): User {\r\n return this._user = this._user || this.loadStoredUser();\r\n }\r\n private set currentUser(user: User) {\r\n this._user = user;\r\n this.storeUser(user);\r\n this._currentUserSubject.next(user);\r\n }\r\n\r\n private _log: Logger;\r\n // store the URL so we can redirect after logging in\r\n public redirectUrl: string;\r\n\r\n\r\n\r\n\r\n public signIn(username: string, password: string): Observable {\r\n return this._apiAuthenticationService.login(username, password)\r\n .pipe(\r\n switchMap(authData => {\r\n const token = AuthTokenProjector.projectFromApi(authData);\r\n // store Token & get user info\r\n this.currentToken = new AuthenticationToken(token);\r\n return this.loadUser();\r\n })\r\n // TODO voir pour debouncer les appels\r\n // , shareReplay() // We are calling shareReplay to prevent the receiver of this Observable from accidentally triggering multiple POST requests due to multiple subscriptions.\r\n );\r\n }\r\n\r\n public getToken(checkExpiration = true, canRefreshToken = true): Observable {\r\n if (this.currentToken && checkExpiration) {\r\n if (!this.currentToken.isAccessTokenExpired()) {\r\n return observableOf(this.currentToken);\r\n }\r\n\r\n this._log.debug('access token expired');\r\n if (canRefreshToken && !this.currentToken.isRefreshTokenExpired()) {\r\n return this.refreshToken();\r\n }\r\n return observableOf(null);\r\n } else {\r\n return observableOf(this.currentToken);\r\n }\r\n }\r\n\r\n private loadUser(): Observable {\r\n return this._apiAuthenticationService.me()\r\n .pipe(\r\n map(apiUserModel => UserInfoProjector.projectUserInfo(apiUserModel)),\r\n tap((user) => {\r\n this.currentUser = user;\r\n })\r\n );\r\n }\r\n\r\n private storeUser(user: User) {\r\n this._sessionStorageService.setObject(USER_STORAGEKEY, user);\r\n // on défini un scope user sur le localStorage\r\n this._localStorageService.keyPrefix = user && `USER${user.id}` || null;\r\n }\r\n\r\n private loadStoredUser(): User {\r\n const sessionUser = this._sessionStorageService.getObject(USER_STORAGEKEY);\r\n // check suite à un changement de la structure du user afin de forcer le rafraichissement pour migrer vers la nouvelle structure\r\n return sessionUser && sessionUser.cuisines && new User(sessionUser);\r\n }\r\n\r\n private storeToken(token: AuthToken) {\r\n // this._storageService.setObject(TOKEN_STORAGEKEY, token);\r\n this._sessionStorageService.setString(LEGACY_TOKEN_STORAGEKEY, token && token.accessToken);\r\n this._sessionStorageService.setString(LEGACY_RTOKEN_STORAGEKEY, token && token.refreshToken);\r\n }\r\n\r\n private loadStoredToken(): AuthenticationToken {\r\n // const token = this._storageService.getObject(TOKEN_STORAGEKEY);\r\n const token: AuthToken = {\r\n accessToken: this._sessionStorageService.getString(LEGACY_TOKEN_STORAGEKEY),\r\n refreshToken: this._sessionStorageService.getString(LEGACY_RTOKEN_STORAGEKEY)\r\n };\r\n return token && token.accessToken && new AuthenticationToken(token);\r\n }\r\n\r\n public refreshToken(): Observable {\r\n if (this.currentToken) {\r\n this._log.debug('refreshing access token...');\r\n if (this.currentToken.isRefreshTokenExpired()) {\r\n this._log.debug('refresh token expired');\r\n return observableThrowError(new Error('Refresh token expired'));\r\n }\r\n return this._apiAuthenticationService.refresh(this.currentToken.authToken.refreshToken)\r\n .pipe(\r\n map(token => {\r\n this._log.debug('access token refreshed');\r\n this.currentToken = new AuthenticationToken(token);\r\n return this.currentToken;\r\n })\r\n // TODO voir pour debouncer les appels\r\n // , shareReplay() // We are calling shareReplay to prevent the receiver of this Observable from accidentally triggering multiple POST requests due to multiple subscriptions.\r\n );\r\n } else {\r\n return observableThrowError(new Error('No refresh token'));\r\n }\r\n }\r\n\r\n public signOut(rerouteToLogin: boolean = true, redirectUrl: string = null) {\r\n this._log.info('User logged off');\r\n this.currentToken = null;\r\n this.currentUser = null;\r\n\r\n // Store the attempted URL for redirecting\r\n this.redirectUrl = redirectUrl;\r\n\r\n if (rerouteToLogin) {\r\n this._router.navigate(['/login']);\r\n }\r\n }\r\n\r\n public isLoggedIn(): Observable {\r\n return this.getToken()\r\n .pipe(\r\n map(token => {\r\n return token && !token.isAccessTokenExpired();\r\n })\r\n );\r\n }\r\n\r\n public sendPassword(username: string): Observable {\r\n return this._apiAuthenticationService.sendPassword(username);\r\n }\r\n\r\n public _debug_ExpireToken() {\r\n // expire le token (seulement côté client, le token original n'est pas modifié)\r\n this.currentToken.accessTokenExpirationDate = moment().subtract(1, 'day').toDate();\r\n }\r\n\r\n public _debug_TestAuthApi(): Observable {\r\n // appel à un service qui requiert le token d'authentification\r\n return this._apiAuthenticationService.me();\r\n }\r\n\r\n public getAvailableMenuLinks(): Observable {\r\n return this.currentUser$\r\n .pipe(map(user =>\r\n [\r\n new MenuLinkModel(ROUTE_URLS.Home, true, 'accueil', 'Accueil', false, true, false, 'home'),\r\n new MenuLinkModel(ROUTE_URLS.CmdRepas, user && user.hasAccessToFeature(ROUTE_URLS.CmdRepas), 'repas', 'Commande de repas', false, true, true, 'repas'),\r\n new MenuLinkModel(ROUTE_URLS.PiqueNique, user && user.hasAccessToFeature(ROUTE_URLS.PiqueNique), 'pique-nique', 'Commande de pique-niques', false, true, true, 'piquenique'),\r\n new MenuLinkModel(ROUTE_URLS.EpicerieInventaire, user && user.hasAccessToFeature(ROUTE_URLS.EpicerieInventaire), 'epicerie & inventaire', 'Commandes d\\'épicerie & inventaires', false, true, true, 'epicerieinventaire'),\r\n new MenuLinkModel(ROUTE_URLS.Observatoire, user && user.hasAccessToFeature(ROUTE_URLS.Observatoire), 'observatoire du goût', 'Observatoire du goût', false, true, true, 'observatoiregout'),\r\n new MenuLinkModel(ROUTE_URLS.Documentheque, user && user.hasAccessToFeature(ROUTE_URLS.Documentheque), 'documenthèque', 'Documenthèque', false, true, true, 'documentheque'),\r\n new MenuLinkModel(ROUTE_URLS.Discussion, user && user.hasAccessToFeature(ROUTE_URLS.Discussion), 'Demande / Réclamation', 'Demande / Réclamation', true, true, false, 'mail'),\r\n new MenuLinkModel(ROUTE_URLS.Reporting, user && user.hasAccessToFeature(ROUTE_URLS.Reporting), 'reporting', 'Reporting', false, true, true, 'reporting'),\r\n new MenuLinkModel(ROUTE_URLS.BonLivraison, user && user.hasAccessToFeature(ROUTE_URLS.BonLivraison), 'réception', 'Réception', false, true, true, 'bonLivraison')\r\n // new MenuLinkModel(\"/paramètres\", true, \"paramètres\", \"Paramètres\", false, false, false, \"setting\"),\r\n ].filter(m => m.isEnabled) // n'afficher que les éléments accessibles #24071\r\n )\r\n );\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./epicerie-inventaire-create.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../date-input/date-input.component.ngfactory\";\nimport * as i3 from \"../../shared/pipes/error-pretty-date.pipe\";\nimport * as i4 from \"../../date-input/date-input.component\";\nimport * as i5 from \"@angular/forms\";\nimport * as i6 from \"@angular/common\";\nimport * as i7 from \"../../shared/directives/restaurant-type-color.directive\";\nimport * as i8 from \"./article/article.component.ngfactory\";\nimport * as i9 from \"./article/article.component\";\nimport * as i10 from \"../services/epicerie-inventaire.service\";\nimport * as i11 from \"../../shared/pipes/dateFormat.pipe\";\nimport * as i12 from \"../../shared/directives/sticky-block.directive\";\nimport * as i13 from \"../cart/cart.component.ngfactory\";\nimport * as i14 from \"../cart/cart.component\";\nimport * as i15 from \"./epicerie-inventaire-create.component\";\nimport * as i16 from \"@angular/router\";\nimport * as i17 from \"../../shared/services/application-data.service\";\nimport * as i18 from \"../../shared/services/log.service\";\nimport * as i19 from \"../../shared/services/api/logo/logo-route.service\";\nimport * as i20 from \"../../shared/services/authentication/authentication.service\";\nimport * as i21 from \"../../shared/services/navigation.service\";\nimport * as i22 from \"../../shared/services/interaction.service\";\nvar styles_EpicerieInventaireCreateComponent = [i0.styles];\nvar RenderType_EpicerieInventaireCreateComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_EpicerieInventaireCreateComponent, data: {} });\nexport { RenderType_EpicerieInventaireCreateComponent as RenderType_EpicerieInventaireCreateComponent };\nfunction View_EpicerieInventaireCreateComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 6, \"app-date-input\", [[\"id\", \"desktop-date\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateLivraison = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_DateInputComponent_0, i2.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i3.ErrorPrettyDatePipe, i3.ErrorPrettyDatePipe, []), i1.ɵdid(2, 4243456, [[1, 4], [\"desktopDate\", 4]], 0, i4.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"] }, null), i1.ɵprd(1024, null, i5.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.DateInputComponent]), i1.ɵdid(4, 671744, null, 0, i5.NgModel, [[8, null], [8, null], [8, null], [6, i5.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i5.NgControl, null, [i5.NgModel]), i1.ɵdid(6, 16384, null, 0, i5.NgControlStatus, [[4, i5.NgControl]], null, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.dateLivraisonCalendarData; _ck(_v, 2, 0, currVal_7); var currVal_8 = _co.dateLivraison; _ck(_v, 4, 0, currVal_8); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 6).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 6).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 6).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 6).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 6).ngClassValid; var currVal_5 = i1.ɵnov(_v, 6).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 6).ngClassPending; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_EpicerieInventaireCreateComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \"\"])), i1.ɵppd(2, 2)], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵunv(_v, 1, 0, _ck(_v, 2, 0, i1.ɵnov(_v.parent.parent, 0), _co.dateLivraison, \"DD/MM/YYYY\")); _ck(_v, 1, 0, currVal_0); }); }\nfunction View_EpicerieInventaireCreateComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 6, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"label\", [[\"class\", \"elior-label\"], [\"for\", \"input-desktop-date\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Date de livraison pr\\u00E9visionnelle :\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireCreateComponent_2)), i1.ɵdid(4, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireCreateComponent_3)), i1.ɵdid(6, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = ((_co.dateLivraisonCalendarData && !_co.isInventaire) && !_co.consult); _ck(_v, 4, 0, currVal_0); var currVal_1 = _co.consult; _ck(_v, 6, 0, currVal_1); }, null); }\nfunction View_EpicerieInventaireCreateComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"button\", [[\"class\", \"generic-button red-button validate-button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.validate() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"button\", [[\"class\", \"generic-button prev-button hidecart-button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.hideCart() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Retour\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.validationButtonLabel; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_EpicerieInventaireCreateComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"error-box\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Cette commande est soumise \\u00E0 validation avant d'\\u00EAtre transmise \"]))], null, null); }\nfunction View_EpicerieInventaireCreateComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 8, \"app-date-input\", [[\"class\", \"mobile-date\"], [\"id\", \"mobile-date\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateLivraison = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_DateInputComponent_0, i2.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i3.ErrorPrettyDatePipe, i3.ErrorPrettyDatePipe, []), i1.ɵdid(2, 4243456, [[\"mobileDate\", 4]], 0, i4.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], class: [1, \"class\"] }, null), i1.ɵprd(1024, null, i5.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.DateInputComponent]), i1.ɵdid(4, 671744, null, 0, i5.NgModel, [[8, null], [8, null], [8, null], [6, i5.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i5.NgControl, null, [i5.NgModel]), i1.ɵdid(6, 16384, null, 0, i5.NgControlStatus, [[4, i5.NgControl]], null, null), i1.ɵdid(7, 16384, null, 0, i7.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(8, { \"type\": 0, \"isSecondary\": 1, \"background\": 2 })], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.dateLivraisonCalendarData; var currVal_8 = \"mobile-date\"; _ck(_v, 2, 0, currVal_7, currVal_8); var currVal_9 = _co.dateLivraison; _ck(_v, 4, 0, currVal_9); var currVal_10 = _ck(_v, 8, 0, _co.restaurantType, true, true); _ck(_v, 7, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 6).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 6).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 6).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 6).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 6).ngClassValid; var currVal_5 = i1.ɵnov(_v, 6).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 6).ngClassPending; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_EpicerieInventaireCreateComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-article\", [], null, null, null, i8.View_ArticleComponent_0, i8.RenderType_ArticleComponent)), i1.ɵdid(1, 573440, null, 0, i9.ArticleComponent, [i10.EpicerieInventaireService, i1.ChangeDetectorRef], { isInventaire: [0, \"isInventaire\"], article: [1, \"article\"], type: [2, \"type\"], consult: [3, \"consult\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isInventaire; var currVal_1 = _v.context.$implicit; var currVal_2 = _co.restaurantType; var currVal_3 = _co.consult; _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2, currVal_3); }, null); }\nexport function View_EpicerieInventaireCreateComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i11.DateFormatPipe, []), i1.ɵqud(671088640, 1, { dateLivraisonComponent: 0 }), i1.ɵqud(402653184, 2, { searchInput: 0 }), (_l()(), i1.ɵeld(3, 0, null, null, 71, \"div\", [[\"class\", \"main-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 0, \"div\", [[\"class\", \"ribbon\"]], [[4, \"background-image\", null]], null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 69, \"div\", [[\"class\", \"page-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(7, null, [\"\", \"\"])), (_l()(), i1.ɵeld(8, 0, [[\"stickyContainer\", 1]], null, 66, \"div\", [[\"class\", \"panier-products-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 23, \"div\", [[\"class\", \"left-side\"]], [[2, \"mobile-cart-visible\", null]], null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 22, \"div\", [[\"class\", \"panier-container\"]], null, null, null, null, null)), i1.ɵdid(11, 475136, null, 0, i12.StickyBlockDirective, [i1.ElementRef, i1.Renderer2, i1.NgZone, i6.DOCUMENT], { stickyBlock: [0, \"stickyBlock\"] }, null), i1.ɵpod(12, { \"container\": 0, \"scrollContainer\": 1 }), (_l()(), i1.ɵeld(13, 0, null, null, 3, \"span\", [[\"class\", \"title\"]], null, null, null, null, null)), i1.ɵdid(14, 16384, null, 0, i7.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(15, { \"type\": 0, \"color\": 1 }), (_l()(), i1.ɵted(-1, null, [\"Votre Panier\"])), (_l()(), i1.ɵeld(17, 0, null, null, 15, \"div\", [[\"class\", \"content-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(18, 0, null, null, 8, \"div\", [[\"class\", \"date-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(19, 0, null, null, 5, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 1, \"label\", [[\"class\", \"elior-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(21, null, [\"Date \", \" :\"])), (_l()(), i1.ɵeld(22, 0, null, null, 2, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(23, null, [\"\", \"\"])), i1.ɵppd(24, 2), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireCreateComponent_1)), i1.ɵdid(26, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(27, 0, null, null, 1, \"app-cart\", [], null, null, null, i13.View_CartComponent_0, i13.RenderType_CartComponent)), i1.ɵdid(28, 245760, null, 0, i14.CartComponent, [i10.EpicerieInventaireService], { consult: [0, \"consult\"], isInventaire: [1, \"isInventaire\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireCreateComponent_4)), i1.ɵdid(30, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireCreateComponent_5)), i1.ɵdid(32, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(33, 0, null, null, 41, \"div\", [[\"class\", \"products-container right-side\"]], [[2, \"mobile-product-container\", null]], null, null, null, null)), (_l()(), i1.ɵeld(34, 0, null, null, 3, \"span\", [[\"class\", \"title\"]], null, null, null, null, null)), i1.ɵdid(35, 16384, null, 0, i7.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(36, { \"type\": 0, \"color\": 1 }), (_l()(), i1.ɵted(-1, null, [\"Les Produits\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireCreateComponent_6)), i1.ɵdid(39, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(40, 0, null, null, 1, \"div\", [[\"class\", \"picturesMessage\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Les photos pr\\u00E9sent\\u00E9es sur le site sont non contractuelles\"])), (_l()(), i1.ɵeld(42, 0, null, null, 0, \"hr\", [[\"class\", \"separator\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(43, 0, null, null, 31, \"div\", [[\"class\", \"product-list\"]], null, null, null, null, null)), i1.ɵdid(44, 16384, null, 0, i7.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(45, { \"type\": 0, \"border\": 1 }), (_l()(), i1.ɵeld(46, 0, null, null, 26, \"div\", [[\"class\", \"search-header\"]], null, null, null, null, null)), i1.ɵdid(47, 16384, null, 0, i7.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(48, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(49, 0, null, null, 12, \"div\", [[\"class\", \"search-panel\"]], [[2, \"hidden\", null]], null, null, null, null)), i1.ɵdid(50, 16384, null, 0, i7.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(51, { \"type\": 0, \"isBlack\": 1, \"background\": 2 }), (_l()(), i1.ɵeld(52, 0, null, null, 1, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(53, 0, null, null, 0, \"img\", [[\"src\", \"/assets/images/epicerie-inventaire/loupe-white.png\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(54, 0, [[2, 0], [\"searchInput\", 1]], null, 5, \"input\", [[\"class\", \"search-input\"], [\"placeholder\", \"Recherche par mots cl\\u00E9s\"], [\"type\", \"text\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 55)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 55).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 55)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 55)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.searchText = $event) !== false);\n ad = (pd_4 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_5 = (_co.filterArticlesEmitter.next() !== false);\n ad = (pd_5 && ad);\n } return ad; }, null, null)), i1.ɵdid(55, 16384, null, 0, i5.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i5.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i5.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i5.DefaultValueAccessor]), i1.ɵdid(57, 671744, null, 0, i5.NgModel, [[8, null], [8, null], [8, null], [6, i5.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i5.NgControl, null, [i5.NgModel]), i1.ɵdid(59, 16384, null, 0, i5.NgControlStatus, [[4, i5.NgControl]], null, null), (_l()(), i1.ɵeld(60, 0, null, null, 1, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(61, 0, null, null, 0, \"img\", [[\"class\", \"pointer\"], [\"src\", \"/assets/images/close.png\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.showSearch(false) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(62, 0, null, null, 8, \"div\", [[\"class\", \"left\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(63, 0, null, null, 3, \"div\", [[\"class\", \"pointer\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.showSearch(true) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(64, 16384, null, 0, i7.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(65, { \"type\": 0, \"isBlack\": 1, \"background\": 2 }), (_l()(), i1.ɵeld(66, 0, null, null, 0, \"img\", [[\"src\", \"/assets/images/epicerie-inventaire/loupe-white.png\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(67, 0, null, null, 3, \"div\", [], null, null, null, null, null)), i1.ɵdid(68, 16384, null, 0, i7.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(69, { \"type\": 0, \"isBlack\": 1, \"background\": 2 }), (_l()(), i1.ɵted(-1, null, [\"TOUS\"])), (_l()(), i1.ɵeld(71, 0, null, null, 1, \"div\", [[\"class\", \"liste\"]], null, null, null, null, null)), (_l()(), i1.ɵted(72, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_EpicerieInventaireCreateComponent_7)), i1.ɵdid(74, 278528, null, 0, i6.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_3 = _ck(_v, 12, 0, i1.ɵnov(_v, 8), \"#antiscroll-body\"); _ck(_v, 11, 0, currVal_3); var currVal_4 = _ck(_v, 15, 0, _co.restaurantType, true); _ck(_v, 14, 0, currVal_4); var currVal_7 = !_co.isInventaire; _ck(_v, 26, 0, currVal_7); var currVal_8 = _co.consult; var currVal_9 = _co.isInventaire; _ck(_v, 28, 0, currVal_8, currVal_9); var currVal_10 = !_co.consult; _ck(_v, 30, 0, currVal_10); var currVal_11 = (((_co.commande && _co.commande.validationRequise) && !_co.consult) && !_co.isAdmin); _ck(_v, 32, 0, currVal_11); var currVal_13 = _ck(_v, 36, 0, _co.restaurantType, true); _ck(_v, 35, 0, currVal_13); var currVal_14 = _co.dateLivraisonCalendarData; _ck(_v, 39, 0, currVal_14); var currVal_15 = _ck(_v, 45, 0, _co.restaurantType, true); _ck(_v, 44, 0, currVal_15); var currVal_16 = _ck(_v, 48, 0, _co.restaurantType, true); _ck(_v, 47, 0, currVal_16); var currVal_18 = _ck(_v, 51, 0, _co.restaurantType, false, true); _ck(_v, 50, 0, currVal_18); var currVal_26 = _co.searchText; _ck(_v, 57, 0, currVal_26); var currVal_27 = _ck(_v, 65, 0, _co.restaurantType, true, false); _ck(_v, 64, 0, currVal_27); var currVal_28 = _ck(_v, 69, 0, _co.restaurantType, true, true); _ck(_v, 68, 0, currVal_28); var currVal_30 = _co.filteredArticles; _ck(_v, 74, 0, currVal_30); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((\"url(\" + _co.logoContratUrl) + \")\"); _ck(_v, 4, 0, currVal_0); var currVal_1 = _co.typeListType; _ck(_v, 7, 0, currVal_1); var currVal_2 = _co.cartIsVisible; _ck(_v, 9, 0, currVal_2); var currVal_5 = (_co.isInventaire ? \"d'inventaire\" : \"de commande\"); _ck(_v, 21, 0, currVal_5); var currVal_6 = i1.ɵunv(_v, 23, 0, _ck(_v, 24, 0, i1.ɵnov(_v, 0), _co.dateCommande, \"DD/MM/YYYY\")); _ck(_v, 23, 0, currVal_6); var currVal_12 = _co.cartIsVisible; _ck(_v, 33, 0, currVal_12); var currVal_17 = !_co.searchIsVisible; _ck(_v, 49, 0, currVal_17); var currVal_19 = i1.ɵnov(_v, 59).ngClassUntouched; var currVal_20 = i1.ɵnov(_v, 59).ngClassTouched; var currVal_21 = i1.ɵnov(_v, 59).ngClassPristine; var currVal_22 = i1.ɵnov(_v, 59).ngClassDirty; var currVal_23 = i1.ɵnov(_v, 59).ngClassValid; var currVal_24 = i1.ɵnov(_v, 59).ngClassInvalid; var currVal_25 = i1.ɵnov(_v, 59).ngClassPending; _ck(_v, 54, 0, currVal_19, currVal_20, currVal_21, currVal_22, currVal_23, currVal_24, currVal_25); var currVal_29 = _co.typeListName; _ck(_v, 72, 0, currVal_29); }); }\nexport function View_EpicerieInventaireCreateComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-epicerie-inventaire-create\", [], null, null, null, View_EpicerieInventaireCreateComponent_0, RenderType_EpicerieInventaireCreateComponent)), i1.ɵdid(1, 245760, null, 0, i15.EpicerieInventaireCreateComponent, [i16.Router, i16.ActivatedRoute, i17.ApplicationDataService, i18.LogService, i19.LogoRouteService, i20.AuthenticationService, i10.EpicerieInventaireService, i21.NavigationService, i22.InteractionService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar EpicerieInventaireCreateComponentNgFactory = i1.ɵccf(\"app-epicerie-inventaire-create\", i15.EpicerieInventaireCreateComponent, View_EpicerieInventaireCreateComponent_Host_0, {}, {}, []);\nexport { EpicerieInventaireCreateComponentNgFactory as EpicerieInventaireCreateComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .panier-products-container[_ngcontent-%COMP%]{overflow:hidden}[_nghost-%COMP%] .panier-container[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .panier-container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .panier-container[_ngcontent-%COMP%] app-date-input[_ngcontent-%COMP%]{display:inline-block}[_nghost-%COMP%] .mobile-cart-visible[_ngcontent-%COMP%]{padding-top:0!important}[_nghost-%COMP%] .mobile-cart-visible[_ngcontent-%COMP%] .panier-container[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] #desktop-date[_ngcontent-%COMP%]{margin-left:11px;width:128px}[_nghost-%COMP%] app-cart[_ngcontent-%COMP%]{margin:20px;display:block}[_nghost-%COMP%] button.validate-button[_ngcontent-%COMP%]{margin-left:20px}[_nghost-%COMP%] button.hidecart-button[_ngcontent-%COMP%]{display:block;float:right;margin-right:20px}@media only screen and (min-width:768px){[_nghost-%COMP%] .panier-container[_ngcontent-%COMP%]{display:block;width:400px}[_nghost-%COMP%] .panier-container[_ngcontent-%COMP%] .date-container[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] .mobile-cart-visible[_ngcontent-%COMP%]{padding-top:initial}[_nghost-%COMP%] app-cart[_ngcontent-%COMP%]{margin:20px 0}[_nghost-%COMP%] button.validate-button[_ngcontent-%COMP%]{margin-left:0}[_nghost-%COMP%] button.hidecart-button[_ngcontent-%COMP%]{display:none}}[_nghost-%COMP%] button.hidecart-button[_ngcontent-%COMP%]:before{content:\\\"<\\\";margin-right:5px}[_nghost-%COMP%] .picturesMessage[_ngcontent-%COMP%]{display:none}@media only screen and (min-width:768px){[_nghost-%COMP%] .picturesMessage[_ngcontent-%COMP%]{display:block}}[_nghost-%COMP%] .mobile-product-container[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .left-side[_ngcontent-%COMP%]{padding:0}[_nghost-%COMP%] .left-side[_ngcontent-%COMP%] .error-box[_ngcontent-%COMP%]{margin:12px}@media only screen and (min-width:768px){[_nghost-%COMP%] .mobile-product-container[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] .left-side[_ngcontent-%COMP%]{min-height:50px}[_nghost-%COMP%] .left-side[_ngcontent-%COMP%] .error-box[_ngcontent-%COMP%]{margin:12px 0 0}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%]{border:1px solid;margin-top:7px}}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%]{height:36px;position:relative;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{padding:0 10px;display:inline-block;color:rgba(255,255,255,.9);height:36px;line-height:36px}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] div.liste[_ngcontent-%COMP%]{-ms-flex-item-align:end;align-self:flex-end;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] div.left[_ngcontent-%COMP%]{padding:0}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] .hidden[_ngcontent-%COMP%]{visibility:hidden}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] .pointer[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{display:inline-block;height:16px;width:16px;padding:10px 0;vertical-align:top}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] .search-panel[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;padding:0}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] .search-panel[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{display:inline-block;background:0 0;border:none;color:rgba(255,255,255,.9);height:36px;width:calc(100% - 100px);padding:0 10px;line-height:36px;font-size:18px;vertical-align:top;outline:0}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] .search-panel[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]::-webkit-input-placeholder{color:#fff}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] .search-panel[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]:-moz-placeholder{color:#fff;opacity:1}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] .search-panel[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]::-moz-placeholder{color:#fff;opacity:1}[_nghost-%COMP%] .product-list[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] .search-panel[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]:-ms-input-placeholder{color:#fff}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n
\r\n

{{typeListType}}

\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n Votre Panier\r\n
\r\n
\r\n
\r\n \r\n {{dateCommande | dateFormat:'DD/MM/YYYY'}}\r\n
\r\n
\r\n \r\n \r\n {{dateLivraison | dateFormat:'DD/MM/YYYY'}}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n Cette commande est soumise à validation avant d'être transmise\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n Les Produits\r\n \r\n
Les photos présentées sur le site sont non contractuelles
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
TOUS
\r\n
\r\n
{{typeListName}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n","\r\nimport { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { combineLatest, Observable, Subscription } from 'rxjs';\r\nimport { debounceTime, finalize, first, map } from 'rxjs/operators';\r\nimport { AuthenticationService } from 'src/app/shared/services/authentication/authentication.service';\r\nimport { DatePickerInfo } from '../../date-input/date-input.component';\r\nimport { AllowedFeatureEnum } from '../../shared/enums/allowed-feature.enum';\r\nimport { FileHelper } from '../../shared/helpers/file.helper';\r\nimport { ErrorApiModel } from '../../shared/models/api/error/error.apimodel';\r\nimport { ContratModel } from '../../shared/models/contrat.model';\r\nimport { CuisineCentraleModel } from '../../shared/models/cuisine-centrale.model';\r\nimport { FileResultModel } from '../../shared/models/fileresult.model';\r\nimport { NotificationModel } from '../../shared/models/notification.model';\r\nimport { RestaurantModel } from '../../shared/models/restaurant.model';\r\nimport { UserInfoModel } from '../../shared/models/user-info.model';\r\nimport { ApplicationDataService } from '../../shared/services/application-data.service';\r\nimport { InteractionService } from '../../shared/services/interaction.service';\r\nimport { CommandeRepasService } from '../services/commande-repas.service';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { GrandCompteModel } from 'src/app/shared/models/grand-compte.model';\r\nimport { ReportingService } from 'src/app/reporting/services/reporting.service';\r\n\r\n@Component({\r\n selector: 'app-export-bilan-repas',\r\n templateUrl: './export-bilan-repas.component.html',\r\n styleUrls: ['./export-bilan-repas.component.scss']\r\n})\r\nexport class ExportBilanRepasComponent implements OnInit, OnDestroy {\r\n\r\n public dateCalendarData: DatePickerInfo = {\r\n minDate: moment().add(-2, 'year').startOf('year').toDate(),\r\n maxDate: moment().add(1, 'year').endOf('year').toDate()\r\n };\r\n\r\n public isLoading: boolean = false;\r\n public isDowloading: boolean = false;\r\n public isAllowed: boolean = false;\r\n\r\n public cuisines: CuisineCentraleModel[] = [];\r\n public grandComptes: GrandCompteModel[] = [];\r\n\r\n public allowGrandCompte: boolean = true;\r\n private _selectedGrandCompte: GrandCompteModel = null;\r\n public get selectedGrandCompte(): GrandCompteModel {\r\n return this._selectedGrandCompte;\r\n }\r\n public set selectedGrandCompte(v: GrandCompteModel) {\r\n if (this._selectedGrandCompte !== v) {\r\n this._selectedGrandCompte = v;\r\n if (this._selectedGrandCompte !== null) {\r\n this._selectedCuisine = null; // si grand compte alors toutes cuisines\r\n }\r\n const contrats = this.contrats; // on sélectionne le contrat si c'est le seul accessible\r\n this.selectedContrat = (contrats.length == 1)\r\n ? contrats[0] // seul contrat accessible sur le grand compte\r\n : null; // tous les contrats\r\n }\r\n }\r\n\r\n private _selectedCuisine: CuisineCentraleModel = null;\r\n public get selectedCuisine(): CuisineCentraleModel {\r\n return this._selectedCuisine;\r\n }\r\n public set selectedCuisine(v: CuisineCentraleModel) {\r\n if (this._selectedCuisine !== v) {\r\n this._selectedCuisine = v;\r\n if (this._selectedCuisine !== null) {\r\n this._selectedGrandCompte = null; // si cuisine alors pas de filtre grand compte\r\n }\r\n const contrats = this.contrats; // on sélectionne le contrat si c'est le seul accessible\r\n this.selectedContrat = (contrats.length == 1)\r\n ? contrats[0] // seul contrat accessible sur la cuisine\r\n : null; // tous les contrats\r\n }\r\n }\r\n\r\n public get contrats(): ContratModel[] {\r\n return (this.selectedCuisine && this.selectedCuisine.contrats)\r\n || (this.selectedGrandCompte && this.getGrandCompteContrats(this.selectedGrandCompte))\r\n || [];\r\n }\r\n\r\n\r\n public selectedContrat: ContratModel = null;\r\n public dateConsoDebut: Date = moment().startOf('month').toDate();\r\n public dateConsoFin: Date = moment().endOf('month').startOf('day').toDate();\r\n\r\n public isPiqueNique: boolean = false;\r\n\r\n constructor(\r\n private _commandeRepasService: CommandeRepasService,\r\n private _appDataService: ApplicationDataService,\r\n private _authService: AuthenticationService,\r\n private _reportingService: ReportingService,\r\n private _cd: ChangeDetectorRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isAllowed = false;\r\n this.isLoading = true;\r\n // on prends le dernier restaurant et on complete le stream que l'on combine ensuite aux infos user pour en tirer le context actuel\r\n combineLatest([\r\n this._appDataService.restaurant$,\r\n this._authService.currentUser$]\r\n )\r\n .pipe(\r\n untilDestroyed(this),\r\n map(([restaurant, user]) => ({ restaurant, user }))\r\n )\r\n .subscribe((result: { restaurant: RestaurantModel, user: UserInfoModel }) => {\r\n this.cuisines = result && result.user && result.user.cuisines || [];\r\n this.grandComptes = result && result.user && result.user.grandComptes || [];\r\n // on affiche les grand compte que s'il y en a plusieurs (null compris)\r\n this.allowGrandCompte = result && result.user && new Set(result.user.allContrats.map(c => c.grandCompteId)).size > 1;\r\n\r\n this.selectedCuisine = result && result.user && result.restaurant && this.cuisines.find(c => c.id === result.restaurant.cuisineCentraleId);\r\n this.selectedContrat = result && result.user && result.restaurant && this.contrats.find(c => c.id === result.restaurant.contratId);\r\n this.isAllowed = result && result.user && result.user.hasAccessToFeature(AllowedFeatureEnum.CommandeRepas);\r\n\r\n this.isLoading = false;\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n export() {\r\n this.isDowloading = true;\r\n const report$ = this._commandeRepasService\r\n .exportBilanRepas(\r\n this.selectedGrandCompte && this.selectedGrandCompte.id,\r\n this.selectedCuisine && this.selectedCuisine.id,\r\n this.selectedContrat && this.selectedContrat.id,\r\n this.dateConsoDebut,\r\n this.dateConsoFin,\r\n this.isPiqueNique\r\n ).pipe(\r\n debounceTime(1000),\r\n first(),\r\n finalize(() => {\r\n this.isDowloading = false;\r\n this._cd.markForCheck();\r\n }));\r\n\r\n this._reportingService.handleReportResponse(report$);\r\n }\r\n\r\n private getGrandCompteContrats(grandCompte: GrandCompteModel): ContratModel[] {\r\n return this.cuisines\r\n && this.cuisines.reduce((prev, current) => prev.concat(grandCompte == null ? current.contrats : current.contrats.filter(c => c.grandCompteId === grandCompte.id)), []) || [];\r\n }\r\n\r\n}\r\n\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./export-bilan-repas.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../loader/loader.component.ngfactory\";\nimport * as i3 from \"../../loader/loader.component\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"../../date-input/date-input.component.ngfactory\";\nimport * as i7 from \"../../shared/pipes/error-pretty-date.pipe\";\nimport * as i8 from \"../../date-input/date-input.component\";\nimport * as i9 from \"./export-bilan-repas.component\";\nimport * as i10 from \"../services/commande-repas.service\";\nimport * as i11 from \"../../shared/services/application-data.service\";\nimport * as i12 from \"../../shared/services/authentication/authentication.service\";\nimport * as i13 from \"../../reporting/services/reporting.service\";\nvar styles_ExportBilanRepasComponent = [i0.styles];\nvar RenderType_ExportBilanRepasComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ExportBilanRepasComponent, data: {} });\nexport { RenderType_ExportBilanRepasComponent as RenderType_ExportBilanRepasComponent };\nfunction View_ExportBilanRepasComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container overlay\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"T\\u00E9l\\u00E9chargement du rapport\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"T\\u00E9l\\u00E9chargement du rapport\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportBilanRepasComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportBilanRepasComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Grand Compte\"])), (_l()(), i1.ɵeld(3, 0, null, null, 11, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-grandcompte\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedGrandCompte = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(9, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(10, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(11, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportBilanRepasComponent_6)), i1.ɵdid(14, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-grandcompte\"; var currVal_8 = _co.selectedGrandCompte; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = null; _ck(_v, 10, 0, currVal_9); var currVal_10 = null; _ck(_v, 11, 0, currVal_10); var currVal_11 = _co.grandComptes; _ck(_v, 14, 0, currVal_11); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportBilanRepasComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Toutes\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportBilanRepasComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportBilanRepasComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cuisine\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-cuisine\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedCuisine = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportBilanRepasComponent_8)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportBilanRepasComponent_9)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-cuisine\"; var currVal_8 = _co.selectedCuisine; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = (_co.cuisines.length > 1); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.cuisines; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportBilanRepasComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportBilanRepasComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportBilanRepasComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Contrat\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-contrat\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedContrat = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportBilanRepasComponent_11)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportBilanRepasComponent_12)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-contrat\"; var currVal_8 = _co.selectedContrat; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = ((_co.contrats.length > 1) || ((_co.cuisines.length > 1) && (_co.selectedCuisine == null))); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.contrats; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportBilanRepasComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 46, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Dates de consommation\"])), (_l()(), i1.ɵeld(3, 0, null, null, 14, \"div\", [[\"class\", \"input-group dates-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 6, \"app-date-input\", [[\"id\", \"bilanrepas-start-date\"], [\"name\", \"bilanrepas-start-date\"], [\"placeholder\", \"Consommation D\\u00E9but\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateConsoDebut = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(6, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(8, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(10, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(11, 0, null, null, 6, \"app-date-input\", [[\"id\", \"bilanrepas-end-date\"], [\"name\", \"bilanrepas-end-date\"], [\"placeholder\", \"Consommation Fin\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateConsoFin = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(13, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(15, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(17, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(18, 0, null, null, 22, \"div\", [[\"class\", \"input-group type-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(19, 0, null, null, 10, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 6, \"input\", [[\"name\", \"bilanrepas-is-pique-nique\"], [\"type\", \"radio\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 21)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 21).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 21)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 21)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 22).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 22).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_co.isPiqueNique = $event) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(21, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(22, 212992, null, 0, i4.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i4.ɵangular_packages_forms_forms_o, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i4.DefaultValueAccessor, i4.RadioControlValueAccessor]), i1.ɵdid(24, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(26, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(27, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(28, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Repas\"])), (_l()(), i1.ɵeld(30, 0, null, null, 10, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(31, 0, null, null, 6, \"input\", [[\"name\", \"bilanrepas-is-pique-nique\"], [\"type\", \"radio\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 32)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 32).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 32)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 32)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 33).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 33).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_co.isPiqueNique = $event) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(32, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(33, 212992, null, 0, i4.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i4.ɵangular_packages_forms_forms_o, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i4.DefaultValueAccessor, i4.RadioControlValueAccessor]), i1.ɵdid(35, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(37, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(38, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(39, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Pique-nique\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportBilanRepasComponent_5)), i1.ɵdid(42, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportBilanRepasComponent_7)), i1.ɵdid(44, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportBilanRepasComponent_10)), i1.ɵdid(46, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.dateCalendarData; var currVal_8 = \"Consommation D\\u00E9but\"; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = \"bilanrepas-start-date\"; var currVal_10 = _co.dateConsoDebut; _ck(_v, 8, 0, currVal_9, currVal_10); var currVal_18 = _co.dateCalendarData; var currVal_19 = \"Consommation Fin\"; _ck(_v, 13, 0, currVal_18, currVal_19); var currVal_20 = \"bilanrepas-end-date\"; var currVal_21 = _co.dateConsoFin; _ck(_v, 15, 0, currVal_20, currVal_21); var currVal_29 = \"bilanrepas-is-pique-nique\"; var currVal_30 = false; _ck(_v, 22, 0, currVal_29, currVal_30); var currVal_31 = \"bilanrepas-is-pique-nique\"; var currVal_32 = _co.isPiqueNique; _ck(_v, 24, 0, currVal_31, currVal_32); var currVal_40 = \"bilanrepas-is-pique-nique\"; var currVal_41 = true; _ck(_v, 33, 0, currVal_40, currVal_41); var currVal_42 = \"bilanrepas-is-pique-nique\"; var currVal_43 = _co.isPiqueNique; _ck(_v, 35, 0, currVal_42, currVal_43); var currVal_44 = ((_co.grandComptes.length > 0) && _co.allowGrandCompte); _ck(_v, 42, 0, currVal_44); var currVal_45 = (_co.cuisines.length > 1); _ck(_v, 44, 0, currVal_45); var currVal_46 = ((_co.cuisines.length > 1) || (_co.contrats.length > 1)); _ck(_v, 46, 0, currVal_46); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 10).ngClassValid; var currVal_5 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_11 = i1.ɵnov(_v, 17).ngClassUntouched; var currVal_12 = i1.ɵnov(_v, 17).ngClassTouched; var currVal_13 = i1.ɵnov(_v, 17).ngClassPristine; var currVal_14 = i1.ɵnov(_v, 17).ngClassDirty; var currVal_15 = i1.ɵnov(_v, 17).ngClassValid; var currVal_16 = i1.ɵnov(_v, 17).ngClassInvalid; var currVal_17 = i1.ɵnov(_v, 17).ngClassPending; _ck(_v, 11, 0, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17); var currVal_22 = i1.ɵnov(_v, 26).ngClassUntouched; var currVal_23 = i1.ɵnov(_v, 26).ngClassTouched; var currVal_24 = i1.ɵnov(_v, 26).ngClassPristine; var currVal_25 = i1.ɵnov(_v, 26).ngClassDirty; var currVal_26 = i1.ɵnov(_v, 26).ngClassValid; var currVal_27 = i1.ɵnov(_v, 26).ngClassInvalid; var currVal_28 = i1.ɵnov(_v, 26).ngClassPending; _ck(_v, 20, 0, currVal_22, currVal_23, currVal_24, currVal_25, currVal_26, currVal_27, currVal_28); var currVal_33 = i1.ɵnov(_v, 37).ngClassUntouched; var currVal_34 = i1.ɵnov(_v, 37).ngClassTouched; var currVal_35 = i1.ɵnov(_v, 37).ngClassPristine; var currVal_36 = i1.ɵnov(_v, 37).ngClassDirty; var currVal_37 = i1.ɵnov(_v, 37).ngClassValid; var currVal_38 = i1.ɵnov(_v, 37).ngClassInvalid; var currVal_39 = i1.ɵnov(_v, 37).ngClassPending; _ck(_v, 31, 0, currVal_33, currVal_34, currVal_35, currVal_36, currVal_37, currVal_38, currVal_39); }); }\nfunction View_ExportBilanRepasComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportBilanRepasComponent_3)), i1.ɵdid(2, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportBilanRepasComponent_4)), i1.ɵdid(4, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 2, \"div\", [[\"class\", \"input-group bottom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.export() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(7, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isDowloading; _ck(_v, 2, 0, currVal_0); var currVal_1 = !_co.isDowloading; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.isDowloading; _ck(_v, 6, 0, currVal_2); var currVal_3 = (_co.isDowloading ? \"T\\u00E9l\\u00E9chargement...\" : \"Extraire\"); _ck(_v, 7, 0, currVal_3); }); }\nfunction View_ExportBilanRepasComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Pr\\u00E9paration du formulaire\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Pr\\u00E9paration du formulaire\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportBilanRepasComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"fieldset\", [[\"class\", \"reporting\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"legend\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"i\", [[\"class\", \"material-icons restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"bar_chart\"])), (_l()(), i1.ɵted(-1, null, [\" Commande repas\"])), (_l()(), i1.ɵeld(5, 0, null, null, 4, \"div\", [[\"class\", \"content\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportBilanRepasComponent_2)), i1.ɵdid(7, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportBilanRepasComponent_13)), i1.ɵdid(9, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isLoading; _ck(_v, 7, 0, currVal_0); var currVal_1 = _co.isLoading; _ck(_v, 9, 0, currVal_1); }, null); }\nexport function View_ExportBilanRepasComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportBilanRepasComponent_1)), i1.ɵdid(1, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isAllowed; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_ExportBilanRepasComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-export-bilan-repas\", [], null, null, null, View_ExportBilanRepasComponent_0, RenderType_ExportBilanRepasComponent)), i1.ɵdid(1, 245760, null, 0, i9.ExportBilanRepasComponent, [i10.CommandeRepasService, i11.ApplicationDataService, i12.AuthenticationService, i13.ReportingService, i1.ChangeDetectorRef], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar ExportBilanRepasComponentNgFactory = i1.ɵccf(\"app-export-bilan-repas\", i9.ExportBilanRepasComponent, View_ExportBilanRepasComponent_Host_0, {}, {}, []);\nexport { ExportBilanRepasComponentNgFactory as ExportBilanRepasComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\"];\nexport { styles as styles };\n","
\r\n bar_chart Commande repas\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n

Dates de consommation

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
0 && allowGrandCompte\">\r\n

Grand Compte

\r\n \r\n
\r\n
1\">\r\n

Cuisine

\r\n \r\n
\r\n
1 || contrats.length > 1\">\r\n

Contrat

\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n","\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { combineLatest, Observable, Subscription } from 'rxjs';\r\nimport { debounceTime, finalize, first, map } from 'rxjs/operators';\r\nimport { AuthenticationService } from 'src/app/shared/services/authentication/authentication.service';\r\nimport { DatePickerInfo } from '../../date-input/date-input.component';\r\nimport { AllowedFeatureEnum } from '../../shared/enums/allowed-feature.enum';\r\nimport { ContratModel } from '../../shared/models/contrat.model';\r\nimport { CuisineCentraleModel } from '../../shared/models/cuisine-centrale.model';\r\nimport { RestaurantModel } from '../../shared/models/restaurant.model';\r\nimport { UserInfoModel } from '../../shared/models/user-info.model';\r\nimport { ApplicationDataService } from '../../shared/services/application-data.service';\r\nimport { CommandeRepasService } from '../services/commande-repas.service';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { ReportingService } from 'src/app/reporting/services/reporting.service';\r\nimport { GrandCompteModel } from 'src/app/shared/models/grand-compte.model';\r\n@Component({\r\n selector: 'app-export-ecarts',\r\n templateUrl: './export-ecarts.component.html',\r\n styleUrls: ['./export-ecarts.component.scss']\r\n})\r\nexport class ExportEcartsComponent implements OnInit, OnDestroy {\r\n\r\n public dateCalendarData: DatePickerInfo = {\r\n minDate: moment().add(-2, 'year').startOf('year').toDate(),\r\n maxDate: moment().add(1, 'year').endOf('year').toDate()\r\n };\r\n\r\n public isLoading: boolean = false;\r\n public isDowloading: boolean = false;\r\n\r\n public isAllowed: boolean = false;\r\n\r\n\r\n public cuisines: CuisineCentraleModel[] = [];\r\n public grandComptes: GrandCompteModel[] = [];\r\n\r\n public allowGrandCompte: boolean = true;\r\n private _selectedGrandCompte: GrandCompteModel = null;\r\n public get selectedGrandCompte(): GrandCompteModel {\r\n return this._selectedGrandCompte;\r\n }\r\n public set selectedGrandCompte(v: GrandCompteModel) {\r\n if (this._selectedGrandCompte !== v) {\r\n this._selectedGrandCompte = v;\r\n if (this._selectedGrandCompte !== null) {\r\n this._selectedCuisine = null; // si grand compte alors toutes cuisines\r\n }\r\n const contrats = this.contrats; // on sélectionne le contrat si c'est le seul accessible\r\n this.selectedContrat = (contrats.length == 1)\r\n ? contrats[0] // seul contrat accessible sur le grand compte\r\n : null; // tous les contrats\r\n }\r\n }\r\n\r\n private _selectedCuisine: CuisineCentraleModel = null;\r\n public get selectedCuisine(): CuisineCentraleModel {\r\n return this._selectedCuisine;\r\n }\r\n public set selectedCuisine(v: CuisineCentraleModel) {\r\n if (this._selectedCuisine !== v) {\r\n this._selectedCuisine = v;\r\n // on sélectionne le contrat si c'est le seul accessible\r\n this.selectedContrat = (this.contrats.length == 1)\r\n ? this.contrats[0] // seul contrat accessible sur la cuisine\r\n : null; // tous les contrats\r\n }\r\n }\r\n\r\n public get contrats(): ContratModel[] {\r\n return (this.selectedCuisine && this.selectedCuisine.contrats)\r\n || (this.selectedGrandCompte && this.getGrandCompteContrats(this.selectedGrandCompte))\r\n || [];\r\n }\r\n public selectedContrat: ContratModel = null;\r\n public date: Date = moment().startOf('day').toDate();\r\n\r\n constructor(\r\n private _commandeRepasService: CommandeRepasService,\r\n private _appDataService: ApplicationDataService,\r\n private _authService: AuthenticationService,\r\n private _reportingService: ReportingService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isAllowed = false;\r\n this.isLoading = true;\r\n // on prends le dernier restaurant et on complete le stream que l'on combine ensuite aux infos user pour en tirer le context actuel\r\n combineLatest([\r\n this._appDataService.restaurant$,\r\n this._authService.currentUser$]\r\n )\r\n .pipe(\r\n untilDestroyed(this),\r\n map(([restaurant, user]) => ({ restaurant, user }))\r\n )\r\n .subscribe((result: { restaurant: RestaurantModel, user: UserInfoModel }) => {\r\n this.cuisines = result && result.user && result.user.cuisines || [];\r\n this.grandComptes = result && result.user && result.user.grandComptes || [];\r\n // on affiche les grand compte que s'il y en a plusieurs (null compris)\r\n this.allowGrandCompte = result && result.user && new Set(result.user.allContrats.map(c => c.grandCompteId)).size > 1;\r\n\r\n this.selectedCuisine = result && result.user && result.restaurant && this.cuisines.find(c => c.id === result.restaurant.cuisineCentraleId);\r\n this.selectedContrat = result && result.user && result.restaurant && this.contrats.find(c => c.id === result.restaurant.contratId);\r\n this.isAllowed = result && result.user && result.user.hasAccessToFeature(AllowedFeatureEnum.CommandeRepas);\r\n\r\n this.isLoading = false;\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // mandatory for untildestroyed\r\n }\r\n\r\n export() {\r\n this.isDowloading = true;\r\n const report$ = this._commandeRepasService\r\n .exportEcarts(\r\n this.selectedCuisine && this.selectedCuisine.id,\r\n this.selectedGrandCompte && this.selectedGrandCompte.id,\r\n this.selectedContrat && this.selectedContrat.id,\r\n this.date\r\n ).pipe(\r\n debounceTime(1000),\r\n first(),\r\n finalize(() => {\r\n this.isDowloading = false;\r\n }));\r\n\r\n this._reportingService.handleReportResponse(report$);\r\n }\r\n\r\n private getGrandCompteContrats(grandCompte: GrandCompteModel): ContratModel[] {\r\n return this.cuisines\r\n && this.cuisines.reduce((prev, current) => prev.concat(grandCompte == null ? current.contrats : current.contrats.filter(c => c.grandCompteId === grandCompte.id)), []) || [];\r\n }\r\n\r\n}\r\n\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./export-ecarts.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../loader/loader.component.ngfactory\";\nimport * as i3 from \"../../loader/loader.component\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"../../date-input/date-input.component.ngfactory\";\nimport * as i7 from \"../../shared/pipes/error-pretty-date.pipe\";\nimport * as i8 from \"../../date-input/date-input.component\";\nimport * as i9 from \"./export-ecarts.component\";\nimport * as i10 from \"../services/commande-repas.service\";\nimport * as i11 from \"../../shared/services/application-data.service\";\nimport * as i12 from \"../../shared/services/authentication/authentication.service\";\nimport * as i13 from \"../../reporting/services/reporting.service\";\nvar styles_ExportEcartsComponent = [i0.styles];\nvar RenderType_ExportEcartsComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ExportEcartsComponent, data: {} });\nexport { RenderType_ExportEcartsComponent as RenderType_ExportEcartsComponent };\nfunction View_ExportEcartsComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container overlay\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"T\\u00E9l\\u00E9chargement du rapport\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"T\\u00E9l\\u00E9chargement du rapport\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportEcartsComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportEcartsComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Grand Compte\"])), (_l()(), i1.ɵeld(3, 0, null, null, 11, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-grandcompte\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedGrandCompte = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(9, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(10, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(11, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEcartsComponent_6)), i1.ɵdid(14, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-grandcompte\"; var currVal_8 = _co.selectedGrandCompte; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = null; _ck(_v, 10, 0, currVal_9); var currVal_10 = null; _ck(_v, 11, 0, currVal_10); var currVal_11 = _co.grandComptes; _ck(_v, 14, 0, currVal_11); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportEcartsComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Toutes\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportEcartsComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportEcartsComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cuisine\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-cuisine\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedCuisine = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEcartsComponent_8)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEcartsComponent_9)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-cuisine\"; var currVal_8 = _co.selectedCuisine; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = (_co.cuisines.length > 1); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.cuisines; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportEcartsComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportEcartsComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportEcartsComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Contrat\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-contrat\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedContrat = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEcartsComponent_11)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEcartsComponent_12)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-contrat\"; var currVal_8 = _co.selectedContrat; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = ((_co.contrats.length > 1) || ((_co.cuisines.length > 1) && (_co.selectedCuisine == null))); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.contrats; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportEcartsComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 16, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Date\"])), (_l()(), i1.ɵeld(3, 0, null, null, 7, \"div\", [[\"class\", \"input-group dates-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 6, \"app-date-input\", [[\"id\", \"ecarts-date\"], [\"name\", \"ecarts-date\"], [\"placeholder\", \"Jour\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.date = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(6, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(8, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(10, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEcartsComponent_5)), i1.ɵdid(12, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEcartsComponent_7)), i1.ɵdid(14, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEcartsComponent_10)), i1.ɵdid(16, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.dateCalendarData; var currVal_8 = \"Jour\"; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = \"ecarts-date\"; var currVal_10 = _co.date; _ck(_v, 8, 0, currVal_9, currVal_10); var currVal_11 = ((_co.grandComptes.length > 0) && _co.allowGrandCompte); _ck(_v, 12, 0, currVal_11); var currVal_12 = (_co.cuisines.length > 1); _ck(_v, 14, 0, currVal_12); var currVal_13 = ((_co.cuisines.length > 1) || (_co.contrats.length > 1)); _ck(_v, 16, 0, currVal_13); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 10).ngClassValid; var currVal_5 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportEcartsComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEcartsComponent_3)), i1.ɵdid(2, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEcartsComponent_4)), i1.ɵdid(4, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 2, \"div\", [[\"class\", \"input-group bottom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.export() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(7, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isDowloading; _ck(_v, 2, 0, currVal_0); var currVal_1 = !_co.isDowloading; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.isDowloading; _ck(_v, 6, 0, currVal_2); var currVal_3 = (_co.isDowloading ? \"T\\u00E9l\\u00E9chargement...\" : \"Extraire\"); _ck(_v, 7, 0, currVal_3); }); }\nfunction View_ExportEcartsComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Pr\\u00E9paration du formulaire\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Pr\\u00E9paration du formulaire\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportEcartsComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"fieldset\", [[\"class\", \"reporting\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"legend\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"i\", [[\"class\", \"material-icons restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"code\"])), (_l()(), i1.ɵted(-1, null, [\" \\u00C9carts Repas\"])), (_l()(), i1.ɵeld(5, 0, null, null, 4, \"div\", [[\"class\", \"content\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEcartsComponent_2)), i1.ɵdid(7, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEcartsComponent_13)), i1.ɵdid(9, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isLoading; _ck(_v, 7, 0, currVal_0); var currVal_1 = _co.isLoading; _ck(_v, 9, 0, currVal_1); }, null); }\nexport function View_ExportEcartsComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEcartsComponent_1)), i1.ɵdid(1, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isAllowed; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_ExportEcartsComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-export-ecarts\", [], null, null, null, View_ExportEcartsComponent_0, RenderType_ExportEcartsComponent)), i1.ɵdid(1, 245760, null, 0, i9.ExportEcartsComponent, [i10.CommandeRepasService, i11.ApplicationDataService, i12.AuthenticationService, i13.ReportingService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar ExportEcartsComponentNgFactory = i1.ɵccf(\"app-export-ecarts\", i9.ExportEcartsComponent, View_ExportEcartsComponent_Host_0, {}, {}, []);\nexport { ExportEcartsComponentNgFactory as ExportEcartsComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\"];\nexport { styles as styles };\n","
\r\n code Écarts Repas\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n

Date

\r\n
\r\n \r\n
\r\n
0 && allowGrandCompte\">\r\n

Grand Compte

\r\n \r\n
\r\n
1\">\r\n

Cuisine

\r\n \r\n
\r\n
1 || contrats.length > 1\">\r\n

Contrat

\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n","\nimport { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport * as moment from 'moment';\nimport { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, finalize, first, map } from 'rxjs/operators';\nimport { AuthenticationService } from 'src/app/shared/services/authentication/authentication.service';\nimport { DatePickerInfo } from '../../date-input/date-input.component';\nimport { AllowedFeatureEnum } from '../../shared/enums/allowed-feature.enum';\nimport { FileHelper } from '../../shared/helpers/file.helper';\nimport { ErrorApiModel } from '../../shared/models/api/error/error.apimodel';\nimport { ContratModel } from '../../shared/models/contrat.model';\nimport { CuisineCentraleModel } from '../../shared/models/cuisine-centrale.model';\nimport { FileResultModel } from '../../shared/models/fileresult.model';\nimport { NotificationModel } from '../../shared/models/notification.model';\nimport { RestaurantModel } from '../../shared/models/restaurant.model';\nimport { UserInfoModel } from '../../shared/models/user-info.model';\nimport { ApplicationDataService } from '../../shared/services/application-data.service';\nimport { InteractionService } from '../../shared/services/interaction.service';\nimport { untilDestroyed } from 'ngx-take-until-destroy';\nimport { GrandCompteModel } from 'src/app/shared/models/grand-compte.model';\nimport { ReportingService } from 'src/app/reporting/services/reporting.service';\nimport { OdgReportingService } from '../services/odgReporting.service';\nimport { OdgPrestation, OdgPrestationsConvivesResponse } from '../models/api/responses/odg-prestations-convives.apiresponse';\nimport { StringHelper } from 'src/app/shared/helpers/string.helper';\n\ninterface PortailRestaurantPerimeter {\n grandCompteId?: number;\n cuisineCentraleId?: number;\n contratId?: number;\n dateDebut?: Date;\n dateFin?: Date;\n}\n\n@Component({\n selector: 'app-exports-odg',\n templateUrl: './exports-odg.component.html',\n styleUrls: ['./exports-odg.component.scss']\n})\nexport class ExportsOdgComponent implements OnInit, OnDestroy {\n\n public dateCalendarData: DatePickerInfo = {\n minDate: moment().add(-2, 'year').startOf('year').toDate(),\n maxDate: moment().add(1, 'year').endOf('year').toDate()\n };\n\n public isLoading: boolean = false;\n public isLoadingOdgPrestationsConvives: boolean = false;\n public isDowloading: boolean = false;\n public isAllowed: boolean = false;\n\n public cuisines: CuisineCentraleModel[] = [];\n public grandComptes: GrandCompteModel[] = [];\n\n public allowGrandCompte: boolean = true;\n private _selectedGrandCompte: GrandCompteModel = null;\n public get selectedGrandCompte(): GrandCompteModel {\n return this._selectedGrandCompte;\n }\n public set selectedGrandCompte(v: GrandCompteModel) {\n if (this._selectedGrandCompte !== v) {\n this._selectedGrandCompte = v;\n if (this._selectedGrandCompte !== null) {\n this._selectedCuisine = null; // si grand compte alors toutes cuisines\n }\n const contrats = this.contrats; // on sélectionne le contrat si c'est le seul accessible\n this.selectedContrat = (contrats.length == 1)\n ? contrats[0] // seul contrat accessible sur le grand compte\n : null; // tous les contrats\n\n this.updatePerimeterState();\n }\n }\n\n private _selectedCuisine: CuisineCentraleModel = null;\n public get selectedCuisine(): CuisineCentraleModel {\n return this._selectedCuisine;\n }\n public set selectedCuisine(v: CuisineCentraleModel) {\n if (this._selectedCuisine !== v) {\n this._selectedCuisine = v;\n if (this._selectedCuisine !== null) {\n this._selectedGrandCompte = null; // si cuisine alors pas de filtre grand compte\n }\n const contrats = this.contrats; // on sélectionne le contrat si c'est le seul accessible\n this.selectedContrat = (contrats.length == 1)\n ? contrats[0] // seul contrat accessible sur la cuisine\n : null; // tous les contrats\n\n this.updatePerimeterState();\n }\n }\n\n public get contrats(): ContratModel[] {\n return (this.selectedCuisine && this.selectedCuisine.contrats)\n || (this.selectedGrandCompte && this.getGrandCompteContrats(this.selectedGrandCompte))\n || [];\n }\n\n private _selectedContrat: ContratModel = null;\n public get selectedContrat(): ContratModel {\n return this._selectedContrat;\n }\n public set selectedContrat(value: ContratModel) {\n this._selectedContrat = value;\n this.updatePerimeterState();\n }\n\n private _dateConsoDebut: Date = moment().startOf('month').toDate();\n public get dateConsoDebut(): Date {\n return this._dateConsoDebut;\n }\n public set dateConsoDebut(value: Date) {\n this._dateConsoDebut = value;\n this.updatePerimeterState();\n\n }\n private _dateConsoFin: Date = moment().endOf('month').startOf('day').toDate();\n public get dateConsoFin(): Date {\n return this._dateConsoFin;\n }\n public set dateConsoFin(value: Date) {\n this._dateConsoFin = value;\n this.updatePerimeterState();\n }\n\n private _perimeterState: BehaviorSubject = new BehaviorSubject({});\n\n private updatePerimeterState() {\n this._perimeterState.next({\n grandCompteId: this.selectedGrandCompte && this.selectedGrandCompte.id,\n cuisineCentraleId: this.selectedCuisine && this.selectedCuisine.id,\n contratId: this.selectedContrat && this.selectedContrat.id,\n dateDebut: this.dateConsoDebut,\n dateFin: this.dateConsoFin\n });\n }\n\n public prestationsConvives: OdgPrestationsConvivesResponse = null;\n private loadOdgPrestationsConvives(perimeter: PortailRestaurantPerimeter) {\n\n this.isLoadingOdgPrestationsConvives = true;\n this._odgReportingService.getPrestationsConvives(\n perimeter.grandCompteId,\n perimeter.cuisineCentraleId,\n perimeter.contratId,\n perimeter.dateDebut,\n perimeter.dateFin\n ).pipe(\n untilDestroyed(this),\n first()\n ).subscribe((response: OdgPrestationsConvivesResponse) => {\n this.prestationsConvives = response;\n\n //preselect prestations and convives\n //default prestation : DEJEUNER\n //default convive : Primaire / Maternelle\n if (this.selectedPrestations == null || this.selectedPrestations.length === 0) {\n this.selectedPrestations = this.prestationsConvives.prestations.filter(p => StringHelper.includes(p.libelle, 'DEJEUNER', false, true));\n } else {\n //try reselect the same prestations\n this.selectedPrestations = this.prestationsConvives.prestations.filter(p => this.selectedPrestations.some(sp => sp.id === p.id));\n }\n\n if (this.selectedConvives == null || this.selectedConvives.length === 0) {\n this.selectedConvives = this.prestationsConvives.convives.filter(c =>\n StringHelper.includes(c.libelle, 'Primaire', false, true)\n || StringHelper.includes(c.libelle, 'Maternelle', false, true)\n || StringHelper.includes(c.libelle, 'Elementaire', false, true)\n );\n } else {\n //try reselect the same convives\n this.selectedConvives = this.prestationsConvives.convives.filter(c => this.selectedConvives.some(sc => sc.id === c.id));\n }\n\n this.isLoadingOdgPrestationsConvives = false;\n\n this._cd.markForCheck();\n });\n\n }\n\n public selectedPrestations?: OdgPrestation[] = null;\n public selectedConvives?: OdgPrestation[] = null;\n\n constructor(\n private _appDataService: ApplicationDataService,\n private _authService: AuthenticationService,\n private _reportingService: ReportingService,\n private _odgReportingService: OdgReportingService,\n private _cd: ChangeDetectorRef\n ) { }\n\n ngOnInit() {\n this.isAllowed = false;\n this.isLoading = true;\n // on prends le dernier restaurant et on complete le stream que l'on combine ensuite aux infos user pour en tirer le context actuel\n combineLatest([\n this._appDataService.restaurant$,\n this._authService.currentUser$]\n )\n .pipe(\n untilDestroyed(this),\n map(([restaurant, user]) => ({ restaurant, user }))\n )\n .subscribe((result: { restaurant: RestaurantModel, user: UserInfoModel }) => {\n this.cuisines = result && result.user && result.user.cuisines || [];\n this.grandComptes = result && result.user && result.user.grandComptes || [];\n // on affiche les grand compte que s'il y en a plusieurs (null compris)\n this.allowGrandCompte = result && result.user && new Set(result.user.allContrats.map(c => c.grandCompteId)).size > 1;\n\n this.selectedCuisine = result && result.user && result.restaurant && this.cuisines.find(c => c.id === result.restaurant.cuisineCentraleId);\n this.selectedContrat = result && result.user && result.restaurant && this.contrats.find(c => c.id === result.restaurant.contratId);\n this.isAllowed = result && result.user && result.user.hasAccessToFeature(AllowedFeatureEnum.CommandeRepas);\n\n this.isLoading = false;\n });\n\n this._perimeterState.pipe(\n untilDestroyed(this),\n debounceTime(500),\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n ).subscribe((p) => {\n this.loadOdgPrestationsConvives(p);\n });\n }\n\n ngOnDestroy(): void {\n }\n\n exportRecapitulatifDesPlats() {\n this.isDowloading = true;\n const report$ = this._odgReportingService\n .exportRecapitulatifDesPlats(\n this.selectedGrandCompte && this.selectedGrandCompte.id,\n this.selectedCuisine && this.selectedCuisine.id,\n this.selectedContrat && this.selectedContrat.id,\n this.dateConsoDebut,\n this.dateConsoFin,\n this.selectedPrestations && this.selectedPrestations.map(p => p.id),\n this.selectedConvives && this.selectedConvives.map(c => c.id)\n ).pipe(\n debounceTime(1000),\n first(),\n finalize(() => {\n this.isDowloading = false;\n this._cd.markForCheck();\n }));\n\n this._reportingService.handleReportResponse(report$);\n }\n\n exportSyntheseDetailleePlats() {\n this.isDowloading = true;\n const report$ = this._odgReportingService\n .exportSyntheseDetailleePlats(\n this.selectedGrandCompte && this.selectedGrandCompte.id,\n this.selectedCuisine && this.selectedCuisine.id,\n this.selectedContrat && this.selectedContrat.id,\n this.dateConsoDebut,\n this.dateConsoFin,\n this.selectedPrestations && this.selectedPrestations.map(p => p.id),\n this.selectedConvives && this.selectedConvives.map(c => c.id)\n ).pipe(\n debounceTime(1000),\n first(),\n finalize(() => {\n this.isDowloading = false;\n this._cd.markForCheck();\n }));\n\n this._reportingService.handleReportResponse(report$);\n }\n\n exportSyntheseObservations() {\n this.isDowloading = true;\n const report$ = this._odgReportingService\n .exportSyntheseObservations(\n this.selectedGrandCompte && this.selectedGrandCompte.id,\n this.selectedCuisine && this.selectedCuisine.id,\n this.selectedContrat && this.selectedContrat.id,\n this.dateConsoDebut,\n this.dateConsoFin,\n this.selectedPrestations && this.selectedPrestations.map(p => p.id),\n this.selectedConvives && this.selectedConvives.map(c => c.id)\n ).pipe(\n debounceTime(1000),\n first(),\n finalize(() => {\n this.isDowloading = false;\n this._cd.markForCheck();\n }));\n\n this._reportingService.handleReportResponse(report$);\n }\n\n private getGrandCompteContrats(grandCompte: GrandCompteModel): ContratModel[] {\n return this.cuisines\n && this.cuisines.reduce((prev, current) => prev.concat(grandCompte == null ? current.contrats : current.contrats.filter(c => c.grandCompteId === grandCompte.id)), []) || [];\n }\n\n}\n\n","\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { OdgReportingApiService } from \"./api/odg-reporting.apiservice\";\nimport { FileResultModel } from \"src/app/shared/models/fileresult.model\";\nimport { ExportOdgRequest } from \"../models/api/requests/export-odg.apirequest\";\nimport { OdgPrestationsConvivesRequest } from \"../models/api/requests/odg-prestations-convives.apirequest\";\nimport { OdgPrestationsConvivesResponse } from \"../models/api/responses/odg-prestations-convives.apiresponse\";\n\n@Injectable()\nexport class OdgReportingService {\n\n constructor(private _odgReportingApiService: OdgReportingApiService) { }\n\n exportRecapitulatifDesPlats(grandCompteId?: number, cuisineCentraleId?: number, contratId?: number, dateDebut?: Date, dateFin?: Date, odgPrestationIds?: number[], odgConviveIds?: number[] ): Observable {\n\n const request: ExportOdgRequest = {\n grandCompteId,\n cuisineCentraleId,\n contratId,\n dateDebut,\n dateFin,\n odgPrestationIds,\n odgConviveIds\n };\n\n return this._odgReportingApiService.exportRecapitulatifDesPlats(request);\n }\n\n exportSyntheseDetailleePlats(grandCompteId?: number, cuisineCentraleId?: number, contratId?: number, dateDebut?: Date, dateFin?: Date, odgPrestationIds?: number[], odgConviveIds?: number[] ): Observable {\n\n const request: ExportOdgRequest = {\n grandCompteId,\n cuisineCentraleId,\n contratId,\n dateDebut,\n dateFin,\n odgPrestationIds,\n odgConviveIds\n };\n\n return this._odgReportingApiService.exportSyntheseDetailleePlats(request);\n }\n\n exportSyntheseObservations(grandCompteId?: number, cuisineCentraleId?: number, contratId?: number, dateDebut?: Date, dateFin?: Date, odgPrestationIds?: number[], odgConviveIds?: number[]): Observable {\n\n const request: ExportOdgRequest = {\n grandCompteId,\n cuisineCentraleId,\n contratId,\n dateDebut,\n dateFin,\n odgPrestationIds,\n odgConviveIds\n };\n\n return this._odgReportingApiService.exportSyntheseObservations(request);\n }\n\n getPrestationsConvives(grandCompteId?: number, cuisineCentraleId?: number, contratId?: number, dateDebut?: Date, dateFin?: Date): Observable {\n\n const request: OdgPrestationsConvivesRequest = {\n grandCompteId,\n cuisineCentraleId,\n contratId,\n dateDebut,\n dateFin,\n };\n\n return this._odgReportingApiService.getPrestationsConvives(request);\n }\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./exports-odg.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../loader/loader.component.ngfactory\";\nimport * as i3 from \"../../loader/loader.component\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"../../date-input/date-input.component.ngfactory\";\nimport * as i7 from \"../../shared/pipes/error-pretty-date.pipe\";\nimport * as i8 from \"../../date-input/date-input.component\";\nimport * as i9 from \"../../../../node_modules/@ng-select/ng-select/ng-select-ng-select.ngfactory\";\nimport * as i10 from \"@ng-select/ng-select\";\nimport * as i11 from \"./exports-odg.component\";\nimport * as i12 from \"../../shared/services/application-data.service\";\nimport * as i13 from \"../../shared/services/authentication/authentication.service\";\nimport * as i14 from \"../../reporting/services/reporting.service\";\nimport * as i15 from \"../services/odgReporting.service\";\nvar styles_ExportsOdgComponent = [i0.styles];\nvar RenderType_ExportsOdgComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ExportsOdgComponent, data: {} });\nexport { RenderType_ExportsOdgComponent as RenderType_ExportsOdgComponent };\nfunction View_ExportsOdgComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container overlay\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"T\\u00E9l\\u00E9chargement du rapport\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"T\\u00E9l\\u00E9chargement du rapport\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportsOdgComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportsOdgComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Grand Compte\"])), (_l()(), i1.ɵeld(3, 0, null, null, 11, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-grandcompte\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedGrandCompte = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(9, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(10, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(11, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportsOdgComponent_6)), i1.ɵdid(14, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-grandcompte\"; var currVal_8 = _co.selectedGrandCompte; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = null; _ck(_v, 10, 0, currVal_9); var currVal_10 = null; _ck(_v, 11, 0, currVal_10); var currVal_11 = _co.grandComptes; _ck(_v, 14, 0, currVal_11); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportsOdgComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Toutes\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportsOdgComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportsOdgComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cuisine\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-cuisine\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedCuisine = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportsOdgComponent_8)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportsOdgComponent_9)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-cuisine\"; var currVal_8 = _co.selectedCuisine; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = (_co.cuisines.length > 1); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.cuisines; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportsOdgComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportsOdgComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportsOdgComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Contrat\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-contrat\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedContrat = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportsOdgComponent_11)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportsOdgComponent_12)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-contrat\"; var currVal_8 = _co.selectedContrat; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = ((_co.contrats.length > 1) || ((_co.cuisines.length > 1) && (_co.selectedCuisine == null))); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.contrats; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportsOdgComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 67, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Dates de consommation\"])), (_l()(), i1.ɵeld(3, 0, null, null, 14, \"div\", [[\"class\", \"input-group dates-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 6, \"app-date-input\", [[\"id\", \"recapplats-start-date\"], [\"name\", \"recapplats-start-date\"], [\"placeholder\", \"Consommation D\\u00E9but\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateConsoDebut = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(6, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(8, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(10, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(11, 0, null, null, 6, \"app-date-input\", [[\"id\", \"recapplats-end-date\"], [\"name\", \"recapplats-end-date\"], [\"placeholder\", \"Consommation Fin\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateConsoFin = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(13, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(15, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(17, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportsOdgComponent_5)), i1.ɵdid(19, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportsOdgComponent_7)), i1.ɵdid(21, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportsOdgComponent_10)), i1.ɵdid(23, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(24, 0, null, null, 21, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(25, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Prestations\"])), (_l()(), i1.ɵeld(27, 0, null, null, 18, \"ng-select\", [[\"bindLabel\", \"libelle\"], [\"class\", \"input-group-input\"], [\"loadingText\", \"Chargement...\"], [\"notFoundText\", \"Aucune prestation trouv\\u00E9e\"], [\"role\", \"listbox\"]], [[2, \"ng-select\", null], [2, \"ng-select-single\", null], [2, \"ng-select-typeahead\", null], [2, \"ng-select-multiple\", null], [2, \"ng-select-taggable\", null], [2, \"ng-select-searchable\", null], [2, \"ng-select-clearable\", null], [2, \"ng-select-opened\", null], [2, \"ng-select-disabled\", null], [2, \"ng-select-filtered\", null], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"keydown\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"keydown\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 29).handleKeyDown($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_1 = ((_co.selectedPrestations = $event) !== false);\n ad = (pd_1 && ad);\n } return ad; }, i9.View_NgSelectComponent_0, i9.RenderType_NgSelectComponent)), i1.ɵprd(4608, null, i10.ɵd, i10.ɵd, []), i1.ɵdid(29, 4964352, null, 12, i10.NgSelectComponent, [[8, \"input-group-input\"], [8, null], i10.NgSelectConfig, i10.SELECTION_MODEL_FACTORY, i1.ElementRef, i1.ChangeDetectorRef, i10.ɵs], { bindLabel: [0, \"bindLabel\"], notFoundText: [1, \"notFoundText\"], loadingText: [2, \"loadingText\"], loading: [3, \"loading\"], closeOnSelect: [4, \"closeOnSelect\"], multiple: [5, \"multiple\"], items: [6, \"items\"] }, null), i1.ɵqud(603979776, 1, { optionTemplate: 0 }), i1.ɵqud(603979776, 2, { optgroupTemplate: 0 }), i1.ɵqud(603979776, 3, { labelTemplate: 0 }), i1.ɵqud(603979776, 4, { multiLabelTemplate: 0 }), i1.ɵqud(603979776, 5, { headerTemplate: 0 }), i1.ɵqud(603979776, 6, { footerTemplate: 0 }), i1.ɵqud(603979776, 7, { notFoundTemplate: 0 }), i1.ɵqud(603979776, 8, { typeToSearchTemplate: 0 }), i1.ɵqud(603979776, 9, { loadingTextTemplate: 0 }), i1.ɵqud(603979776, 10, { tagTemplate: 0 }), i1.ɵqud(603979776, 11, { loadingSpinnerTemplate: 0 }), i1.ɵqud(603979776, 12, { ngOptions: 1 }), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i10.NgSelectComponent]), i1.ɵdid(43, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(45, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(46, 0, null, null, 21, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(47, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Convives\"])), (_l()(), i1.ɵeld(49, 0, null, null, 18, \"ng-select\", [[\"bindLabel\", \"libelle\"], [\"class\", \"input-group-input\"], [\"loadingText\", \"Chargement...\"], [\"notFoundText\", \"Aucun convive trouv\\u00E9\"], [\"role\", \"listbox\"]], [[2, \"ng-select\", null], [2, \"ng-select-single\", null], [2, \"ng-select-typeahead\", null], [2, \"ng-select-multiple\", null], [2, \"ng-select-taggable\", null], [2, \"ng-select-searchable\", null], [2, \"ng-select-clearable\", null], [2, \"ng-select-opened\", null], [2, \"ng-select-disabled\", null], [2, \"ng-select-filtered\", null], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"keydown\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"keydown\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 51).handleKeyDown($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_1 = ((_co.selectedConvives = $event) !== false);\n ad = (pd_1 && ad);\n } return ad; }, i9.View_NgSelectComponent_0, i9.RenderType_NgSelectComponent)), i1.ɵprd(4608, null, i10.ɵd, i10.ɵd, []), i1.ɵdid(51, 4964352, null, 12, i10.NgSelectComponent, [[8, \"input-group-input\"], [8, null], i10.NgSelectConfig, i10.SELECTION_MODEL_FACTORY, i1.ElementRef, i1.ChangeDetectorRef, i10.ɵs], { bindLabel: [0, \"bindLabel\"], notFoundText: [1, \"notFoundText\"], loadingText: [2, \"loadingText\"], loading: [3, \"loading\"], closeOnSelect: [4, \"closeOnSelect\"], multiple: [5, \"multiple\"], items: [6, \"items\"] }, null), i1.ɵqud(603979776, 13, { optionTemplate: 0 }), i1.ɵqud(603979776, 14, { optgroupTemplate: 0 }), i1.ɵqud(603979776, 15, { labelTemplate: 0 }), i1.ɵqud(603979776, 16, { multiLabelTemplate: 0 }), i1.ɵqud(603979776, 17, { headerTemplate: 0 }), i1.ɵqud(603979776, 18, { footerTemplate: 0 }), i1.ɵqud(603979776, 19, { notFoundTemplate: 0 }), i1.ɵqud(603979776, 20, { typeToSearchTemplate: 0 }), i1.ɵqud(603979776, 21, { loadingTextTemplate: 0 }), i1.ɵqud(603979776, 22, { tagTemplate: 0 }), i1.ɵqud(603979776, 23, { loadingSpinnerTemplate: 0 }), i1.ɵqud(603979776, 24, { ngOptions: 1 }), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i10.NgSelectComponent]), i1.ɵdid(65, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(67, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.dateCalendarData; var currVal_8 = \"Consommation D\\u00E9but\"; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = \"recapplats-start-date\"; var currVal_10 = _co.dateConsoDebut; _ck(_v, 8, 0, currVal_9, currVal_10); var currVal_18 = _co.dateCalendarData; var currVal_19 = \"Consommation Fin\"; _ck(_v, 13, 0, currVal_18, currVal_19); var currVal_20 = \"recapplats-end-date\"; var currVal_21 = _co.dateConsoFin; _ck(_v, 15, 0, currVal_20, currVal_21); var currVal_22 = ((_co.grandComptes.length > 0) && _co.allowGrandCompte); _ck(_v, 19, 0, currVal_22); var currVal_23 = (_co.cuisines.length > 1); _ck(_v, 21, 0, currVal_23); var currVal_24 = ((_co.cuisines.length > 1) || (_co.contrats.length > 1)); _ck(_v, 23, 0, currVal_24); var currVal_42 = \"libelle\"; var currVal_43 = \"Aucune prestation trouv\\u00E9e\"; var currVal_44 = \"Chargement...\"; var currVal_45 = _co.isLoadingOdgPrestationsConvives; var currVal_46 = false; var currVal_47 = true; var currVal_48 = (_co.prestationsConvives && _co.prestationsConvives.prestations); _ck(_v, 29, 0, currVal_42, currVal_43, currVal_44, currVal_45, currVal_46, currVal_47, currVal_48); var currVal_49 = _co.selectedPrestations; _ck(_v, 43, 0, currVal_49); var currVal_67 = \"libelle\"; var currVal_68 = \"Aucun convive trouv\\u00E9\"; var currVal_69 = \"Chargement...\"; var currVal_70 = _co.isLoadingOdgPrestationsConvives; var currVal_71 = false; var currVal_72 = true; var currVal_73 = (_co.prestationsConvives && _co.prestationsConvives.convives); _ck(_v, 51, 0, currVal_67, currVal_68, currVal_69, currVal_70, currVal_71, currVal_72, currVal_73); var currVal_74 = _co.selectedConvives; _ck(_v, 65, 0, currVal_74); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 10).ngClassValid; var currVal_5 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_11 = i1.ɵnov(_v, 17).ngClassUntouched; var currVal_12 = i1.ɵnov(_v, 17).ngClassTouched; var currVal_13 = i1.ɵnov(_v, 17).ngClassPristine; var currVal_14 = i1.ɵnov(_v, 17).ngClassDirty; var currVal_15 = i1.ɵnov(_v, 17).ngClassValid; var currVal_16 = i1.ɵnov(_v, 17).ngClassInvalid; var currVal_17 = i1.ɵnov(_v, 17).ngClassPending; _ck(_v, 11, 0, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17); var currVal_25 = i1.ɵnov(_v, 29).useDefaultClass; var currVal_26 = !i1.ɵnov(_v, 29).multiple; var currVal_27 = i1.ɵnov(_v, 29).typeahead; var currVal_28 = i1.ɵnov(_v, 29).multiple; var currVal_29 = i1.ɵnov(_v, 29).addTag; var currVal_30 = i1.ɵnov(_v, 29).searchable; var currVal_31 = i1.ɵnov(_v, 29).clearable; var currVal_32 = i1.ɵnov(_v, 29).isOpen; var currVal_33 = i1.ɵnov(_v, 29).disabled; var currVal_34 = i1.ɵnov(_v, 29).filtered; var currVal_35 = i1.ɵnov(_v, 45).ngClassUntouched; var currVal_36 = i1.ɵnov(_v, 45).ngClassTouched; var currVal_37 = i1.ɵnov(_v, 45).ngClassPristine; var currVal_38 = i1.ɵnov(_v, 45).ngClassDirty; var currVal_39 = i1.ɵnov(_v, 45).ngClassValid; var currVal_40 = i1.ɵnov(_v, 45).ngClassInvalid; var currVal_41 = i1.ɵnov(_v, 45).ngClassPending; _ck(_v, 27, 1, [currVal_25, currVal_26, currVal_27, currVal_28, currVal_29, currVal_30, currVal_31, currVal_32, currVal_33, currVal_34, currVal_35, currVal_36, currVal_37, currVal_38, currVal_39, currVal_40, currVal_41]); var currVal_50 = i1.ɵnov(_v, 51).useDefaultClass; var currVal_51 = !i1.ɵnov(_v, 51).multiple; var currVal_52 = i1.ɵnov(_v, 51).typeahead; var currVal_53 = i1.ɵnov(_v, 51).multiple; var currVal_54 = i1.ɵnov(_v, 51).addTag; var currVal_55 = i1.ɵnov(_v, 51).searchable; var currVal_56 = i1.ɵnov(_v, 51).clearable; var currVal_57 = i1.ɵnov(_v, 51).isOpen; var currVal_58 = i1.ɵnov(_v, 51).disabled; var currVal_59 = i1.ɵnov(_v, 51).filtered; var currVal_60 = i1.ɵnov(_v, 67).ngClassUntouched; var currVal_61 = i1.ɵnov(_v, 67).ngClassTouched; var currVal_62 = i1.ɵnov(_v, 67).ngClassPristine; var currVal_63 = i1.ɵnov(_v, 67).ngClassDirty; var currVal_64 = i1.ɵnov(_v, 67).ngClassValid; var currVal_65 = i1.ɵnov(_v, 67).ngClassInvalid; var currVal_66 = i1.ɵnov(_v, 67).ngClassPending; _ck(_v, 49, 1, [currVal_50, currVal_51, currVal_52, currVal_53, currVal_54, currVal_55, currVal_56, currVal_57, currVal_58, currVal_59, currVal_60, currVal_61, currVal_62, currVal_63, currVal_64, currVal_65, currVal_66]); }); }\nfunction View_ExportsOdgComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 11, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportsOdgComponent_3)), i1.ɵdid(2, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportsOdgComponent_4)), i1.ɵdid(4, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 6, \"div\", [[\"class\", \"input-group bottom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.exportRecapitulatifDesPlats() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"R\\u00E9capitulatif des plats\"])), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.exportSyntheseDetailleePlats() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Synth\\u00E8se d\\u00E9taill\\u00E9e des plats\"])), (_l()(), i1.ɵeld(10, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.exportSyntheseObservations() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Synth\\u00E8se des observations\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isDowloading; _ck(_v, 2, 0, currVal_0); var currVal_1 = !_co.isDowloading; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.isDowloading; _ck(_v, 6, 0, currVal_2); var currVal_3 = _co.isDowloading; _ck(_v, 8, 0, currVal_3); var currVal_4 = _co.isDowloading; _ck(_v, 10, 0, currVal_4); }); }\nfunction View_ExportsOdgComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Pr\\u00E9paration du formulaire\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Pr\\u00E9paration du formulaire\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportsOdgComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"fieldset\", [[\"class\", \"reporting\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"legend\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"i\", [[\"class\", \"material-icons restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"bar_chart\"])), (_l()(), i1.ɵted(-1, null, [\" Exports ODG\"])), (_l()(), i1.ɵeld(5, 0, null, null, 4, \"div\", [[\"class\", \"content\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportsOdgComponent_2)), i1.ɵdid(7, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportsOdgComponent_13)), i1.ɵdid(9, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isLoading; _ck(_v, 7, 0, currVal_0); var currVal_1 = _co.isLoading; _ck(_v, 9, 0, currVal_1); }, null); }\nexport function View_ExportsOdgComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportsOdgComponent_1)), i1.ɵdid(1, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isAllowed; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_ExportsOdgComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-exports-odg\", [], null, null, null, View_ExportsOdgComponent_0, RenderType_ExportsOdgComponent)), i1.ɵdid(1, 245760, null, 0, i11.ExportsOdgComponent, [i12.ApplicationDataService, i13.AuthenticationService, i14.ReportingService, i15.OdgReportingService, i1.ChangeDetectorRef], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar ExportsOdgComponentNgFactory = i1.ɵccf(\"app-exports-odg\", i11.ExportsOdgComponent, View_ExportsOdgComponent_Host_0, {}, {}, []);\nexport { ExportsOdgComponentNgFactory as ExportsOdgComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .input-group.bottom[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}[_nghost-%COMP%] .input-group.bottom[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-bottom:1rem}[_nghost-%COMP%] .input-group[_ngcontent-%COMP%] ng-select[_ngcontent-%COMP%]{max-width:300px}\"];\nexport { styles as styles };\n","
\n bar_chart Exports ODG\n
\n \n
\n \n
\n \n\n

Dates de consommation

\n
\n \n \n
\n
0 && allowGrandCompte\">\n

Grand Compte

\n \n
\n
1\">\n

Cuisine

\n \n
\n
1 || contrats.length > 1\">\n

Contrat

\n \n
\n
\n

Prestations

\n \n \n
\n
\n

Convives

\n \n \n
\n
\n\n
\n \n \n \n
\n
\n\n
\n \n
\n
\n\n
\n","\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { combineLatest, Observable, Subscription } from 'rxjs';\r\nimport { debounceTime, finalize, first, map } from 'rxjs/operators';\r\nimport { AuthenticationService } from 'src/app/shared/services/authentication/authentication.service';\r\nimport { DatePickerInfo } from '../../date-input/date-input.component';\r\nimport { AllowedFeatureEnum } from '../../shared/enums/allowed-feature.enum';\r\nimport { FileHelper } from '../../shared/helpers/file.helper';\r\nimport { ErrorApiModel } from '../../shared/models/api/error/error.apimodel';\r\nimport { ContratModel } from '../../shared/models/contrat.model';\r\nimport { CuisineCentraleModel } from '../../shared/models/cuisine-centrale.model';\r\nimport { FileResultModel } from '../../shared/models/fileresult.model';\r\nimport { NotificationModel } from '../../shared/models/notification.model';\r\nimport { RestaurantModel } from '../../shared/models/restaurant.model';\r\nimport { UserInfoModel } from '../../shared/models/user-info.model';\r\nimport { ApplicationDataService } from '../../shared/services/application-data.service';\r\nimport { InteractionService } from '../../shared/services/interaction.service';\r\nimport { BonLivraisonService } from '../services/bon-livraison.service';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { GrandCompteModel } from 'src/app/shared/models/grand-compte.model';\r\nimport { ReportingService } from 'src/app/reporting/services/reporting.service';\r\n\r\n@Component({\r\n selector: 'app-export-non-conformites',\r\n templateUrl: './export-non-conformites.component.html',\r\n styleUrls: ['./export-non-conformites.component.scss']\r\n})\r\nexport class ExportNonConformitesComponent implements OnInit, OnDestroy {\r\n\r\n\r\n public dateCalendarData: DatePickerInfo = {\r\n minDate: moment().add(-2, 'year').startOf('year').toDate(),\r\n maxDate: moment().add(1, 'year').endOf('year').toDate()\r\n };\r\n\r\n public isLoading: boolean = false;\r\n public isDowloading: boolean = false;\r\n public isAllowed: boolean = false;\r\n\r\n public cuisines: CuisineCentraleModel[] = [];\r\n public grandComptes: GrandCompteModel[] = [];\r\n\r\n public allowGrandCompte: boolean = true;\r\n private _selectedGrandCompte: GrandCompteModel = null;\r\n public get selectedGrandCompte(): GrandCompteModel {\r\n return this._selectedGrandCompte;\r\n }\r\n public set selectedGrandCompte(v: GrandCompteModel) {\r\n if (this._selectedGrandCompte !== v) {\r\n this._selectedGrandCompte = v;\r\n if (this._selectedGrandCompte !== null) {\r\n this._selectedCuisine = null; // si grand compte alors toutes cuisines\r\n }\r\n const contrats = this.contrats; // on sélectionne le contrat si c'est le seul accessible\r\n this.selectedContrat = (contrats.length == 1)\r\n ? contrats[0] // seul contrat accessible sur le grand compte\r\n : null; // tous les contrats\r\n }\r\n }\r\n\r\n private _selectedCuisine: CuisineCentraleModel = null;\r\n public get selectedCuisine(): CuisineCentraleModel {\r\n return this._selectedCuisine;\r\n }\r\n public set selectedCuisine(v: CuisineCentraleModel) {\r\n if (this._selectedCuisine !== v) {\r\n this._selectedCuisine = v;\r\n if (this._selectedCuisine !== null) {\r\n this._selectedGrandCompte = null; // si cuisine alors pas de filtre grand compte\r\n }\r\n const contrats = this.contrats; // on sélectionne le contrat si c'est le seul accessible\r\n this.selectedContrat = (contrats.length == 1)\r\n ? contrats[0] // seul contrat accessible sur la cuisine\r\n : null; // tous les contrats\r\n }\r\n }\r\n\r\n public get contrats(): ContratModel[] {\r\n return (this.selectedCuisine && this.selectedCuisine.contrats)\r\n || (this.selectedGrandCompte && this.getGrandCompteContrats(this.selectedGrandCompte))\r\n || [];\r\n }\r\n\r\n public selectedContrat: ContratModel = null;\r\n public dateConsoDebut: Date = moment().startOf('month').toDate();\r\n public dateConsoFin: Date = moment().endOf('month').toDate();\r\n\r\n constructor(\r\n private _bonLivraisonService: BonLivraisonService,\r\n private _appDataService: ApplicationDataService,\r\n private _authService: AuthenticationService,\r\n private _reportingService: ReportingService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isAllowed = false;\r\n this.isLoading = true;\r\n\r\n // on prends le dernier restaurant et on complete le stream que l'on combine ensuite aux infos user pour en tirer le context actuel\r\n combineLatest([\r\n this._appDataService.restaurant$,\r\n this._authService.currentUser$]\r\n )\r\n .pipe(\r\n untilDestroyed(this),\r\n map(([restaurant, user]) => ({ restaurant, user }))\r\n )\r\n .subscribe((result: { restaurant: RestaurantModel, user: UserInfoModel }) => {\r\n this.cuisines = result && result.user && result.user.cuisines || [];\r\n this.grandComptes = result && result.user && result.user.grandComptes || [];\r\n // on affiche les grand compte que s'il y en a plusieurs (null compris)\r\n this.allowGrandCompte = result && result.user && new Set(result.user.allContrats.map(c => c.grandCompteId)).size > 1;\r\n\r\n this.selectedCuisine = result && result.user && result.restaurant && this.cuisines.find(c => c.id === result.restaurant.cuisineCentraleId);\r\n this.selectedContrat = result && result.user && result.restaurant && this.contrats.find(c => c.id === result.restaurant.contratId);\r\n\r\n this.isAllowed = result && result.user && result && result.user.hasAccessToFeature(AllowedFeatureEnum.BonLivraison);\r\n\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // mandatory for untildestroyed\r\n }\r\n\r\n export() {\r\n this.isDowloading = true;\r\n const report$ = this._bonLivraisonService\r\n .exportNonConformites(\r\n this.selectedGrandCompte && this.selectedGrandCompte.id,\r\n this.selectedCuisine && this.selectedCuisine.id,\r\n this.selectedContrat && this.selectedContrat.id,\r\n this.dateConsoDebut,\r\n this.dateConsoFin\r\n ).pipe(\r\n debounceTime(1000),\r\n first(),\r\n finalize(() => {\r\n this.isDowloading = false;\r\n }));\r\n\r\n this._reportingService.handleReportResponse(report$);\r\n }\r\n\r\n private getGrandCompteContrats(grandCompte: GrandCompteModel): ContratModel[] {\r\n return this.cuisines\r\n && this.cuisines.reduce((prev, current) => prev.concat(grandCompte == null ? current.contrats : current.contrats.filter(c => c.grandCompteId === grandCompte.id)), []) || [];\r\n }\r\n}\r\n\r\n","import { BonLivraisonPrestationModel } from './bon-livraison-prestation.model';\r\nimport { BonLivraisonTypeNonConformiteModel } from './bon-livraison-type-non-conformite.model';\r\nimport { BonLivraisonSettingsModel } from './bon-livraison-settings.model';\r\n\r\nexport interface BonLivraisonModel {\r\n bonLivraisonId?: number; // int32\r\n code?: string;\r\n tournee?: string;\r\n dateConsommation?: Date; // date-time\r\n dateCreation?: Date; // date-time\r\n utilisateurCreation?: string;\r\n cuisineId?: number; // int32\r\n societeJuridique?: string;\r\n numeroAgrement?: string;\r\n contratId?: number; // int32\r\n contratLibelle?: string;\r\n restaurantId?: number; // int32\r\n restaurantLibelle?: string;\r\n restaurantCode?: string;\r\n restaurantAdresse?: string;\r\n restaurantCodePostal?: string;\r\n restaurantVille?: string;\r\n restaurantTel?: string;\r\n restaurantOrdre?: number; // int32\r\n informations?: string;\r\n livraisonStatut?: LivraisonStatut;\r\n livraisonDate?: Date; // date-time\r\n livraisonUtilisateur?: string;\r\n livraisonCommentaire?: string;\r\n livraisonSignature?: string;\r\n receptionStatut?: ReceptionStatut;\r\n receptionDate?: Date; // date-time\r\n receptionCommentaire?: string;\r\n receptionUtilisateur?: string;\r\n miseEnConformiteStatut?: MiseEnConformiteStatut;\r\n miseEnConformiteDate?: Date; // date-time\r\n miseEnConformiteCommentaire?: string;\r\n miseEnConformiteUtilisateur?: string;\r\n nonConformites: BonLivraisonTypeNonConformiteModel[];\r\n\r\n bonLivraisonPrestations?: BonLivraisonPrestationModel[];\r\n\r\n statut: BonLivraisonStatut;\r\n\r\n peutLivrer: boolean;\r\n peutReceptionner: boolean;\r\n peutMettreEnConformite: boolean;\r\n\r\n dateCloture: Date;\r\n dateClotureExpired: boolean;\r\n\r\n dateFinReception: Date;\r\n dateFinReceptionExpired: boolean;\r\n\r\n dateDLCMin: Date;\r\n\r\n settings: BonLivraisonSettingsModel;\r\n}\r\n\r\n/** enums */\r\nexport enum LivraisonStatut {\r\n NonLivre,\r\n Conforme,\r\n NonConforme\r\n}\r\n\r\nexport enum ReceptionStatut {\r\n NA,\r\n Valide,\r\n Manque,\r\n Excedent\r\n}\r\n\r\nexport enum MiseEnConformiteStatut {\r\n NA,\r\n ARelivrer,\r\n NonConforme,\r\n Conforme\r\n}\r\n\r\nexport enum BonLivraisonStatut {\r\n ALivrer,\r\n AReceptionner, // Orange\r\n Manque, // Orange\r\n Conforme, // Vert\r\n AReceptionnerCloture, // Vert clair\r\n ManqueCloture, // Vert clair\r\n NonConforme // Rouge\r\n}\r\n","import { BonLivraisonResponseModel } from './api/bon-livraison-response.model';\r\nimport { BonLivraisonModel, LivraisonStatut, ReceptionStatut, MiseEnConformiteStatut, BonLivraisonStatut } from './bon-livraison.model';\r\nimport { BonLivraisonListModel } from './bon-livraison-list.model';\r\nimport { BonLivraisonPrestationModel } from './bon-livraison-prestation.model';\r\nimport { BonLivraisonPrestationEffectifModel } from './bon-livraison-prestation-effectif.model';\r\nimport { BonLivraisonFamillePlatModel } from './bon-livraison-famille-plat.model';\r\nimport { BonLivraisonComposantModel } from './bon-livraison-composant.model';\r\nimport { BonLivraisonPlatModel } from './bon-livraison-plat.model';\r\nimport * as moment from 'moment';\r\nimport { BonLivraisonTypeNonConformiteModel } from './bon-livraison-type-non-conformite.model';\r\nimport { BonLivraisonSettingsModel } from './bon-livraison-settings.model';\r\n\r\nfunction parseDate(dateString?: string): Date | null {\r\n return dateString != null ? moment(dateString).toDate() : null;\r\n}\r\n\r\nexport class BonLivraisonProjector {\r\n\r\n public static projectBonLivraison(apiModel: BonLivraisonResponseModel.BonLivraisonApiModel)\r\n : BonLivraisonModel {\r\n const model: BonLivraisonModel = {\r\n ...apiModel,\r\n ...{\r\n bonLivraisonPrestations: apiModel.bonLivraisonPrestations.map(BonLivraisonProjector.projectBonLivraisonPrestation),\r\n nonConformites: apiModel.nonConformites.map(BonLivraisonProjector.projectBonLivraisonTypeNonConformite),\r\n settings: BonLivraisonProjector.projectBonLivraisonSettings(apiModel.settings),\r\n // Parse Dates\r\n dateConsommation: parseDate(apiModel.dateConsommation),\r\n dateCreation: parseDate(apiModel.dateCreation),\r\n livraisonDate: parseDate(apiModel.livraisonDate),\r\n receptionDate: parseDate(apiModel.receptionDate),\r\n miseEnConformiteDate: parseDate(apiModel.miseEnConformiteDate),\r\n dateCloture: parseDate(apiModel.dateCloture),\r\n dateFinReception: parseDate(apiModel.dateFinReception),\r\n dateDLCMin: parseDate(apiModel.dateDLCMin),\r\n // Parse Enums\r\n livraisonStatut: LivraisonStatut[apiModel.livraisonStatut],\r\n receptionStatut: ReceptionStatut[apiModel.receptionStatut],\r\n miseEnConformiteStatut: MiseEnConformiteStatut[apiModel.miseEnConformiteStatut],\r\n statut: BonLivraisonStatut[apiModel.statut]\r\n }\r\n } as any;\r\n\r\n return model;\r\n }\r\n\r\n public static projectBonLivraisonSettings(apiModel: BonLivraisonResponseModel.BonLivraisonSettingsApiModel)\r\n : BonLivraisonSettingsModel {\r\n const model: BonLivraisonSettingsModel = {\r\n ...apiModel,\r\n ...{\r\n typeNonConformites: apiModel.typeNonConformites.map(BonLivraisonProjector.projectBonLivraisonTypeNonConformite),\r\n }\r\n } as any;\r\n\r\n return model;\r\n }\r\n\r\n public static projectBonLivraisonListe(apiModel: BonLivraisonResponseModel.BonLivraisonApiListModel)\r\n : BonLivraisonListModel {\r\n const model: BonLivraisonListModel = {\r\n ...apiModel,\r\n ...{\r\n // ParseDates\r\n dateConsommation: parseDate(apiModel.dateConsommation),\r\n livraisonDate: parseDate(apiModel.livraisonDate),\r\n receptionDate: parseDate(apiModel.receptionDate),\r\n miseEnConformiteDate: parseDate(apiModel.miseEnConformiteDate),\r\n dateCloture: parseDate(apiModel.dateCloture),\r\n dateFinReception: parseDate(apiModel.dateFinReception),\r\n\r\n // Parse Enums\r\n livraisonStatut: LivraisonStatut[apiModel.livraisonStatut],\r\n receptionStatut: ReceptionStatut[apiModel.receptionStatut],\r\n miseEnConformiteStatut: MiseEnConformiteStatut[apiModel.miseEnConformiteStatut],\r\n statut: BonLivraisonStatut[apiModel.statut]\r\n }\r\n } as any;\r\n\r\n return model;\r\n }\r\n\r\n\r\n public static projectBonLivraisonPrestation(apiModel: BonLivraisonResponseModel.BonLivraisonPrestationApiModel)\r\n : BonLivraisonPrestationModel {\r\n const model: BonLivraisonPrestationModel = {\r\n ...apiModel,\r\n ...{\r\n bonLivraisonPrestationEffectifs: apiModel.bonLivraisonPrestationEffectifs.map(BonLivraisonProjector.projectBonLivraisonPrestationEffectif),\r\n bonLivraisonFamillePlats: apiModel.bonLivraisonFamillePlats.map(BonLivraisonProjector.projectBonLivraisonFamillePlat)\r\n }\r\n } as any;\r\n\r\n return model;\r\n\r\n }\r\n\r\n public static projectBonLivraisonPrestationEffectif(apiModel: BonLivraisonResponseModel.BonLivraisonPrestationEffectifApiModel)\r\n : BonLivraisonPrestationEffectifModel {\r\n const model: BonLivraisonPrestationEffectifModel = {\r\n ...apiModel\r\n } as any;\r\n\r\n return model;\r\n }\r\n\r\n public static projectBonLivraisonFamillePlat(apiModel: BonLivraisonResponseModel.BonLivraisonFamillePlatApiModel)\r\n : BonLivraisonFamillePlatModel {\r\n const model: BonLivraisonFamillePlatModel = {\r\n ...apiModel,\r\n ...{ bonLivraisonPlats: apiModel.bonLivraisonPlats.map(BonLivraisonProjector.projectBonLivraisonPlat) }\r\n } as any;\r\n\r\n return model;\r\n }\r\n\r\n public static projectBonLivraisonPlat(apiModel: BonLivraisonResponseModel.BonLivraisonPlatApiModel)\r\n : BonLivraisonPlatModel {\r\n const model: BonLivraisonPlatModel = {\r\n ...apiModel,\r\n ...{\r\n // ParseDates\r\n livraisonDLC: parseDate(apiModel.livraisonDLC)\r\n },\r\n ...{ bonLivraisonComposants: apiModel.bonLivraisonComposants.map(BonLivraisonProjector.projectBonLivraisonComposant) }\r\n } as any;\r\n\r\n return model;\r\n }\r\n\r\n public static projectBonLivraisonComposant(apiModel: BonLivraisonResponseModel.BonLivraisonComposantApiModel)\r\n : BonLivraisonComposantModel {\r\n const model: BonLivraisonComposantModel = {\r\n ...apiModel\r\n } as any;\r\n\r\n return model;\r\n }\r\n\r\n public static projectBonLivraisonTypeNonConformite(apiModel: BonLivraisonResponseModel.BonLivraisonTypeNonConformiteApiModel)\r\n : BonLivraisonTypeNonConformiteModel {\r\n const model: BonLivraisonTypeNonConformiteModel = {\r\n ...apiModel\r\n } as any;\r\n\r\n return model;\r\n }\r\n\r\n\r\n}\r\n","export enum BonLivraisonTemperatureStatus {\r\n NA,\r\n Conforme,\r\n Tolere,\r\n NonConforme\r\n}\r\n\r\n// tslint:disable-next-line: variable-name\r\nexport const InvalidTemperatureStatuses = [BonLivraisonTemperatureStatus.NonConforme, BonLivraisonTemperatureStatus.Tolere];\r\n","export enum BonLivraisonDLCStatus {\r\n NA,\r\n Conforme,\r\n NonConforme\r\n}\r\n\r\n// tslint:disable-next-line: variable-name\r\nexport const InvalidDLCStatuses = [BonLivraisonDLCStatus.NonConforme];\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, of as observableOf } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { FileResultModel } from '../../shared/models/fileresult.model';\r\nimport { BonLivraisonRequestModel } from '../models/api/bon-livraison-request.model';\r\nimport { BonLivraisonComposantReceptionModel } from '../models/bon-livraison-composant-reception.model';\r\nimport { BonLivraisonComposantModel } from '../models/bon-livraison-composant.model';\r\nimport { BonLivraisonListModel } from '../models/bon-livraison-list.model';\r\nimport { BonLivraisonModel } from '../models/bon-livraison.model';\r\nimport { BonLivraisonProjector } from '../models/bon-livraison.projector';\r\nimport { BonLivraisonApiService } from './api/bon-livraison-api.service';\r\nimport { BonLivraisonPlatLivraisonModel } from '../models/bon-livraison-plat-livraison.model';\r\nimport { BonLivraisonPlatModel } from '../models/bon-livraison-plat.model';\r\nimport { BonLivraisonTemperatureStatus, InvalidTemperatureStatuses } from '../models/bon-livraison-temperature-status.model';\r\nimport { BonLivraisonSettingsModel } from '../models/bon-livraison-settings.model';\r\nimport { BonLivraisonDLCStatus, InvalidDLCStatuses } from '../models/bon-livraison-dlc-status.model';\r\nimport * as moment from 'moment';\r\nimport { includes } from 'lodash';\r\n\r\nexport interface PlatDlcStatus { plat: BonLivraisonPlatModel; status: BonLivraisonDLCStatus; }\r\nexport interface PlatTemperatureStatus { plat: BonLivraisonPlatModel; status: BonLivraisonTemperatureStatus; }\r\nexport interface ReleveLivraison {\r\n dlcPlats: PlatDlcStatus[];\r\n temperaturePlats: PlatTemperatureStatus[];\r\n nonConformiteDlcPlats: PlatDlcStatus[];\r\n nonConformiteTemperaturePlats: PlatTemperatureStatus[];\r\n}\r\n\r\n@Injectable()\r\nexport class BonLivraisonService {\r\n\r\n constructor(private bonLivraisonApiService: BonLivraisonApiService) { }\r\n\r\n getBonsLivraisonListe(cuisineId: number, contratId: number, restaurantId: number, startDate: Date, endDate: Date): Observable {\r\n if (!(cuisineId && contratId && restaurantId)) {\r\n return observableOf([]);\r\n } // on retourne vide s'il les paramètres ne sont pas défini\r\n\r\n return this.bonLivraisonApiService.getBonsLivraisonListe(cuisineId, contratId, restaurantId, startDate, endDate).pipe(\r\n map(bonsLivraisonListModels => bonsLivraisonListModels.map(BonLivraisonProjector.projectBonLivraisonListe)));\r\n }\r\n\r\n getBonLivraison(codeBonLivraison: string): Observable {\r\n return this.bonLivraisonApiService.getBonLivraison(codeBonLivraison)\r\n .pipe(\r\n map(bonLivraisonApiModel => BonLivraisonProjector.projectBonLivraison(bonLivraisonApiModel))\r\n );\r\n }\r\n\r\n declarerBonLivre(bonLivraisonCode: string,\r\n plats: BonLivraisonPlatLivraisonModel[],\r\n commentaire: string,\r\n signature: string,\r\n tournee: string): Observable<{}> {\r\n\r\n plats = plats || [];\r\n const request: BonLivraisonRequestModel.LivraisonRequest = {\r\n bonLivraisonCode,\r\n commentaire,\r\n signature,\r\n tournee,\r\n plats: plats.map(p => {\r\n return {\r\n bonLivraisonPlatId: p.bonLivraisonPlatId,\r\n livraisonDLC: p.livraisonDLC,\r\n livraisonTemperature: p.livraisonTemperature\r\n };\r\n })\r\n };\r\n return this.bonLivraisonApiService.declarerBonLivre(request);\r\n }\r\n\r\n receptionnerBon(bonLivraisonCode: string,\r\n defauts: BonLivraisonComposantReceptionModel[],\r\n commentaire: string): Observable<{}> {\r\n\r\n defauts = defauts || [];\r\n const request: BonLivraisonRequestModel.ReceptionRequest = {\r\n bonLivraisonCode,\r\n commentaire,\r\n composants: defauts.map(c => {\r\n return {\r\n bonLivraisonComposantId: c.bonLivraisonComposantId,\r\n quantiteLivreeRelative: c.quantiteLivreeRelative\r\n };\r\n })\r\n };\r\n return this.bonLivraisonApiService.receptionnerBon(request);\r\n }\r\n\r\n miseEnConformiteBon(bonLivraisonCode: string,\r\n conforme: boolean,\r\n commentaire: string,\r\n nonConformiteIds: number[]): Observable<{}> {\r\n\r\n const request: BonLivraisonRequestModel.MiseEnConformiteRequest = {\r\n bonLivraisonCode,\r\n commentaire,\r\n conforme,\r\n nonConformiteIds\r\n };\r\n return this.bonLivraisonApiService.miseEnConformiteBon(request);\r\n }\r\n\r\n exportNonConformites(\r\n grandCompteId?: number,\r\n cuisineCentraleId?: number,\r\n contratId?: number,\r\n dateConsoDebut?: Date,\r\n dateConsoFin?: Date): Observable {\r\n\r\n const request: BonLivraisonRequestModel.ExportNonConformitesRequest = {\r\n grandCompteId,\r\n cuisineCentraleId,\r\n contratId,\r\n dateConsoDebut,\r\n dateConsoFin\r\n };\r\n\r\n return this.bonLivraisonApiService.exportNonConformites(request);\r\n }\r\n\r\n exportManques(grandCompteId?: number,\r\n cuisineCentraleId?: number,\r\n contratId?: number,\r\n dateConsoDebut?: Date,\r\n dateConsoFin?: Date): Observable {\r\n\r\n const request: BonLivraisonRequestModel.ExportManquesRequest = {\r\n grandCompteId,\r\n cuisineCentraleId,\r\n contratId,\r\n dateConsoDebut,\r\n dateConsoFin\r\n };\r\n\r\n return this.bonLivraisonApiService.exportManques(request);\r\n }\r\n\r\n private getPlats(bonLivraison: BonLivraisonModel) {\r\n const plats: BonLivraisonPlatModel[] = [];\r\n\r\n bonLivraison.bonLivraisonPrestations\r\n .forEach(p => p.bonLivraisonFamillePlats\r\n .forEach(fp => plats.push(...fp.bonLivraisonPlats))\r\n );\r\n\r\n return plats;\r\n }\r\n\r\n private getComposants(bonLivraison: BonLivraisonModel) {\r\n const composants: BonLivraisonComposantModel[] = [];\r\n\r\n this.getPlats(bonLivraison)\r\n .forEach(pl => composants.push(...pl.bonLivraisonComposants));\r\n\r\n return composants;\r\n }\r\n\r\n checkSumQteLivree(bonLivraison: BonLivraisonModel): string {\r\n return this.getComposants(bonLivraison)\r\n .reduce((s, c) => s + `${c.bonLivraisonComposantId}|${c.quantiteLivreeRelative};`, '');\r\n }\r\n\r\n checkSumTemperatureDLC(bonLivraison: BonLivraisonModel): string {\r\n return this.getPlats(bonLivraison)\r\n .reduce((s, p) => s + `${p.bonLivraisonPlatId}|${p.livraisonTemperature}|${p.livraisonDLC};`, '');\r\n }\r\n\r\n checkHasManque(bonLivraison: BonLivraisonModel): boolean {\r\n return this.getComposants(bonLivraison)\r\n .some(c => c.quantiteLivreeRelative < 0);\r\n }\r\n\r\n checkHasExcedent(bonLivraison: BonLivraisonModel): boolean {\r\n return this.getComposants(bonLivraison)\r\n .some(c => c.quantiteLivreeRelative < 0);\r\n }\r\n\r\n checkHasDlcFault(bonLivraison: BonLivraisonModel): boolean {\r\n return this.getPlats(bonLivraison)\r\n .some(p => includes(InvalidDLCStatuses, this.computeDLCStatus(p.livraisonDLC, bonLivraison.dateDLCMin)));\r\n }\r\n\r\n checkHasTemperatureFault(bonLivraison: BonLivraisonModel): boolean {\r\n return this.getPlats(bonLivraison)\r\n .some(p => includes(InvalidTemperatureStatuses, this.computeTemperatureStatus(p.livraisonTemperature, bonLivraison.settings)));\r\n }\r\n\r\n // Calcule la conformité de la température\r\n public computeTemperatureStatus(temperature: number, settings: BonLivraisonSettingsModel): BonLivraisonTemperatureStatus {\r\n if (!settings || temperature === null) { return BonLivraisonTemperatureStatus.NA; }\r\n\r\n if (temperature >= settings.temperatureConformeMin && temperature <= settings.temperatureConformeMax) { return BonLivraisonTemperatureStatus.Conforme; }\r\n if (temperature >= settings.toleranceTemperatureMin && temperature <= settings.toleranceTemperatureMax) { return BonLivraisonTemperatureStatus.Tolere; }\r\n\r\n return BonLivraisonTemperatureStatus.NonConforme;\r\n }\r\n\r\n // Calcule la conformité de la DLC\r\n public computeDLCStatus(dateDlc: Date, dateDLCMin: Date): BonLivraisonDLCStatus {\r\n if (!dateDlc || !dateDLCMin) {\r\n return BonLivraisonDLCStatus.NA;\r\n }\r\n\r\n if (moment(dateDlc).isSameOrAfter(dateDLCMin)) {\r\n return BonLivraisonDLCStatus.Conforme;\r\n }\r\n\r\n return BonLivraisonDLCStatus.NonConforme;\r\n }\r\n\r\n /**\r\n * Retourne les DLC et Temperatures relevées sur la livraison\r\n */\r\n public getReleveLivraison(bonLivraison: BonLivraisonModel): ReleveLivraison {\r\n const dlcPlats: PlatDlcStatus[] = [];\r\n const temperaturePlats: PlatTemperatureStatus[] = [];\r\n const nonConformiteDlcPlats = [];\r\n const nonConformiteTemperaturePlats = [];\r\n\r\n bonLivraison.bonLivraisonPrestations\r\n .forEach(p => p.bonLivraisonFamillePlats\r\n .forEach(fp => fp.bonLivraisonPlats\r\n .forEach(pl => {\r\n const dlcStatus = this.computeDLCStatus(pl.livraisonDLC, bonLivraison.dateDLCMin);\r\n if (dlcStatus !== BonLivraisonDLCStatus.NA) { // Seulement s'il y a eu un relevé de DLC\r\n const dlcPlat = { plat: pl, status: dlcStatus };\r\n dlcPlats.push(dlcPlat);\r\n if (dlcStatus === BonLivraisonDLCStatus.NonConforme) {\r\n nonConformiteDlcPlats.push(dlcPlat);\r\n }\r\n }\r\n const temperatureStatus = this.computeTemperatureStatus(pl.livraisonTemperature, bonLivraison.settings);\r\n if (temperatureStatus !== BonLivraisonTemperatureStatus.NA) { // Seulement s'il y a eu un relevé de température\r\n const temperaturePlat = { plat: pl, status: temperatureStatus };\r\n temperaturePlats.push(temperaturePlat);\r\n if (temperatureStatus === BonLivraisonTemperatureStatus.NonConforme\r\n || temperatureStatus === BonLivraisonTemperatureStatus.Tolere) {\r\n nonConformiteTemperaturePlats.push(temperaturePlat);\r\n }\r\n }\r\n }\r\n )\r\n )\r\n );\r\n\r\n return { dlcPlats, temperaturePlats, nonConformiteDlcPlats, nonConformiteTemperaturePlats };\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./export-non-conformites.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../loader/loader.component.ngfactory\";\nimport * as i3 from \"../../loader/loader.component\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"../../date-input/date-input.component.ngfactory\";\nimport * as i7 from \"../../shared/pipes/error-pretty-date.pipe\";\nimport * as i8 from \"../../date-input/date-input.component\";\nimport * as i9 from \"./export-non-conformites.component\";\nimport * as i10 from \"../services/bon-livraison.service\";\nimport * as i11 from \"../../shared/services/application-data.service\";\nimport * as i12 from \"../../shared/services/authentication/authentication.service\";\nimport * as i13 from \"../../reporting/services/reporting.service\";\nvar styles_ExportNonConformitesComponent = [i0.styles];\nvar RenderType_ExportNonConformitesComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ExportNonConformitesComponent, data: {} });\nexport { RenderType_ExportNonConformitesComponent as RenderType_ExportNonConformitesComponent };\nfunction View_ExportNonConformitesComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container overlay\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"T\\u00E9l\\u00E9chargement du rapport\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"T\\u00E9l\\u00E9chargement du rapport\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportNonConformitesComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportNonConformitesComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Grand Compte\"])), (_l()(), i1.ɵeld(3, 0, null, null, 11, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-grandcompte\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedGrandCompte = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(9, 0, null, null, 3, \"option\", [[\"tilte\", \"Tous les grand comptes, y compris les contrat non li\\u00E9 \\u00E0 un compte\"]], null, null, null, null, null)), i1.ɵdid(10, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(11, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportNonConformitesComponent_6)), i1.ɵdid(14, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-grandcompte\"; var currVal_8 = _co.selectedGrandCompte; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = null; _ck(_v, 10, 0, currVal_9); var currVal_10 = null; _ck(_v, 11, 0, currVal_10); var currVal_11 = _co.grandComptes; _ck(_v, 14, 0, currVal_11); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportNonConformitesComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Toutes\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportNonConformitesComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportNonConformitesComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cuisine\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-cuisine\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedCuisine = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportNonConformitesComponent_8)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportNonConformitesComponent_9)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-cuisine\"; var currVal_8 = _co.selectedCuisine; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = (_co.cuisines.length > 1); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.cuisines; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportNonConformitesComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportNonConformitesComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportNonConformitesComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Contrat\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-contrat\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedContrat = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportNonConformitesComponent_11)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportNonConformitesComponent_12)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-contrat\"; var currVal_8 = _co.selectedContrat; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = ((_co.contrats.length > 1) || ((_co.cuisines.length > 1) && (_co.selectedCuisine == null))); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.contrats; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportNonConformitesComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 23, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Dates de consommation\"])), (_l()(), i1.ɵeld(3, 0, null, null, 14, \"div\", [[\"class\", \"input-group dates-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 6, \"app-date-input\", [[\"id\", \"nonconformite-start-date\"], [\"name\", \"nonconformite-start-date\"], [\"placeholder\", \"Consommation D\\u00E9but\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateConsoDebut = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(6, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(8, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(10, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(11, 0, null, null, 6, \"app-date-input\", [[\"id\", \"nonconformite-end-date\"], [\"name\", \"nonconformite-end-date\"], [\"placeholder\", \"Consommation Fin\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateConsoFin = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(13, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(15, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(17, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportNonConformitesComponent_5)), i1.ɵdid(19, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportNonConformitesComponent_7)), i1.ɵdid(21, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportNonConformitesComponent_10)), i1.ɵdid(23, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.dateCalendarData; var currVal_8 = \"Consommation D\\u00E9but\"; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = \"nonconformite-start-date\"; var currVal_10 = _co.dateConsoDebut; _ck(_v, 8, 0, currVal_9, currVal_10); var currVal_18 = _co.dateCalendarData; var currVal_19 = \"Consommation Fin\"; _ck(_v, 13, 0, currVal_18, currVal_19); var currVal_20 = \"nonconformite-end-date\"; var currVal_21 = _co.dateConsoFin; _ck(_v, 15, 0, currVal_20, currVal_21); var currVal_22 = ((_co.grandComptes.length > 0) && _co.allowGrandCompte); _ck(_v, 19, 0, currVal_22); var currVal_23 = (_co.cuisines.length > 1); _ck(_v, 21, 0, currVal_23); var currVal_24 = ((_co.cuisines.length > 1) || (_co.contrats.length > 1)); _ck(_v, 23, 0, currVal_24); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 10).ngClassValid; var currVal_5 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_11 = i1.ɵnov(_v, 17).ngClassUntouched; var currVal_12 = i1.ɵnov(_v, 17).ngClassTouched; var currVal_13 = i1.ɵnov(_v, 17).ngClassPristine; var currVal_14 = i1.ɵnov(_v, 17).ngClassDirty; var currVal_15 = i1.ɵnov(_v, 17).ngClassValid; var currVal_16 = i1.ɵnov(_v, 17).ngClassInvalid; var currVal_17 = i1.ɵnov(_v, 17).ngClassPending; _ck(_v, 11, 0, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17); }); }\nfunction View_ExportNonConformitesComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportNonConformitesComponent_3)), i1.ɵdid(2, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportNonConformitesComponent_4)), i1.ɵdid(4, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 2, \"div\", [[\"class\", \"input-group bottom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.export() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(7, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isDowloading; _ck(_v, 2, 0, currVal_0); var currVal_1 = !_co.isDowloading; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.isDowloading; _ck(_v, 6, 0, currVal_2); var currVal_3 = (_co.isDowloading ? \"T\\u00E9l\\u00E9chargement...\" : \"Extraire\"); _ck(_v, 7, 0, currVal_3); }); }\nfunction View_ExportNonConformitesComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Pr\\u00E9paration du formulaire\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Pr\\u00E9paration du formulaire\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportNonConformitesComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"fieldset\", [[\"class\", \"reporting\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"legend\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"i\", [[\"class\", \"material-icons restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"warning\"])), (_l()(), i1.ɵted(-1, null, [\" Non-conformit\\u00E9s\"])), (_l()(), i1.ɵeld(5, 0, null, null, 4, \"div\", [[\"class\", \"content\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportNonConformitesComponent_2)), i1.ɵdid(7, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportNonConformitesComponent_13)), i1.ɵdid(9, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isLoading; _ck(_v, 7, 0, currVal_0); var currVal_1 = _co.isLoading; _ck(_v, 9, 0, currVal_1); }, null); }\nexport function View_ExportNonConformitesComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportNonConformitesComponent_1)), i1.ɵdid(1, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isAllowed; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_ExportNonConformitesComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-export-non-conformites\", [], null, null, null, View_ExportNonConformitesComponent_0, RenderType_ExportNonConformitesComponent)), i1.ɵdid(1, 245760, null, 0, i9.ExportNonConformitesComponent, [i10.BonLivraisonService, i11.ApplicationDataService, i12.AuthenticationService, i13.ReportingService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar ExportNonConformitesComponentNgFactory = i1.ɵccf(\"app-export-non-conformites\", i9.ExportNonConformitesComponent, View_ExportNonConformitesComponent_Host_0, {}, {}, []);\nexport { ExportNonConformitesComponentNgFactory as ExportNonConformitesComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\"];\nexport { styles as styles };\n","
\r\n warning Non-conformités\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n

Dates de consommation

\r\n
\r\n \r\n \r\n
\r\n
0 && allowGrandCompte\">\r\n

Grand Compte

\r\n \r\n
\r\n
1\">\r\n

Cuisine

\r\n \r\n
\r\n
1 || contrats.length > 1\">\r\n

Contrat

\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n","\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { combineLatest, Observable } from 'rxjs';\r\nimport { debounceTime, finalize, first, map } from 'rxjs/operators';\r\nimport { DatePickerInfo } from '../../date-input/date-input.component';\r\nimport { AllowedFeatureEnum } from '../../shared/enums/allowed-feature.enum';\r\nimport { FileHelper } from '../../shared/helpers/file.helper';\r\nimport { ErrorApiModel } from '../../shared/models/api/error/error.apimodel';\r\nimport { ContratModel } from '../../shared/models/contrat.model';\r\nimport { CuisineCentraleModel } from '../../shared/models/cuisine-centrale.model';\r\nimport { FileResultModel } from '../../shared/models/fileresult.model';\r\nimport { NotificationModel } from '../../shared/models/notification.model';\r\nimport { RestaurantModel } from '../../shared/models/restaurant.model';\r\nimport { UserInfoModel } from '../../shared/models/user-info.model';\r\nimport { ApplicationDataService } from '../../shared/services/application-data.service';\r\nimport { InteractionService } from '../../shared/services/interaction.service';\r\nimport { BonLivraisonService } from '../services/bon-livraison.service';\r\nimport { AuthenticationService } from 'src/app/shared/services/authentication/authentication.service';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { GrandCompteModel } from 'src/app/shared/models/grand-compte.model';\r\nimport { ReportingService } from 'src/app/reporting/services/reporting.service';\r\n\r\n@Component({\r\n selector: 'app-export-manques',\r\n templateUrl: './export-manques.component.html',\r\n styleUrls: ['./export-manques.component.scss']\r\n})\r\nexport class ExportManquesComponent implements OnInit, OnDestroy {\r\n\r\n public dateCalendarData: DatePickerInfo = {\r\n minDate: moment().add(-2, 'year').startOf('year').toDate(),\r\n maxDate: moment().add(1, 'year').endOf('year').toDate()\r\n };\r\n\r\n public isLoading: boolean = false;\r\n public isDowloading: boolean = false;\r\n\r\n public isAllowed: boolean = false;\r\n\r\n\r\n public cuisines: CuisineCentraleModel[] = [];\r\n public grandComptes: GrandCompteModel[] = [];\r\n\r\n public allowGrandCompte: boolean = true;\r\n private _selectedGrandCompte: GrandCompteModel = null;\r\n public get selectedGrandCompte(): GrandCompteModel {\r\n return this._selectedGrandCompte;\r\n }\r\n public set selectedGrandCompte(v: GrandCompteModel) {\r\n if (this._selectedGrandCompte !== v) {\r\n this._selectedGrandCompte = v;\r\n if (this._selectedGrandCompte !== null) {\r\n this._selectedCuisine = null; // si grand compte alors toutes cuisines\r\n }\r\n const contrats = this.contrats; // on sélectionne le contrat si c'est le seul accessible\r\n this.selectedContrat = (contrats.length == 1)\r\n ? contrats[0] // seul contrat accessible sur le grand compte\r\n : null; // tous les contrats\r\n }\r\n }\r\n\r\n private _selectedCuisine: CuisineCentraleModel = null;\r\n public get selectedCuisine(): CuisineCentraleModel {\r\n return this._selectedCuisine;\r\n }\r\n public set selectedCuisine(v: CuisineCentraleModel) {\r\n if (this._selectedCuisine !== v) {\r\n this._selectedCuisine = v;\r\n if (this._selectedCuisine !== null) {\r\n this._selectedGrandCompte = null; // si cuisine alors pas de filtre grand compte\r\n }\r\n const contrats = this.contrats; // on sélectionne le contrat si c'est le seul accessible\r\n this.selectedContrat = (contrats.length == 1)\r\n ? contrats[0] // seul contrat accessible sur la cuisine\r\n : null; // tous les contrats\r\n }\r\n }\r\n\r\n public get contrats(): ContratModel[] {\r\n return (this.selectedCuisine && this.selectedCuisine.contrats)\r\n || (this.selectedGrandCompte && this.getGrandCompteContrats(this.selectedGrandCompte))\r\n || [];\r\n }\r\n public selectedContrat: ContratModel = null;\r\n public dateConsoDebut: Date = moment().startOf('day').toDate();\r\n public dateConsoFin: Date = moment().endOf('day').toDate();\r\n\r\n constructor(\r\n private _bonLivraisonService: BonLivraisonService,\r\n private _appDataService: ApplicationDataService,\r\n private _authService: AuthenticationService,\r\n private _reportingService: ReportingService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isAllowed = false;\r\n this.isLoading = true;\r\n\r\n // on prends le dernier restaurant et on complete le stream que l'on combine ensuite aux infos user pour en tirer le context actuel\r\n combineLatest([\r\n this._appDataService.restaurant$,\r\n this._authService.currentUser$]\r\n )\r\n .pipe(\r\n untilDestroyed(this),\r\n map(([restaurant, user]) => ({ restaurant, user }))\r\n )\r\n .subscribe((result: { restaurant: RestaurantModel, user: UserInfoModel }) => {\r\n this.cuisines = result && result.user && result.user.cuisines || [];\r\n this.grandComptes = result && result.user && result.user.grandComptes || [];\r\n // on affiche les grand compte que s'il y en a plusieurs (null compris)\r\n this.allowGrandCompte = result && result.user && new Set(result.user.allContrats.map(c => c.grandCompteId)).size > 1;\r\n\r\n this.selectedCuisine = result && result.user && result.restaurant && this.cuisines.find(c => c.id === result.restaurant.cuisineCentraleId);\r\n this.selectedContrat = result && result.user && result.restaurant && this.contrats.find(c => c.id === result.restaurant.contratId);\r\n\r\n this.isAllowed = result && result.user && result && result.user.hasAccessToFeature(AllowedFeatureEnum.BonLivraison);\r\n\r\n this.isLoading = false;\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // mandatory for untildestroyed\r\n }\r\n\r\n export() {\r\n this.isDowloading = true;\r\n const report$ = this._bonLivraisonService\r\n .exportManques(\r\n this.selectedGrandCompte && this.selectedGrandCompte.id,\r\n this.selectedCuisine && this.selectedCuisine.id,\r\n this.selectedContrat && this.selectedContrat.id,\r\n this.dateConsoDebut,\r\n this.dateConsoFin\r\n ).pipe(\r\n debounceTime(1000),\r\n first(),\r\n finalize(() => {\r\n this.isDowloading = false;\r\n }));\r\n\r\n this._reportingService.handleReportResponse(report$);\r\n }\r\n\r\n private getGrandCompteContrats(grandCompte: GrandCompteModel): ContratModel[] {\r\n return this.cuisines\r\n && this.cuisines.reduce((prev, current) => prev.concat(grandCompte == null ? current.contrats : current.contrats.filter(c => c.grandCompteId === grandCompte.id)), []) || [];\r\n }\r\n}\r\n\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./export-manques.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../loader/loader.component.ngfactory\";\nimport * as i3 from \"../../loader/loader.component\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"../../date-input/date-input.component.ngfactory\";\nimport * as i7 from \"../../shared/pipes/error-pretty-date.pipe\";\nimport * as i8 from \"../../date-input/date-input.component\";\nimport * as i9 from \"./export-manques.component\";\nimport * as i10 from \"../services/bon-livraison.service\";\nimport * as i11 from \"../../shared/services/application-data.service\";\nimport * as i12 from \"../../shared/services/authentication/authentication.service\";\nimport * as i13 from \"../../reporting/services/reporting.service\";\nvar styles_ExportManquesComponent = [i0.styles];\nvar RenderType_ExportManquesComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ExportManquesComponent, data: {} });\nexport { RenderType_ExportManquesComponent as RenderType_ExportManquesComponent };\nfunction View_ExportManquesComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container overlay\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"T\\u00E9l\\u00E9chargement du rapport\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"T\\u00E9l\\u00E9chargement du rapport\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportManquesComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportManquesComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Grand Compte\"])), (_l()(), i1.ɵeld(3, 0, null, null, 11, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-grandcompte\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedGrandCompte = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(9, 0, null, null, 3, \"option\", [[\"tilte\", \"Tous les grand comptes, y compris les contrat non li\\u00E9 \\u00E0 un compte\"]], null, null, null, null, null)), i1.ɵdid(10, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(11, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportManquesComponent_6)), i1.ɵdid(14, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-grandcompte\"; var currVal_8 = _co.selectedGrandCompte; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = null; _ck(_v, 10, 0, currVal_9); var currVal_10 = null; _ck(_v, 11, 0, currVal_10); var currVal_11 = _co.grandComptes; _ck(_v, 14, 0, currVal_11); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportManquesComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Toutes\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportManquesComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportManquesComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cuisine\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-cuisine\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedCuisine = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportManquesComponent_8)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportManquesComponent_9)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-cuisine\"; var currVal_8 = _co.selectedCuisine; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = (_co.cuisines.length > 1); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.cuisines; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportManquesComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportManquesComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportManquesComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Contrat\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-contrat\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedContrat = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportManquesComponent_11)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportManquesComponent_12)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-contrat\"; var currVal_8 = _co.selectedContrat; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = ((_co.contrats.length > 1) || ((_co.cuisines.length > 1) && (_co.selectedCuisine == null))); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.contrats; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportManquesComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 23, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Dates de consommation\"])), (_l()(), i1.ɵeld(3, 0, null, null, 14, \"div\", [[\"class\", \"input-group dates-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 6, \"app-date-input\", [[\"id\", \"manque-start-date\"], [\"name\", \"manque-start-date\"], [\"placeholder\", \"Consommation D\\u00E9but\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateConsoDebut = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(6, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(8, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(10, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(11, 0, null, null, 6, \"app-date-input\", [[\"id\", \"manque-end-date\"], [\"name\", \"manque-end-date\"], [\"placeholder\", \"Consommation Fin\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateConsoFin = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(13, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(15, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(17, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportManquesComponent_5)), i1.ɵdid(19, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportManquesComponent_7)), i1.ɵdid(21, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportManquesComponent_10)), i1.ɵdid(23, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.dateCalendarData; var currVal_8 = \"Consommation D\\u00E9but\"; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = \"manque-start-date\"; var currVal_10 = _co.dateConsoDebut; _ck(_v, 8, 0, currVal_9, currVal_10); var currVal_18 = _co.dateCalendarData; var currVal_19 = \"Consommation Fin\"; _ck(_v, 13, 0, currVal_18, currVal_19); var currVal_20 = \"manque-end-date\"; var currVal_21 = _co.dateConsoFin; _ck(_v, 15, 0, currVal_20, currVal_21); var currVal_22 = ((_co.grandComptes.length > 0) && _co.allowGrandCompte); _ck(_v, 19, 0, currVal_22); var currVal_23 = (_co.cuisines.length > 1); _ck(_v, 21, 0, currVal_23); var currVal_24 = ((_co.cuisines.length > 1) || (_co.contrats.length > 1)); _ck(_v, 23, 0, currVal_24); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 10).ngClassValid; var currVal_5 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_11 = i1.ɵnov(_v, 17).ngClassUntouched; var currVal_12 = i1.ɵnov(_v, 17).ngClassTouched; var currVal_13 = i1.ɵnov(_v, 17).ngClassPristine; var currVal_14 = i1.ɵnov(_v, 17).ngClassDirty; var currVal_15 = i1.ɵnov(_v, 17).ngClassValid; var currVal_16 = i1.ɵnov(_v, 17).ngClassInvalid; var currVal_17 = i1.ɵnov(_v, 17).ngClassPending; _ck(_v, 11, 0, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17); }); }\nfunction View_ExportManquesComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportManquesComponent_3)), i1.ɵdid(2, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportManquesComponent_4)), i1.ɵdid(4, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 2, \"div\", [[\"class\", \"input-group bottom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.export() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(7, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isDowloading; _ck(_v, 2, 0, currVal_0); var currVal_1 = !_co.isDowloading; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.isDowloading; _ck(_v, 6, 0, currVal_2); var currVal_3 = (_co.isDowloading ? \"T\\u00E9l\\u00E9chargement...\" : \"Extraire\"); _ck(_v, 7, 0, currVal_3); }); }\nfunction View_ExportManquesComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Pr\\u00E9paration du formulaire\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Pr\\u00E9paration du formulaire\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportManquesComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"fieldset\", [[\"class\", \"reporting\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"legend\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"i\", [[\"class\", \"material-icons restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"call_missed\"])), (_l()(), i1.ɵted(-1, null, [\" Manques\"])), (_l()(), i1.ɵeld(5, 0, null, null, 4, \"div\", [[\"class\", \"content\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportManquesComponent_2)), i1.ɵdid(7, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportManquesComponent_13)), i1.ɵdid(9, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isLoading; _ck(_v, 7, 0, currVal_0); var currVal_1 = _co.isLoading; _ck(_v, 9, 0, currVal_1); }, null); }\nexport function View_ExportManquesComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportManquesComponent_1)), i1.ɵdid(1, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isAllowed; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_ExportManquesComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-export-manques\", [], null, null, null, View_ExportManquesComponent_0, RenderType_ExportManquesComponent)), i1.ɵdid(1, 245760, null, 0, i9.ExportManquesComponent, [i10.BonLivraisonService, i11.ApplicationDataService, i12.AuthenticationService, i13.ReportingService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar ExportManquesComponentNgFactory = i1.ɵccf(\"app-export-manques\", i9.ExportManquesComponent, View_ExportManquesComponent_Host_0, {}, {}, []);\nexport { ExportManquesComponentNgFactory as ExportManquesComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\"];\nexport { styles as styles };\n","
\r\n call_missed Manques\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n\r\n

Dates de consommation

\r\n
\r\n \r\n \r\n
\r\n
0 && allowGrandCompte\">\r\n

Grand Compte

\r\n \r\n
\r\n
1\">\r\n

Cuisine

\r\n \r\n
\r\n
1 || contrats.length > 1\">\r\n

Contrat

\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { combineLatest, Observable, Subscription } from 'rxjs';\r\nimport { debounceTime, finalize, first, map } from 'rxjs/operators';\r\nimport { DatePickerInfo } from 'src/app/date-input/date-input.component';\r\nimport { FileHelper } from 'src/app/shared/helpers/file.helper';\r\nimport { ErrorApiModel } from 'src/app/shared/models/api/error/error.apimodel';\r\nimport { ContratModel } from 'src/app/shared/models/contrat.model';\r\nimport { CuisineCentraleModel } from 'src/app/shared/models/cuisine-centrale.model';\r\nimport { FileResultModel } from 'src/app/shared/models/fileresult.model';\r\nimport { GrandCompteModel } from 'src/app/shared/models/grand-compte.model';\r\nimport { NotificationModel } from 'src/app/shared/models/notification.model';\r\nimport { RestaurantModel } from 'src/app/shared/models/restaurant.model';\r\nimport { UserInfoModel } from 'src/app/shared/models/user-info.model';\r\nimport { ApplicationDataService } from 'src/app/shared/services/application-data.service';\r\nimport { AuthenticationService } from 'src/app/shared/services/authentication/authentication.service';\r\nimport { InteractionService } from 'src/app/shared/services/interaction.service';\r\nimport { AlertesService } from '../../services/alertes.service';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { ReportingService } from 'src/app/reporting/services/reporting.service';\r\n\r\n@Component({\r\n selector: 'app-export-enquetes',\r\n templateUrl: './export-enquetes.component.html',\r\n styleUrls: ['./export-enquetes.component.scss'],\r\n // changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ExportEnquetesComponent implements OnInit, OnDestroy {\r\n\r\n public dateCalendarData: DatePickerInfo = {\r\n minDate: moment().add(-2, 'year').startOf('year').toDate(),\r\n maxDate: moment().add(1, 'year').endOf('year').toDate()\r\n };\r\n\r\n public isLoading: boolean = false;\r\n public isDowloading: boolean = false;\r\n public isAllowed: boolean = false;\r\n\r\n public cuisines: CuisineCentraleModel[] = [];\r\n public grandComptes: GrandCompteModel[] = [];\r\n\r\n public allowGrandCompte: boolean = true;\r\n private _selectedGrandCompte: GrandCompteModel = null;\r\n public get selectedGrandCompte(): GrandCompteModel {\r\n return this._selectedGrandCompte;\r\n }\r\n public set selectedGrandCompte(v: GrandCompteModel) {\r\n if (this._selectedGrandCompte !== v) {\r\n this._selectedGrandCompte = v;\r\n if (this._selectedGrandCompte !== null) {\r\n this._selectedCuisine = null; // si grand compte alors toutes cuisines\r\n }\r\n const contrats = this.contrats; // on sélectionne le contrat si c'est le seul accessible\r\n this.selectedContrat = (contrats.length == 1)\r\n ? contrats[0] // seul contrat accessible sur le grand compte\r\n : null; // tous les contrats\r\n }\r\n }\r\n\r\n private _selectedCuisine: CuisineCentraleModel = null;\r\n public get selectedCuisine(): CuisineCentraleModel {\r\n return this._selectedCuisine;\r\n }\r\n public set selectedCuisine(v: CuisineCentraleModel) {\r\n if (this._selectedCuisine !== v) {\r\n this._selectedCuisine = v;\r\n if (this._selectedCuisine !== null) {\r\n this._selectedGrandCompte = null; // si cuisine alors pas de filtre grand compte\r\n }\r\n const contrats = this.contrats; // on sélectionne le contrat si c'est le seul accessible\r\n this.selectedContrat = (contrats.length === 1)\r\n ? contrats[0] // seul contrat accessible sur la cuisine\r\n : null; // tous les contrats\r\n }\r\n }\r\n\r\n public get contrats(): ContratModel[] {\r\n return (this.selectedCuisine && this.selectedCuisine.contrats)\r\n || (this.selectedGrandCompte && this.getGrandCompteContrats(this.selectedGrandCompte))\r\n || [];\r\n }\r\n\r\n public selectedContrat: ContratModel = null;\r\n public dateDebut: Date = moment().startOf('month').toDate();\r\n public dateFin: Date = moment().endOf('month').startOf('day').toDate();\r\n\r\n constructor(\r\n private _appDataService: ApplicationDataService,\r\n private _authService: AuthenticationService,\r\n private _alertesService: AlertesService,\r\n private _reportingService: ReportingService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isAllowed = true; // TODO en fonction de l'activation d'un module Enquetes\r\n this.isLoading = true;\r\n\r\n // on prends le dernier restaurant et on complete le stream que l'on combine ensuite aux infos user pour en tirer le context actuel\r\n combineLatest([\r\n this._appDataService.restaurant$,\r\n this._authService.currentUser$]\r\n )\r\n .pipe(\r\n untilDestroyed(this),\r\n map(([restaurant, user]) => ({ restaurant, user }))\r\n )\r\n .subscribe((result: { restaurant: RestaurantModel, user: UserInfoModel }) => {\r\n this.cuisines = result && result.user && result.user.cuisines || [];\r\n this.grandComptes = result && result.user && result.user.grandComptes || [];\r\n // on affiche les grand compte que s'il y en a plusieurs (null compris)\r\n this.allowGrandCompte = result && result.user && new Set(result.user.allContrats.map(c => c.grandCompteId)).size > 1;\r\n\r\n this.selectedCuisine = result && result.user && result.restaurant && this.cuisines.find(c => c.id === result.restaurant.cuisineCentraleId);\r\n this.selectedContrat = result && result.user && result.restaurant && this.contrats.find(c => c.id === result.restaurant.contratId);\r\n\r\n this.isLoading = false;\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // mandatory for untildestroyed\r\n }\r\n\r\n export() {\r\n this.isDowloading = true;\r\n const report$ = this._alertesService\r\n .exportEnquetesSatisfaction({\r\n grandCompteId: this.selectedGrandCompte && this.selectedGrandCompte.id,\r\n cuisineCentraleId: this.selectedCuisine && this.selectedCuisine.id,\r\n contratId: this.selectedContrat && this.selectedContrat.id,\r\n dateDebut: this.dateDebut,\r\n dateFin: this.dateFin\r\n }\r\n ).pipe(\r\n debounceTime(1000),\r\n first(),\r\n finalize(() => {\r\n this.isDowloading = false;\r\n }));\r\n\r\n this._reportingService.handleReportResponse(report$);\r\n }\r\n\r\n private getGrandCompteContrats(grandCompte: GrandCompteModel): ContratModel[] {\r\n return this.cuisines\r\n && this.cuisines.reduce((prev, current) => prev.concat(grandCompte == null ? current.contrats : current.contrats.filter(c => c.grandCompteId === grandCompte.id)), []) || [];\r\n }\r\n\r\n}\r\n\r\n","import { AlerteModel } from './alertes.model';\r\nimport { EnqueteModel } from './enquete.model';\r\nimport { ReceivedAlerteModel } from './received-alert.model';\r\nimport { ReceivedEnqueteModel } from './received-enquete.model';\r\nimport * as moment from 'moment';\r\nimport { RestaurantModel } from 'src/app/shared/models/restaurant.model';\r\n\r\nexport interface AlerteWithState { alerte: AlerteModel; state: ReceivedAlerteModel; }\r\nexport interface EnqueteWithState { enquete: EnqueteModel; state: ReceivedEnqueteModel; }\r\n\r\nexport class NotificationsModel {\r\n\r\n public alerteShortMessage: string;\r\n\r\n public get titre() {\r\n return this.hasMultipleNotifications\r\n ? 'Informations' // titre par défaut\r\n // on affiche le titre de l'alerte ou de l'enquete\r\n : this.hasDisplayableNotification\r\n && ((this.alertes[0] && this.alertes[0].titre)\r\n || (this.enquetes[0] && this.enquetes[0].libelle)); // titre générique pour les enquêtes\r\n }\r\n\r\n public get shouldAutoDisplayNotifications(): boolean {\r\n // on affiche les alertes/enquetes dont la showAfterDate est révolue\r\n const now = moment();\r\n return this.alertes.some(a => {\r\n const received = this.receivedAlertes.find((ra) => ra.alerteId === a.alerteId);\r\n return !received || now.isAfter(received.showAfterDate);\r\n })\r\n || this.enquetes.some(e => {\r\n const received = this.receivedEnquetes.find((re) => re.enqueteId === e.enqueteId);\r\n return !received || now.isAfter(received.showAfterDate);\r\n });\r\n }\r\n\r\n public get count() {\r\n return (this.alertes.length + this.enquetes.length);\r\n }\r\n\r\n public get countUnread() {\r\n return (this.alertesWithState.filter(a => !a.state.isRead).length\r\n + this.enquetesWithState.filter(e => !e.state.note).length);\r\n }\r\n\r\n public get hasMultipleNotifications() {\r\n return this.count > 1;\r\n }\r\n\r\n public get alertesWithState(): AlerteWithState[] {\r\n return this.alertes.map(a => ({ alerte: a, state: this.receivedAlertes.find(ra => ra.alerteId === a.alerteId) }));\r\n }\r\n\r\n public get enquetesWithState(): EnqueteWithState[] {\r\n return this.enquetes.map(e => ({ enquete: e, state: this.receivedEnquetes.find(re => re.enqueteId === e.enqueteId) }));\r\n }\r\n\r\n public get hasDisplayableNotification(): boolean {\r\n return (this.alertes && this.alertes.length > 0) || this.enquetesWithState.some(e => !e.state.note);\r\n }\r\n\r\n constructor(public restaurant: RestaurantModel,\r\n public alertes: AlerteModel[],\r\n public receivedAlertes: ReceivedAlerteModel[],\r\n public enquetes: EnqueteModel[],\r\n public receivedEnquetes: ReceivedEnqueteModel[],\r\n ) {\r\n // on extrait un message court pour affichage en rappel\r\n this.alerteShortMessage = this.hasDisplayableNotification\r\n && (\r\n (alertes && alertes.length > 0 && this.extractAlerteAlternativeMessage(this.getFirstUnreadAlerte().alerte))\r\n || (enquetes && enquetes.length > 0 && this.getFirstReplyedEnquete().enquete.question)\r\n );\r\n }\r\n\r\n private extractAlerteAlternativeMessage(alerte: AlerteModel): string {\r\n const extractAltRegex = //gim;\r\n const match = extractAltRegex.exec(alerte.message);\r\n return (match && match.splice(1).join('\\n')) || alerte.message;\r\n }\r\n\r\n private getFirstUnreadAlerte(fallbackToFirst: boolean = true): AlerteWithState {\r\n const alertes = this.alertesWithState;\r\n return alertes.find(a => !a.state.isRead)\r\n || (fallbackToFirst && alertes[0]);\r\n }\r\n private getFirstReplyedEnquete(fallbackToFirst: boolean = true): EnqueteWithState {\r\n const enquetes = this.enquetesWithState;\r\n return enquetes.find(e => !e.state.note)\r\n || (fallbackToFirst && enquetes[0]);\r\n }\r\n}\r\n","export class ApiSettings {\r\n public apiUrl: string;\r\n public subscriberKey: string;\r\n\r\n public mockOdgService: boolean;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiSettings } from 'src/app/shared/models/api/api-settings';\r\nimport { LogService } from 'src/app/shared/services/log.service';\r\nimport { AlerteModel } from '../models/alertes.model';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nconst CONTROLLER_URL = 'alerte';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AlertesApiService {\r\n\r\n constructor(private _apiSettings: ApiSettings,\r\n private _http: HttpClient,\r\n private _logService: LogService) {\r\n\r\n }\r\n\r\n getRestaurantAlertes(cuisineCentraleId: number, restaurantId: number) {\r\n const url = `${this._apiSettings.apiUrl}/alertes`;\r\n return this._http.get(url,\r\n {\r\n params: {\r\n cuisineCentraleId: cuisineCentraleId.toString(),\r\n restaurantId: restaurantId.toString()\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { ApiSettings } from 'src/app/shared/models/api/api-settings';\nimport { LogService } from 'src/app/shared/services/log.service';\nimport { HttpClient } from '@angular/common/http';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../../shared/models/api/api-settings\";\nimport * as i2 from \"@angular/common/http\";\nimport * as i3 from \"../../shared/services/log.service\";\nconst CONTROLLER_URL = 'alerte';\nexport class AlertesApiService {\n constructor(_apiSettings, _http, _logService) {\n this._apiSettings = _apiSettings;\n this._http = _http;\n this._logService = _logService;\n }\n getRestaurantAlertes(cuisineCentraleId, restaurantId) {\n const url = `${this._apiSettings.apiUrl}/alertes`;\n return this._http.get(url, {\n params: {\n cuisineCentraleId: cuisineCentraleId.toString(),\n restaurantId: restaurantId.toString()\n }\n });\n }\n}\nAlertesApiService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function AlertesApiService_Factory() { return new AlertesApiService(i0.ɵɵinject(i1.ApiSettings), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.LogService)); }, token: AlertesApiService, providedIn: \"root\" });\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DateHelper } from 'src/app/shared/helpers/date.helper';\r\nimport { FileHelper } from 'src/app/shared/helpers/file.helper';\r\nimport { ApiSettings } from 'src/app/shared/models/api/api-settings';\r\nimport { FileResultModel } from 'src/app/shared/models/fileresult.model';\r\nimport { LogService } from 'src/app/shared/services/log.service';\r\nimport { EnqueteModel } from '../models/enquete.model';\r\nimport { ExportEnquetesSatisfactionRequest } from '../models/export-enquetes-satisfaction-request.model';\r\nimport { RepondreEnqueteRequest } from '../models/repondre-enquete-request.model';\r\n\r\nconst CONTROLLER_URL = 'enquete';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EnquetesApiService {\r\n\r\n constructor(private _apiSettings: ApiSettings,\r\n private _http: HttpClient,\r\n private _logService: LogService) {\r\n }\r\n\r\n getRestaurantEnquetes(cuisineCentraleId: number, restaurantId: number) {\r\n const url = `${this._apiSettings.apiUrl}/enquetes`;\r\n return this._http.get(url,\r\n {\r\n params: {\r\n cuisineCentraleId: cuisineCentraleId.toString(),\r\n restaurantId: restaurantId.toString()\r\n }\r\n });\r\n }\r\n\r\n repondreEnquete(reponse: RepondreEnqueteRequest) {\r\n const url = `${this._apiSettings.apiUrl}/${CONTROLLER_URL}`;\r\n return this._http.post(url, reponse);\r\n }\r\n\r\n exportEnquetesSatisfaction(request: ExportEnquetesSatisfactionRequest): Observable {\r\n let params = new HttpParams();\r\n if (request.grandCompteId) {\r\n params = params.append('grandCompteId', String(request.grandCompteId));\r\n }\r\n if (request.cuisineCentraleId) {\r\n params = params.append('cuisineCentraleId', String(request.cuisineCentraleId));\r\n }\r\n if (request.contratId) {\r\n params = params.append('contratId', String(request.contratId));\r\n }\r\n if (request.dateDebut) {\r\n params = params.append('dateDebut', DateHelper.toISODateString(request.dateDebut));\r\n }\r\n if (request.dateFin) {\r\n params = params.append('dateFin', DateHelper.toISODateString(request.dateFin));\r\n }\r\n\r\n const url = `${this._apiSettings.apiUrl}/${CONTROLLER_URL}/ExportEnquetesSatisfaction`;\r\n return FileHelper.getFile(this._http, url, params);\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { DateHelper } from 'src/app/shared/helpers/date.helper';\nimport { FileHelper } from 'src/app/shared/helpers/file.helper';\nimport { ApiSettings } from 'src/app/shared/models/api/api-settings';\nimport { LogService } from 'src/app/shared/services/log.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../../shared/models/api/api-settings\";\nimport * as i2 from \"@angular/common/http\";\nimport * as i3 from \"../../shared/services/log.service\";\nconst CONTROLLER_URL = 'enquete';\nexport class EnquetesApiService {\n constructor(_apiSettings, _http, _logService) {\n this._apiSettings = _apiSettings;\n this._http = _http;\n this._logService = _logService;\n }\n getRestaurantEnquetes(cuisineCentraleId, restaurantId) {\n const url = `${this._apiSettings.apiUrl}/enquetes`;\n return this._http.get(url, {\n params: {\n cuisineCentraleId: cuisineCentraleId.toString(),\n restaurantId: restaurantId.toString()\n }\n });\n }\n repondreEnquete(reponse) {\n const url = `${this._apiSettings.apiUrl}/${CONTROLLER_URL}`;\n return this._http.post(url, reponse);\n }\n exportEnquetesSatisfaction(request) {\n let params = new HttpParams();\n if (request.grandCompteId) {\n params = params.append('grandCompteId', String(request.grandCompteId));\n }\n if (request.cuisineCentraleId) {\n params = params.append('cuisineCentraleId', String(request.cuisineCentraleId));\n }\n if (request.contratId) {\n params = params.append('contratId', String(request.contratId));\n }\n if (request.dateDebut) {\n params = params.append('dateDebut', DateHelper.toISODateString(request.dateDebut));\n }\n if (request.dateFin) {\n params = params.append('dateFin', DateHelper.toISODateString(request.dateFin));\n }\n const url = `${this._apiSettings.apiUrl}/${CONTROLLER_URL}/ExportEnquetesSatisfaction`;\n return FileHelper.getFile(this._http, url, params);\n }\n}\nEnquetesApiService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function EnquetesApiService_Factory() { return new EnquetesApiService(i0.ɵɵinject(i1.ApiSettings), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.LogService)); }, token: EnquetesApiService, providedIn: \"root\" });\n","import { Injectable } from '@angular/core';\r\n\r\nimport { LogService } from './log.service';\r\nimport { StringHelper } from '../helpers/string.helper';\r\n// import { compress, decompress } from \"lz-string\";\r\n\r\nexport enum StorageType {\r\n Local,\r\n Session\r\n}\r\n\r\nexport abstract class StorageServiceBase {\r\n private _storage: Storage;\r\n private _serviceName: string;\r\n\r\n /**\r\n * Prefix pour définir un scope sur toutes les clés de stocage\r\n */\r\n public keyPrefix: string;\r\n\r\n constructor(storageType: StorageType, private logService: LogService) {\r\n if (storageType === StorageType.Local) {\r\n this._storage = localStorage;\r\n // tslint:disable-next-line: no-use-before-declare\r\n this._serviceName = LocalStorageService.name;\r\n } else if (storageType === StorageType.Session) {\r\n this._storage = sessionStorage;\r\n // tslint:disable-next-line: no-use-before-declare\r\n this._serviceName = SessionStorageService.name;\r\n } else {\r\n this.logService.Debug(`Bad storageType: ${storageType}`, 'StorageServiceBase');\r\n throw new Error(`Bad storageType: ${storageType}`);\r\n }\r\n }\r\n\r\n public setString(key: string, val: string): void {\r\n try {\r\n // this.logService.Debug(\"Storage key '\" + key + \"' set to : \" + val, this.serviceName);\r\n // val = compress(val);\r\n if (val !== null) {\r\n key = this.buildStorageKey(key);\r\n this._storage.setItem(key, val);\r\n } else {\r\n this.clearItem(key);\r\n }\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n public getString(key: string): string {\r\n let data = this._storage.getItem(key);\r\n if (!data && this.keyPrefix) {\r\n key = this.buildStorageKey(key);\r\n data = this._storage.getItem(key);\r\n }\r\n if (data === 'null') {\r\n return null;\r\n } // FIX gestion des relicats pour n problème sur la méthode SetObject\r\n // on essaie de décompresser la donnée\r\n try {\r\n // data = decompress(data);\r\n } catch (error) {\r\n // silent fail\r\n this.logService.Debug('Uncompressed storage key \\'' + key + '\\' : ' + data, this._serviceName);\r\n }\r\n return data;\r\n }\r\n\r\n public setObject(key: string, val: any): void {\r\n if (val !== null) {\r\n const data = JSON.stringify(val);\r\n this.setString(key, data);\r\n } else {\r\n this.clearItem(key);\r\n }\r\n }\r\n\r\n public getObject(key: string): T {\r\n const data = this.getString(key);\r\n const value: T = StringHelper.jsonParseWithDates(data); // JSON.parse(data);\r\n return value;\r\n }\r\n\r\n public clearItem(key: string): void {\r\n // this.logService.Debug(\"Clear key : '\" + key + \"'\", this.serviceName);\r\n this._storage.removeItem(key);\r\n if (this.keyPrefix) {\r\n key = this.buildStorageKey(key);\r\n this._storage.removeItem(key);\r\n }\r\n }\r\n\r\n public clear() {\r\n this._storage.clear();\r\n }\r\n\r\n /** List helpers */\r\n public addToList(key: string, itemToAdd: any) {\r\n // this.logService.Debug(`Adding item ${itemToAdd} in key item ${key}`);\r\n const existing = this.getObject(key);\r\n if (existing) {\r\n existing.push(itemToAdd);\r\n this.setObject(key, existing);\r\n } else {\r\n this.setObject(key, [itemToAdd]);\r\n }\r\n }\r\n\r\n public deleteFromList(key: string, itemToDelete: any) {\r\n // this.logService.Debug(`Deleting item ${itemToDelete} in key item ${key}`);\r\n const existing = this.getObject(key);\r\n if (existing) {\r\n const index = existing.indexOf(itemToDelete);\r\n existing.splice(index, 1);\r\n this.setObject(key, existing);\r\n }\r\n\r\n // else should not happen\r\n }\r\n\r\n /**\r\n * Calcule la clé de storage en tenant compte d'un préfix\r\n */\r\n private buildStorageKey(key: string) {\r\n return (this.keyPrefix || '').length > 0 ? `${this.keyPrefix}-${key}` : key;\r\n }\r\n\r\n}\r\n\r\n@Injectable()\r\nexport class LocalStorageService extends StorageServiceBase {\r\n constructor(logService: LogService) {\r\n super(StorageType.Local, logService);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class SessionStorageService extends StorageServiceBase {\r\n constructor(logService: LogService) {\r\n super(StorageType.Session, logService);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { includes } from 'lodash';\r\nimport * as moment from 'moment';\r\nimport { EMPTY, forkJoin, merge, Observable, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, finalize, map, shareReplay, switchMap, tap } from 'rxjs/operators';\r\nimport { FileResultModel } from 'src/app/shared/models/fileresult.model';\r\nimport { NotificationCustomModel } from 'src/app/shared/models/notification.model';\r\nimport { RestaurantModel } from 'src/app/shared/models/restaurant.model';\r\nimport { ApplicationDataService } from 'src/app/shared/services/application-data.service';\r\nimport { LocalStorageService } from 'src/app/shared/services/browser-storage.service';\r\nimport { InteractionService } from 'src/app/shared/services/interaction.service';\r\nimport { LogService } from 'src/app/shared/services/log.service';\r\nimport { PopupNotificationsComponent } from '../components/popup-notifications/popup-notifications.component';\r\nimport { AlerteModel } from '../models/alertes.model';\r\nimport { EnqueteModel } from '../models/enquete.model';\r\nimport { ExportEnquetesSatisfactionRequest } from '../models/export-enquetes-satisfaction-request.model';\r\nimport { NotificationsModel } from '../models/notifications.model';\r\nimport { PopupNotificationsModel } from '../models/popup-notifications.model';\r\nimport { ReceivedAlerteModel } from '../models/received-alert.model';\r\nimport { ReceivedEnqueteModel } from '../models/received-enquete.model';\r\nimport { AlertesApiService } from './alertes-api.service';\r\nimport { EnquetesApiService } from './enquetes-api.service';\r\n\r\n\r\nconst RECEIVEDALERTES_KEY = 'received_Alertes';\r\nconst RECEIVEDENQUETES_KEY = 'received_Enquetes';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AlertesService {\r\n\r\n private _notificationUpdatedSubject = new Subject();\r\n\r\n // notifications$ = this.notificationsSubject.asObservable();\r\n // notifications$ = combineLatest([\r\n // this._appDataService.restaurant$\r\n // .pipe(\r\n // distinctUntilChanged(),\r\n // debounceTime(300)\r\n // ),\r\n // this._notificationUpdatedSubject\r\n // ])\r\n // .pipe(\r\n // map(([restaurant, dummyRefreshToken]) => restaurant),\r\n // switchMap(restaurant => this.getNotifications(restaurant)),\r\n // shareReplay(1)\r\n // );\r\n notifications$: Observable = merge(\r\n this._appDataService.restaurant$\r\n .pipe(\r\n distinctUntilChanged(),\r\n debounceTime(300),\r\n switchMap(restaurant => this.getNotifications(restaurant))\r\n ),\r\n this._notificationUpdatedSubject.asObservable()\r\n )\r\n .pipe(\r\n shareReplay(1)\r\n );\r\n\r\n constructor(private _alertesApi: AlertesApiService,\r\n private _enquetesApi: EnquetesApiService,\r\n private _logService: LogService,\r\n private _localStorageService: LocalStorageService,\r\n private _interactionService: InteractionService,\r\n private _appDataService: ApplicationDataService\r\n\r\n ) { }\r\n\r\n private getRestaurantAlertes(cuisineCentraleId: number, restaurantId: number): Observable {\r\n return this._alertesApi.getRestaurantAlertes(cuisineCentraleId, restaurantId);\r\n }\r\n\r\n private getRestaurantEnquetes(cuisineCentraleId: number, restaurantId: number): Observable {\r\n return this._enquetesApi.getRestaurantEnquetes(cuisineCentraleId, restaurantId);\r\n }\r\n\r\n getNotifications(restaurant: RestaurantModel): Observable {\r\n if (!restaurant) {\r\n return null;\r\n }\r\n\r\n return forkJoin([\r\n this.getRestaurantAlertes(restaurant.cuisineCentraleId, restaurant.id),\r\n this.getRestaurantEnquetes(restaurant.cuisineCentraleId, restaurant.id)\r\n ])\r\n .pipe(\r\n map(([alertes, enquetes]) => {\r\n const { receivedAlertes, receivedEnquetes } = this.loadReceivedNotifications(restaurant, alertes, enquetes);\r\n return new NotificationsModel(restaurant, alertes, receivedAlertes, enquetes, receivedEnquetes);\r\n })\r\n );\r\n }\r\n\r\n showNotifications(notifications: NotificationsModel): Observable {\r\n if (!notifications.hasDisplayableNotification) {\r\n return EMPTY;\r\n }\r\n\r\n return new Observable(subscriber => {\r\n const notif: NotificationCustomModel = new NotificationCustomModel();\r\n notif.title = notifications.titre;\r\n notif.id = 1;\r\n notif.type = PopupNotificationsComponent;\r\n notif.fullScreen = true;\r\n notif.closeOnBackdropClick = true;\r\n const popupModel: PopupNotificationsModel = { notifications };\r\n notif.data = popupModel;\r\n notif.hasNoOverflow = true;\r\n notif.onClose = () => {\r\n this.pushEnqueteReponses(notifications)\r\n .pipe(\r\n finalize(() => {\r\n // dans tous les cas (erreur compris) on stocke et notifie la fin du traitement\r\n this.storeReceivedNotification(notifications);\r\n this.notifyNotificationsUpdated(notifications);\r\n subscriber.next(true);\r\n subscriber.complete();\r\n })\r\n ).subscribe();\r\n };\r\n\r\n this._interactionService.showNotification(notif);\r\n });\r\n }\r\n\r\n private loadReceivedNotifications(restaurant: RestaurantModel,\r\n alertes: AlerteModel[],\r\n enquetes: EnqueteModel[]): { receivedAlertes: ReceivedAlerteModel[], receivedEnquetes: ReceivedEnqueteModel[] } {\r\n\r\n let receivedAlertes = this._localStorageService.getObject(RECEIVEDALERTES_KEY) || [];\r\n let receivedEnquetes = this._localStorageService.getObject(RECEIVEDENQUETES_KEY) || [];\r\n\r\n // purge des élements expirés\r\n const now = moment();\r\n receivedAlertes = receivedAlertes.filter(r => !r.expirationDate || moment(r.expirationDate).isAfter(now));\r\n receivedEnquetes = receivedEnquetes.filter(r => !r.expirationDate || moment(r.expirationDate).isAfter(now));\r\n\r\n // ajout des nouveau éléments\r\n // - Alertes\r\n const newReceivedAlertes = alertes\r\n .filter(a => !includes(receivedAlertes.map(ra => ra.alerteId), a.alerteId))\r\n .map((a) => {\r\n return {\r\n alerteId: a.alerteId,\r\n showAfterDate: now.startOf('day').toDate(), // on affiche\r\n expirationDate: this.getExpirationDate(a.dateFin, a.recurrence),\r\n isRead: false\r\n } as ReceivedAlerteModel;\r\n });\r\n receivedAlertes.push(...newReceivedAlertes);\r\n // - Enquetes\r\n const newReceivedEnquetes = enquetes\r\n .filter(e => !receivedEnquetes.some(re => re.enqueteId === e.enqueteId\r\n && re.cuisineCentraleId === restaurant.cuisineCentraleId\r\n && re.restaurantId === restaurant.id))\r\n .map(e => {\r\n return {\r\n enqueteId: e.enqueteId,\r\n cuisineCentraleId: restaurant.cuisineCentraleId,\r\n restaurantId: restaurant.id,\r\n showAfterDate: now.startOf('day').toDate(), // on affiche\r\n expirationDate: this.getExpirationDate(e.dateFin, e.recurrence)\r\n } as ReceivedEnqueteModel;\r\n });\r\n receivedEnquetes.push(...newReceivedEnquetes);\r\n\r\n return { receivedAlertes, receivedEnquetes };\r\n }\r\n\r\n private storeReceivedNotification(notifications: NotificationsModel) {\r\n // on recalcule les prochaines dates d'affichage\r\n const now = moment();\r\n notifications.alertesWithState\r\n .forEach(a => {\r\n a.state.showAfterDate = (a.state.isRead)\r\n ? null // this.getNextPromptDate(a.alerte.recurrence)\r\n : now.endOf('day').toDate(); // si pas lue => on réaffiche le lendemain\r\n });\r\n notifications.enquetesWithState\r\n .forEach(e => {\r\n e.state.showAfterDate = (e.state.note)\r\n ? null // this.getNextPromptDate(e.enquete.recurrence)\r\n : now.endOf('day').toDate(); // si pas répondu => on réaffiche le lendemain\r\n });\r\n\r\n // on persiste les states des notifications\r\n this._localStorageService.setObject(RECEIVEDALERTES_KEY, notifications.receivedAlertes);\r\n this._localStorageService.setObject(RECEIVEDENQUETES_KEY, notifications.receivedEnquetes);\r\n }\r\n\r\n // envoie au serveur la/les réponses aux enquetes\r\n private pushEnqueteReponses(notifications: NotificationsModel): Observable {\r\n return forkJoin(notifications.receivedEnquetes\r\n .filter(re => re.note && !re.serverPersisted) // dès qu'une note est présente et non transmise\r\n .map(re => this.repondreEnquete(re))\r\n );\r\n }\r\n\r\n private repondreEnquete(receivedEnquete: ReceivedEnqueteModel): Observable {\r\n if (!receivedEnquete.note) {\r\n throw new Error(`(RepondreEnquete) Erreur : L'enquete ${receivedEnquete.enqueteId} n'a pas été notée.`);\r\n }\r\n\r\n return this._enquetesApi.repondreEnquete({\r\n enqueteId: receivedEnquete.enqueteId,\r\n cuisineCentraleId: receivedEnquete.cuisineCentraleId,\r\n restaurantId: receivedEnquete.restaurantId,\r\n note: receivedEnquete.note,\r\n commentaire: receivedEnquete.commentaire\r\n }).pipe(\r\n tap(() => receivedEnquete.serverPersisted = true)\r\n );\r\n }\r\n\r\n // private getNextPromptDate(recurrence: 'Unique' | 'Hebdomadaire' | 'Mensuelle'): Date {\r\n // const now = moment();\r\n // switch (recurrence) {\r\n // case 'Hebdomadaire':\r\n // // on réaffiche la semaine suivante\r\n // return now.startOf('day').add(1, 'week').startOf('week').toDate();\r\n // case 'Mensuelle':\r\n // // on réaffiche le mois suivant\r\n // return now.startOf('day').startOf('month').add(1, 'month').toDate();\r\n // default: // \"Unique\"\r\n // return null; // on ne réaffiche pas\r\n // }\r\n // }\r\n\r\n /**\r\n * Calcul la date d'expiration en fonction de la récurrence de l'élément et de sa date de fin\r\n * on expire dès que l'élément n'a plus lieu (dateFin) ou avant la prochaine récurrence\r\n */\r\n private getExpirationDate(dateFin: Date, recurrence: 'Unique' | 'Hebdomadaire' | 'Mensuelle'): Date {\r\n // inner function (pour pas polluler le service)\r\n function getNextExpirationDate(r: 'Unique' | 'Hebdomadaire' | 'Mensuelle'): Date {\r\n const now = moment();\r\n switch (r) {\r\n case 'Hebdomadaire':\r\n // on réaffiche la semaine suivante\r\n return now.endOf('week').toDate();\r\n case 'Mensuelle':\r\n // on réaffiche le mois suivant\r\n return now.endOf('month').toDate();\r\n default: // \"Unique\"\r\n return null; // on ne réaffiche pas\r\n }\r\n }\r\n\r\n const expirationDate = getNextExpirationDate(recurrence);\r\n if (expirationDate === null) {\r\n // si pas d'expiration selon la récurrence (Unique) alors date de fin de l'alerte/enquete\r\n return dateFin;\r\n } else if (dateFin) {\r\n // sinon on prends la date minimum\r\n return moment(dateFin).isBefore(expirationDate) ? dateFin : expirationDate;\r\n }\r\n\r\n return expirationDate;\r\n }\r\n\r\n private notifyNotificationsUpdated(notifications: NotificationsModel) {\r\n this._notificationUpdatedSubject.next(notifications);\r\n }\r\n\r\n\r\n exportEnquetesSatisfaction(request: ExportEnquetesSatisfactionRequest): Observable {\r\n return this._enquetesApi.exportEnquetesSatisfaction(request);\r\n }\r\n\r\n}\r\n","import { includes } from 'lodash';\nimport * as moment from 'moment';\nimport { EMPTY, forkJoin, merge, Observable, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, finalize, map, shareReplay, switchMap, tap } from 'rxjs/operators';\nimport { NotificationCustomModel } from 'src/app/shared/models/notification.model';\nimport { ApplicationDataService } from 'src/app/shared/services/application-data.service';\nimport { LocalStorageService } from 'src/app/shared/services/browser-storage.service';\nimport { InteractionService } from 'src/app/shared/services/interaction.service';\nimport { LogService } from 'src/app/shared/services/log.service';\nimport { PopupNotificationsComponent } from '../components/popup-notifications/popup-notifications.component';\nimport { NotificationsModel } from '../models/notifications.model';\nimport { AlertesApiService } from './alertes-api.service';\nimport { EnquetesApiService } from './enquetes-api.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./alertes-api.service\";\nimport * as i2 from \"./enquetes-api.service\";\nimport * as i3 from \"../../shared/services/log.service\";\nimport * as i4 from \"../../shared/services/browser-storage.service\";\nimport * as i5 from \"../../shared/services/interaction.service\";\nimport * as i6 from \"../../shared/services/application-data.service\";\nconst RECEIVEDALERTES_KEY = 'received_Alertes';\nconst RECEIVEDENQUETES_KEY = 'received_Enquetes';\nexport class AlertesService {\n constructor(_alertesApi, _enquetesApi, _logService, _localStorageService, _interactionService, _appDataService) {\n this._alertesApi = _alertesApi;\n this._enquetesApi = _enquetesApi;\n this._logService = _logService;\n this._localStorageService = _localStorageService;\n this._interactionService = _interactionService;\n this._appDataService = _appDataService;\n this._notificationUpdatedSubject = new Subject();\n // notifications$ = this.notificationsSubject.asObservable();\n // notifications$ = combineLatest([\n // this._appDataService.restaurant$\n // .pipe(\n // distinctUntilChanged(),\n // debounceTime(300)\n // ),\n // this._notificationUpdatedSubject\n // ])\n // .pipe(\n // map(([restaurant, dummyRefreshToken]) => restaurant),\n // switchMap(restaurant => this.getNotifications(restaurant)),\n // shareReplay(1)\n // );\n this.notifications$ = merge(this._appDataService.restaurant$\n .pipe(distinctUntilChanged(), debounceTime(300), switchMap(restaurant => this.getNotifications(restaurant))), this._notificationUpdatedSubject.asObservable())\n .pipe(shareReplay(1));\n }\n getRestaurantAlertes(cuisineCentraleId, restaurantId) {\n return this._alertesApi.getRestaurantAlertes(cuisineCentraleId, restaurantId);\n }\n getRestaurantEnquetes(cuisineCentraleId, restaurantId) {\n return this._enquetesApi.getRestaurantEnquetes(cuisineCentraleId, restaurantId);\n }\n getNotifications(restaurant) {\n if (!restaurant) {\n return null;\n }\n return forkJoin([\n this.getRestaurantAlertes(restaurant.cuisineCentraleId, restaurant.id),\n this.getRestaurantEnquetes(restaurant.cuisineCentraleId, restaurant.id)\n ])\n .pipe(map(([alertes, enquetes]) => {\n const { receivedAlertes, receivedEnquetes } = this.loadReceivedNotifications(restaurant, alertes, enquetes);\n return new NotificationsModel(restaurant, alertes, receivedAlertes, enquetes, receivedEnquetes);\n }));\n }\n showNotifications(notifications) {\n if (!notifications.hasDisplayableNotification) {\n return EMPTY;\n }\n return new Observable(subscriber => {\n const notif = new NotificationCustomModel();\n notif.title = notifications.titre;\n notif.id = 1;\n notif.type = PopupNotificationsComponent;\n notif.fullScreen = true;\n notif.closeOnBackdropClick = true;\n const popupModel = { notifications };\n notif.data = popupModel;\n notif.hasNoOverflow = true;\n notif.onClose = () => {\n this.pushEnqueteReponses(notifications)\n .pipe(finalize(() => {\n // dans tous les cas (erreur compris) on stocke et notifie la fin du traitement\n this.storeReceivedNotification(notifications);\n this.notifyNotificationsUpdated(notifications);\n subscriber.next(true);\n subscriber.complete();\n })).subscribe();\n };\n this._interactionService.showNotification(notif);\n });\n }\n loadReceivedNotifications(restaurant, alertes, enquetes) {\n let receivedAlertes = this._localStorageService.getObject(RECEIVEDALERTES_KEY) || [];\n let receivedEnquetes = this._localStorageService.getObject(RECEIVEDENQUETES_KEY) || [];\n // purge des élements expirés\n const now = moment();\n receivedAlertes = receivedAlertes.filter(r => !r.expirationDate || moment(r.expirationDate).isAfter(now));\n receivedEnquetes = receivedEnquetes.filter(r => !r.expirationDate || moment(r.expirationDate).isAfter(now));\n // ajout des nouveau éléments\n // - Alertes\n const newReceivedAlertes = alertes\n .filter(a => !includes(receivedAlertes.map(ra => ra.alerteId), a.alerteId))\n .map((a) => {\n return {\n alerteId: a.alerteId,\n showAfterDate: now.startOf('day').toDate(),\n expirationDate: this.getExpirationDate(a.dateFin, a.recurrence),\n isRead: false\n };\n });\n receivedAlertes.push(...newReceivedAlertes);\n // - Enquetes\n const newReceivedEnquetes = enquetes\n .filter(e => !receivedEnquetes.some(re => re.enqueteId === e.enqueteId\n && re.cuisineCentraleId === restaurant.cuisineCentraleId\n && re.restaurantId === restaurant.id))\n .map(e => {\n return {\n enqueteId: e.enqueteId,\n cuisineCentraleId: restaurant.cuisineCentraleId,\n restaurantId: restaurant.id,\n showAfterDate: now.startOf('day').toDate(),\n expirationDate: this.getExpirationDate(e.dateFin, e.recurrence)\n };\n });\n receivedEnquetes.push(...newReceivedEnquetes);\n return { receivedAlertes, receivedEnquetes };\n }\n storeReceivedNotification(notifications) {\n // on recalcule les prochaines dates d'affichage\n const now = moment();\n notifications.alertesWithState\n .forEach(a => {\n a.state.showAfterDate = (a.state.isRead)\n ? null // this.getNextPromptDate(a.alerte.recurrence)\n : now.endOf('day').toDate(); // si pas lue => on réaffiche le lendemain\n });\n notifications.enquetesWithState\n .forEach(e => {\n e.state.showAfterDate = (e.state.note)\n ? null // this.getNextPromptDate(e.enquete.recurrence)\n : now.endOf('day').toDate(); // si pas répondu => on réaffiche le lendemain\n });\n // on persiste les states des notifications\n this._localStorageService.setObject(RECEIVEDALERTES_KEY, notifications.receivedAlertes);\n this._localStorageService.setObject(RECEIVEDENQUETES_KEY, notifications.receivedEnquetes);\n }\n // envoie au serveur la/les réponses aux enquetes\n pushEnqueteReponses(notifications) {\n return forkJoin(notifications.receivedEnquetes\n .filter(re => re.note && !re.serverPersisted) // dès qu'une note est présente et non transmise\n .map(re => this.repondreEnquete(re)));\n }\n repondreEnquete(receivedEnquete) {\n if (!receivedEnquete.note) {\n throw new Error(`(RepondreEnquete) Erreur : L'enquete ${receivedEnquete.enqueteId} n'a pas été notée.`);\n }\n return this._enquetesApi.repondreEnquete({\n enqueteId: receivedEnquete.enqueteId,\n cuisineCentraleId: receivedEnquete.cuisineCentraleId,\n restaurantId: receivedEnquete.restaurantId,\n note: receivedEnquete.note,\n commentaire: receivedEnquete.commentaire\n }).pipe(tap(() => receivedEnquete.serverPersisted = true));\n }\n // private getNextPromptDate(recurrence: 'Unique' | 'Hebdomadaire' | 'Mensuelle'): Date {\n // const now = moment();\n // switch (recurrence) {\n // case 'Hebdomadaire':\n // // on réaffiche la semaine suivante\n // return now.startOf('day').add(1, 'week').startOf('week').toDate();\n // case 'Mensuelle':\n // // on réaffiche le mois suivant\n // return now.startOf('day').startOf('month').add(1, 'month').toDate();\n // default: // \"Unique\"\n // return null; // on ne réaffiche pas\n // }\n // }\n /**\n * Calcul la date d'expiration en fonction de la récurrence de l'élément et de sa date de fin\n * on expire dès que l'élément n'a plus lieu (dateFin) ou avant la prochaine récurrence\n */\n getExpirationDate(dateFin, recurrence) {\n // inner function (pour pas polluler le service)\n function getNextExpirationDate(r) {\n const now = moment();\n switch (r) {\n case 'Hebdomadaire':\n // on réaffiche la semaine suivante\n return now.endOf('week').toDate();\n case 'Mensuelle':\n // on réaffiche le mois suivant\n return now.endOf('month').toDate();\n default: // \"Unique\"\n return null; // on ne réaffiche pas\n }\n }\n const expirationDate = getNextExpirationDate(recurrence);\n if (expirationDate === null) {\n // si pas d'expiration selon la récurrence (Unique) alors date de fin de l'alerte/enquete\n return dateFin;\n }\n else if (dateFin) {\n // sinon on prends la date minimum\n return moment(dateFin).isBefore(expirationDate) ? dateFin : expirationDate;\n }\n return expirationDate;\n }\n notifyNotificationsUpdated(notifications) {\n this._notificationUpdatedSubject.next(notifications);\n }\n exportEnquetesSatisfaction(request) {\n return this._enquetesApi.exportEnquetesSatisfaction(request);\n }\n}\nAlertesService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function AlertesService_Factory() { return new AlertesService(i0.ɵɵinject(i1.AlertesApiService), i0.ɵɵinject(i2.EnquetesApiService), i0.ɵɵinject(i3.LogService), i0.ɵɵinject(i4.LocalStorageService), i0.ɵɵinject(i5.InteractionService), i0.ɵɵinject(i6.ApplicationDataService)); }, token: AlertesService, providedIn: \"root\" });\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./export-enquetes.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../loader/loader.component.ngfactory\";\nimport * as i3 from \"../../../loader/loader.component\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"../../../date-input/date-input.component.ngfactory\";\nimport * as i7 from \"../../../shared/pipes/error-pretty-date.pipe\";\nimport * as i8 from \"../../../date-input/date-input.component\";\nimport * as i9 from \"./export-enquetes.component\";\nimport * as i10 from \"../../../shared/services/application-data.service\";\nimport * as i11 from \"../../../shared/services/authentication/authentication.service\";\nimport * as i12 from \"../../services/alertes.service\";\nimport * as i13 from \"../../../reporting/services/reporting.service\";\nvar styles_ExportEnquetesComponent = [i0.styles];\nvar RenderType_ExportEnquetesComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ExportEnquetesComponent, data: {} });\nexport { RenderType_ExportEnquetesComponent as RenderType_ExportEnquetesComponent };\nfunction View_ExportEnquetesComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container overlay\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"T\\u00E9l\\u00E9chargement du rapport\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"T\\u00E9l\\u00E9chargement du rapport\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportEnquetesComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportEnquetesComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Grand Compte\"])), (_l()(), i1.ɵeld(3, 0, null, null, 11, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-grandcompte\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedGrandCompte = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(9, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(10, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(11, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEnquetesComponent_6)), i1.ɵdid(14, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-grandcompte\"; var currVal_8 = _co.selectedGrandCompte; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = null; _ck(_v, 10, 0, currVal_9); var currVal_10 = null; _ck(_v, 11, 0, currVal_10); var currVal_11 = _co.grandComptes; _ck(_v, 14, 0, currVal_11); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportEnquetesComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Toutes\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportEnquetesComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportEnquetesComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cuisine\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-cuisine\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedCuisine = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEnquetesComponent_8)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEnquetesComponent_9)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-cuisine\"; var currVal_8 = _co.selectedCuisine; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = (_co.cuisines.length > 1); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.cuisines; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportEnquetesComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportEnquetesComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportEnquetesComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Contrat\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-contrat\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedContrat = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEnquetesComponent_11)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEnquetesComponent_12)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-contrat\"; var currVal_8 = _co.selectedContrat; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = ((_co.contrats.length > 1) || ((_co.cuisines.length > 1) && (_co.selectedCuisine == null))); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.contrats; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportEnquetesComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 23, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 16, \"div\", [[\"class\", \"input-group dates-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"P\\u00E9riode\"])), (_l()(), i1.ɵeld(4, 0, null, null, 6, \"app-date-input\", [[\"id\", \"start-date\"], [\"name\", \"start-date\"], [\"placeholder\", \"P\\u00E9riode d\\u00E9but\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateDebut = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(6, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(8, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(10, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(11, 0, null, null, 6, \"app-date-input\", [[\"id\", \"end-date\"], [\"name\", \"end-date\"], [\"placeholder\", \"P\\u00E9riode fin\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateFin = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(13, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(15, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(17, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEnquetesComponent_5)), i1.ɵdid(19, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEnquetesComponent_7)), i1.ɵdid(21, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEnquetesComponent_10)), i1.ɵdid(23, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.dateCalendarData; var currVal_8 = \"P\\u00E9riode d\\u00E9but\"; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = \"start-date\"; var currVal_10 = _co.dateDebut; _ck(_v, 8, 0, currVal_9, currVal_10); var currVal_18 = _co.dateCalendarData; var currVal_19 = \"P\\u00E9riode fin\"; _ck(_v, 13, 0, currVal_18, currVal_19); var currVal_20 = \"end-date\"; var currVal_21 = _co.dateFin; _ck(_v, 15, 0, currVal_20, currVal_21); var currVal_22 = ((_co.grandComptes.length > 0) && _co.allowGrandCompte); _ck(_v, 19, 0, currVal_22); var currVal_23 = (_co.cuisines.length > 1); _ck(_v, 21, 0, currVal_23); var currVal_24 = ((_co.cuisines.length > 1) || (_co.contrats.length > 1)); _ck(_v, 23, 0, currVal_24); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 10).ngClassValid; var currVal_5 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_11 = i1.ɵnov(_v, 17).ngClassUntouched; var currVal_12 = i1.ɵnov(_v, 17).ngClassTouched; var currVal_13 = i1.ɵnov(_v, 17).ngClassPristine; var currVal_14 = i1.ɵnov(_v, 17).ngClassDirty; var currVal_15 = i1.ɵnov(_v, 17).ngClassValid; var currVal_16 = i1.ɵnov(_v, 17).ngClassInvalid; var currVal_17 = i1.ɵnov(_v, 17).ngClassPending; _ck(_v, 11, 0, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17); }); }\nfunction View_ExportEnquetesComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEnquetesComponent_3)), i1.ɵdid(2, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEnquetesComponent_4)), i1.ɵdid(4, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 2, \"div\", [[\"class\", \"input-group bottom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.export() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(7, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isDowloading; _ck(_v, 2, 0, currVal_0); var currVal_1 = !_co.isDowloading; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.isDowloading; _ck(_v, 6, 0, currVal_2); var currVal_3 = (_co.isDowloading ? \"T\\u00E9l\\u00E9chargement...\" : \"Extraire\"); _ck(_v, 7, 0, currVal_3); }); }\nfunction View_ExportEnquetesComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Pr\\u00E9paration du formulaire\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Pr\\u00E9paration du formulaire\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportEnquetesComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"fieldset\", [[\"class\", \"reporting\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"legend\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"i\", [[\"class\", \"material-icons restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"sentiment_very_satisfied\"])), (_l()(), i1.ɵted(-1, null, [\" Satisfaction\"])), (_l()(), i1.ɵeld(5, 0, null, null, 4, \"div\", [[\"class\", \"content\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEnquetesComponent_2)), i1.ɵdid(7, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEnquetesComponent_13)), i1.ɵdid(9, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isLoading; _ck(_v, 7, 0, currVal_0); var currVal_1 = _co.isLoading; _ck(_v, 9, 0, currVal_1); }, null); }\nexport function View_ExportEnquetesComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportEnquetesComponent_1)), i1.ɵdid(1, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isAllowed; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_ExportEnquetesComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-export-enquetes\", [], null, null, null, View_ExportEnquetesComponent_0, RenderType_ExportEnquetesComponent)), i1.ɵdid(1, 245760, null, 0, i9.ExportEnquetesComponent, [i10.ApplicationDataService, i11.AuthenticationService, i12.AlertesService, i13.ReportingService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar ExportEnquetesComponentNgFactory = i1.ɵccf(\"app-export-enquetes\", i9.ExportEnquetesComponent, View_ExportEnquetesComponent_Host_0, {}, {}, []);\nexport { ExportEnquetesComponentNgFactory as ExportEnquetesComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\"];\nexport { styles as styles };\n","
\r\n sentiment_very_satisfied Satisfaction\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n

Période

\r\n \r\n \r\n
\r\n
0 && allowGrandCompte\">\r\n

Grand Compte

\r\n \r\n
\r\n
1\">\r\n

Cuisine

\r\n \r\n
\r\n
1 || contrats.length > 1\">\r\n

Contrat

\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { combineLatest, Observable, Subscription } from 'rxjs';\r\nimport { debounceTime, finalize, first, map } from 'rxjs/operators';\r\nimport { DatePickerInfo } from 'src/app/date-input/date-input.component';\r\nimport { AllowedFeatureEnum } from 'src/app/shared/enums/allowed-feature.enum';\r\nimport { FileHelper } from 'src/app/shared/helpers/file.helper';\r\nimport { ErrorApiModel } from 'src/app/shared/models/api/error/error.apimodel';\r\nimport { ContratModel } from 'src/app/shared/models/contrat.model';\r\nimport { CuisineCentraleModel } from 'src/app/shared/models/cuisine-centrale.model';\r\nimport { FileResultModel } from 'src/app/shared/models/fileresult.model';\r\nimport { GrandCompteModel } from 'src/app/shared/models/grand-compte.model';\r\nimport { NotificationModel } from 'src/app/shared/models/notification.model';\r\nimport { RestaurantModel } from 'src/app/shared/models/restaurant.model';\r\nimport { UserInfoModel } from 'src/app/shared/models/user-info.model';\r\nimport { ApplicationDataService } from 'src/app/shared/services/application-data.service';\r\nimport { AuthenticationService } from 'src/app/shared/services/authentication/authentication.service';\r\nimport { InteractionService } from 'src/app/shared/services/interaction.service';\r\nimport { DiscussionService } from '../services/discussion.service';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { ReportingService } from 'src/app/reporting/services/reporting.service';\r\n\r\n@Component({\r\n selector: 'app-export-suivi-qualite',\r\n templateUrl: './export-suivi-qualite.component.html',\r\n styleUrls: ['./export-suivi-qualite.component.scss'],\r\n // changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ExportSuiviQualiteComponent implements OnInit, OnDestroy {\r\n\r\n public dateCalendarData: DatePickerInfo = {\r\n minDate: moment().add(-2, 'year').startOf('year').toDate(),\r\n maxDate: moment().add(1, 'year').endOf('year').toDate()\r\n };\r\n\r\n public isLoading: boolean = false;\r\n public isDowloading: boolean = false;\r\n public isAllowed: boolean = false;\r\n\r\n public cuisines: CuisineCentraleModel[] = [];\r\n public grandComptes: GrandCompteModel[] = [];\r\n\r\n public allowGrandCompte: boolean = true;\r\n private _selectedGrandCompte: GrandCompteModel = null;\r\n public get selectedGrandCompte(): GrandCompteModel {\r\n return this._selectedGrandCompte;\r\n }\r\n public set selectedGrandCompte(v: GrandCompteModel) {\r\n if (this._selectedGrandCompte !== v) {\r\n this._selectedGrandCompte = v;\r\n if (this._selectedGrandCompte !== null) {\r\n this._selectedCuisine = null; // si grand compte alors toutes cuisines\r\n }\r\n const contrats = this.contrats; // on sélectionne le contrat si c'est le seul accessible\r\n this.selectedContrat = (contrats.length == 1)\r\n ? contrats[0] // seul contrat accessible sur le grand compte\r\n : null; // tous les contrats\r\n }\r\n }\r\n\r\n private _selectedCuisine: CuisineCentraleModel = null;\r\n public get selectedCuisine(): CuisineCentraleModel {\r\n return this._selectedCuisine;\r\n }\r\n public set selectedCuisine(v: CuisineCentraleModel) {\r\n if (this._selectedCuisine !== v) {\r\n this._selectedCuisine = v;\r\n if (this._selectedCuisine !== null) {\r\n this._selectedGrandCompte = null; // si cuisine alors pas de filtre grand compte\r\n }\r\n const contrats = this.contrats; // on sélectionne le contrat si c'est le seul accessible\r\n this.selectedContrat = (contrats.length == 1)\r\n ? contrats[0] // seul contrat accessible sur la cuisine\r\n : null; // tous les contrats\r\n }\r\n }\r\n\r\n public get contrats(): ContratModel[] {\r\n return (this.selectedCuisine && this.selectedCuisine.contrats)\r\n || (this.selectedGrandCompte && this.getGrandCompteContrats(this.selectedGrandCompte))\r\n || [];\r\n }\r\n\r\n public selectedContrat: ContratModel = null;\r\n public dateDebut: Date = moment().startOf('month').toDate();\r\n public dateFin: Date = moment().endOf('month').startOf('day').toDate();\r\n\r\n constructor(\r\n private _appDataService: ApplicationDataService,\r\n private _authService: AuthenticationService,\r\n private _discussionService: DiscussionService,\r\n private _reportingService: ReportingService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isAllowed = false;\r\n this.isLoading = true;\r\n\r\n // on prends le dernier restaurant et on complete le stream que l'on combine ensuite aux infos user pour en tirer le context actuel\r\n combineLatest([\r\n this._appDataService.restaurant$,\r\n this._authService.currentUser$]\r\n )\r\n .pipe(\r\n untilDestroyed(this),\r\n map(([restaurant, user]) => ({ restaurant, user }))\r\n )\r\n .subscribe((result: { restaurant: RestaurantModel, user: UserInfoModel }) => {\r\n this.cuisines = result && result.user && result.user.cuisines || [];\r\n this.grandComptes = result && result.user && result.user.grandComptes || [];\r\n // on affiche les grand compte que s'il y en a plusieurs (null compris)\r\n this.allowGrandCompte = result && result.user && new Set(result.user.allContrats.map(c => c.grandCompteId)).size > 1;\r\n\r\n this.selectedCuisine = result && result.user && result.restaurant && this.cuisines.find(c => c.id === result.restaurant.cuisineCentraleId);\r\n this.selectedContrat = result && result.user && result.restaurant && this.contrats.find(c => c.id === result.restaurant.contratId);\r\n\r\n this.isAllowed = result && result.user && result.user.hasAccessToFeature(AllowedFeatureEnum.Discussion);\r\n\r\n this.isLoading = false;\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n export() {\r\n this.isDowloading = true;\r\n const report$ = this._discussionService\r\n .exportEnquetesSatisfaction({\r\n grandCompteId: this.selectedGrandCompte && this.selectedGrandCompte.id,\r\n cuisineCentraleId: this.selectedCuisine && this.selectedCuisine.id,\r\n contratId: this.selectedContrat && this.selectedContrat.id,\r\n dateDebut: this.dateDebut,\r\n dateFin: this.dateFin\r\n }\r\n ).pipe(\r\n debounceTime(1000),\r\n first(),\r\n finalize(() => {\r\n this.isDowloading = false;\r\n }));\r\n\r\n this._reportingService.handleReportResponse(report$);\r\n }\r\n\r\n private getGrandCompteContrats(grandCompte: GrandCompteModel): ContratModel[] {\r\n return this.cuisines\r\n && this.cuisines.reduce((prev, current) => prev.concat(grandCompte == null ? current.contrats : current.contrats.filter(c => c.grandCompteId === grandCompte.id)), []) || [];\r\n }\r\n\r\n}\r\n\r\n","export enum FileTypeEnum {\r\n Image,\r\n Word,\r\n Excel,\r\n Powerpoint,\r\n Other\r\n}","export enum DiscussionStatusEnum{\r\n Ouvert,\r\n Ferme\r\n}","import { DiscussionMessageDocumentModel } from './discussion-message-document.model';\nimport { FileTypeEnum } from './file-type.enum';\nimport { DiscussionMessageModel } from './discussion-message.model';\nimport { DiscussionStatusEnum } from './discussion-status.enum';\nimport { DiscussionModel } from './discussion.model';\n\nimport { TypeInterventionApiResponse } from './api/type-intervention.apiresponse';\nimport { GetDiscussionsApiResponse } from './api/get-discussions.apiresponse';\nimport { GetDiscussionMessagesApiResponse } from './api/get-discussion-messages.apiresponse';\nimport { groupBy, min, orderBy } from 'lodash';\nimport { TypeInterventionGroup, TypeInterventionModel, TypeMaintenanceModel, TypeMaintenanceGroup } from './type-intervention.model';\n\n\nconst FILE_PPTX = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';\nconst FILE_PPT = 'application/vnd.ms-powerpoint';\n\nconst FILE_DOCX = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\nconst FILE_DOC = 'application/msword';\n\nconst FILE_XLSX = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\nconst FILE_XLS = 'application/vnd.ms-excel';\nconst nameof = (name: keyof T) => name;\n\nexport class DiscussionProjector {\n\n /** Type Maintenance */\n public static projectTypeInterventions(apiTypes: TypeInterventionApiResponse.TypeIntervention[]): TypeInterventionGroup[] {\n // return apiTypes.map(apiType => {\n // const type: TypeInterventionModel = {\n // id: apiType.id,\n // libelle: apiType.libelle,\n // groupe: apiType.groupe,\n // typeNonConformite: apiType.typeNonConformite,\n // templateMessage: apiType.templateMessage,\n // descriptionObligatoire: apiType.descriptionObligatoire,\n // ordre: apiType.ordre,\n // typeMaintenances: apiType.typeMaintenances.map(apiTm => ({\n // id: apiTm.id,\n // libelle: apiTm.libelle,\n // groupe: apiTm.groupe,\n // typeNonConformite: apiTm.typeNonConformite,\n // templateMessage: apiTm.templateMessage,\n // descriptionObligatoire: apiTm.descriptionObligatoire,\n // ordre: apiTm.ordre\n // }))\n // };\n\n // return type;\n // });\n return this.BuildTypeInterventionGroups(apiTypes);\n }\n\n private static BuildTypeInterventionGroups(typeInterventions: TypeInterventionApiResponse.TypeIntervention[]): TypeInterventionGroup[] {\n if (!typeInterventions) {\n return [];\n }\n\n // on groupe les typeIntervention par leur groupe\n\n // TypeInterventionGroup[]\n // TypeIntervention[]\n // TypeMaintenanceGroup[]\n // TypeMaintenance[]\n\n const typeInterventionsByGroupe = groupBy(typeInterventions, ti => ti.groupe || '');\n let typeInterventionGroups: TypeInterventionGroup[] = [];\n // tslint:disable-next-line: forin\n // for (const groupe in typeInterventionsByGroupe) {\n // const groupeTypeInterventions = typeInterventionsByGroupe[groupe];\n for (const [tiGroupe, groupeTypeInterventions] of Object.entries(typeInterventionsByGroupe)) {\n const group: TypeInterventionGroup = {\n groupe: tiGroupe,\n ordre: min(groupeTypeInterventions.map(ti => ti.ordre)),\n typeInterventions: orderBy(groupeTypeInterventions, nameof('ordre'))\n .map(ti => {\n const typeMaintenancesByGroupe = groupBy(ti.typeMaintenances, tm => tm.groupe || ti.libelle);\n let typeMaintenanceGroups: TypeMaintenanceGroup[] = Object.entries(typeMaintenancesByGroupe)\n .map(entry => {\n const [tmGroupe, groupeTypeMaintenances] = entry;\n return {\n groupe: tmGroupe,\n ordre: min(groupeTypeMaintenances.map(tm => tm.ordre)),\n typeMaintenances: orderBy(groupeTypeMaintenances, nameof('ordre'))\n .map(tm => ({\n id: tm.id,\n libelle: tm.libelle,\n groupe: tm.groupe,\n typeNonConformite: tm.typeNonConformite,\n templateMessage: tm.templateMessage || ti.templateMessage, // on hérite du template du type d'intervention\n descriptionObligatoire: tm.descriptionObligatoire,\n ordre: tm.ordre\n })\n )\n };\n });\n typeMaintenanceGroups = orderBy(typeMaintenanceGroups, nameof('ordre'));\n\n const typeIntervention: TypeInterventionModel = {\n id: ti.id,\n libelle: ti.libelle,\n groupe: ti.groupe,\n typeNonConformite: ti.typeNonConformite,\n templateMessage: ti.templateMessage,\n descriptionObligatoire: ti.descriptionObligatoire,\n ordre: ti.ordre,\n typeMaintenances: typeMaintenanceGroups\n };\n return typeIntervention;\n })\n };\n typeInterventionGroups.push(group);\n }\n\n typeInterventionGroups = orderBy(typeInterventionGroups, nameof('ordre'));\n\n return typeInterventionGroups;\n }\n\n\n public static projectMessages(userId: string, apiMessages: GetDiscussionMessagesApiResponse.Message[])\n : DiscussionMessageModel[] {\n return apiMessages.map(apiMsg => this.projectMessage(userId, apiMsg));\n }\n\n public static projectMessage(userId: string, apiMsg: GetDiscussionMessagesApiResponse.Message): DiscussionMessageModel {\n const model: DiscussionMessageModel = {\n dateCreation: apiMsg.dateCreation,\n id: apiMsg.id,\n texte: apiMsg.texte,\n utilisateur: apiMsg.utilisateur,\n fromOtherUser: userId !== apiMsg.utilisateurId,\n documents: this.projectDocuments(apiMsg.documents)\n };\n return model;\n }\n\n public static projectDocuments(apiDocuments: GetDiscussionMessagesApiResponse.Document[]): DiscussionMessageDocumentModel[] {\n return apiDocuments.map(apiDoc => {\n const model: DiscussionMessageDocumentModel = {\n id: apiDoc.id,\n nomFichier: apiDoc.nomFichier,\n typeMime: apiDoc.typeMime,\n type: this.getTypeFromTypeMime(apiDoc.typeMime),\n extension: this.getExtension(apiDoc.nomFichier),\n hasMiniature: apiDoc.hasMiniature\n };\n return model;\n });\n }\n\n private static getExtension(fileName: string): string {\n const splitted = fileName.split('.');\n return splitted[splitted.length - 1];\n }\n\n private static getTypeFromTypeMime(typeMime: string): FileTypeEnum {\n if (!typeMime) {\n return FileTypeEnum.Other;\n } else if (typeMime.startsWith('image/')) {\n return FileTypeEnum.Image;\n } else if (typeMime === FILE_DOC || typeMime === FILE_DOCX) {\n return FileTypeEnum.Word;\n } else if (typeMime === FILE_XLS || typeMime === FILE_XLSX) {\n return FileTypeEnum.Excel;\n } else if (typeMime === FILE_PPT || typeMime === FILE_PPTX) {\n return FileTypeEnum.Powerpoint;\n } else {\n return FileTypeEnum.Other;\n }\n }\n\n\n public static projectDiscussions(apiDiscussions: GetDiscussionsApiResponse.Discussion[])\n : DiscussionModel[] {\n return apiDiscussions.map(apiDisc => {\n const disc: DiscussionModel = {\n id: apiDisc.id,\n dateModification: new Date(apiDisc.dateModification),\n dateCreation: new Date(apiDisc.dateCreation),\n lu: apiDisc.lu,\n contratId: apiDisc.contratId,\n contrat: apiDisc.contrat,\n restaurantId: apiDisc.restaurantId,\n restaurant: apiDisc.restaurant,\n sujet: apiDisc.sujet,\n typeInterventionId: apiDisc.typeInterventionId,\n typeIntervention: apiDisc.typeIntervention,\n typeMaintenanceId: apiDisc.typeMaintenanceId,\n typeMaintenance: apiDisc.typeMaintenance,\n typeNonConformite: apiDisc.typeNonConformite,\n statut: this.projectDiscussionStatut(apiDisc.statut),\n peutCloturer: apiDisc.peutCloturer,\n peutRequalifier: apiDisc.peutRequalifier\n };\n return disc;\n });\n }\n\n private static projectDiscussionStatut(apiStatut: string): DiscussionStatusEnum {\n return DiscussionStatusEnum[apiStatut];\n }\n\n}\n","\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { FileResultModel } from '../../shared/models/fileresult.model';\nimport { DiscussionProjector } from '../models/discussion.projector';\nimport { DiscussionMessageModel } from '../models/discussion-message.model';\nimport { DiscussionStatusEnum } from '../models/discussion-status.enum';\nimport { TypeInterventionGroup } from '../models/type-intervention.model';\nimport { DiscussionApiService } from './api/discussion.apiservice';\nimport { ExportSuiviQualiteRequest } from '../models/export-suivi-qualite-request.model';\nimport { DiscussionUnreadCount } from '../models/discussion-unread-count';\n\n@Injectable()\nexport class DiscussionService {\n constructor(private discussionApiService: DiscussionApiService) { }\n\n /** Type Interventions */\n public getTypeInterventionsForContrat(cuisineCentraleId: number, contratId: number): Observable {\n return this.discussionApiService.getTypeInterventionsForContrat(cuisineCentraleId, contratId)\n .pipe(\n map(types => DiscussionProjector.projectTypeInterventions(types))\n );\n }\n\n /** Send Message */\n public sendNewDiscussion(cuisineCentraleId: number, restaurantId: number, typeInterventionId: number, sujet: string, message: string, files: File[], typeMaintenanceId?: number): Observable {\n return this.discussionApiService.sendNewDiscussion(cuisineCentraleId, restaurantId, typeInterventionId, sujet, message, files, typeMaintenanceId);\n }\n\n public requalifierDiscussion(discussionId: number, typeInterventionId: number, typeMaintenanceId?: number) {\n return this.discussionApiService.requalifierDiscussion(discussionId, typeInterventionId, typeMaintenanceId);\n }\n\n public getDiscussions(isDiscussionsOuvertes: boolean, cuisineCentraleId: number, contratId: number, restaurantId: number, dateDebut: Date, dateFin: Date, searchFilter: string) {\n const statut: DiscussionStatusEnum = isDiscussionsOuvertes ? DiscussionStatusEnum.Ouvert : DiscussionStatusEnum.Ferme;\n\n return this.discussionApiService.getDiscussions(statut, cuisineCentraleId, contratId, restaurantId, dateDebut, dateFin, searchFilter).pipe(map(discussions => {\n return DiscussionProjector.projectDiscussions(discussions);\n }));\n }\n\n public getDiscussionMessages(userId: string, discussionId: number): Observable {\n return this.discussionApiService.getDiscussionMessages(discussionId).pipe(map(messages => {\n return DiscussionProjector.projectMessages(userId, messages);\n }));\n }\n\n public sendNewMessage(userId: string, discussionId: number, texte: string, cloturerDiscussion: boolean, files: File[]): Observable {\n // Si succès, on renvoie un faux message pour éviter de reload les messages via l'api\n return this.discussionApiService.sendNewMessage(discussionId, texte, cloturerDiscussion, files).pipe(map(msg => {\n return DiscussionProjector.projectMessage(userId, msg);\n }));\n }\n\n public lireDiscussion(discussionId: number): Observable {\n return this.discussionApiService.lireDiscussion(discussionId);\n }\n\n public getUnreadCount(): Observable {\n return this.discussionApiService.getUnreadCount()\n .pipe(\n map(res => {\n return {\n unreadCount: res.unreadCount,\n minDate: new Date(res.minDate),\n maxDate: new Date(res.maxDate)\n };\n })\n );\n }\n\n public getDocument(documentId: number): Observable {\n return this.discussionApiService.getDocument(documentId);\n }\n public getThumbnailSrc(documentId: number) {\n return this.discussionApiService.getThumbnailSrc(documentId);\n }\n\n public exportEnquetesSatisfaction(request: ExportSuiviQualiteRequest): Observable {\n return this.discussionApiService.exportEnquetesSatisfaction(request);\n }\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./export-suivi-qualite.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../loader/loader.component.ngfactory\";\nimport * as i3 from \"../../loader/loader.component\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"../../date-input/date-input.component.ngfactory\";\nimport * as i7 from \"../../shared/pipes/error-pretty-date.pipe\";\nimport * as i8 from \"../../date-input/date-input.component\";\nimport * as i9 from \"./export-suivi-qualite.component\";\nimport * as i10 from \"../../shared/services/application-data.service\";\nimport * as i11 from \"../../shared/services/authentication/authentication.service\";\nimport * as i12 from \"../services/discussion.service\";\nimport * as i13 from \"../../reporting/services/reporting.service\";\nvar styles_ExportSuiviQualiteComponent = [i0.styles];\nvar RenderType_ExportSuiviQualiteComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ExportSuiviQualiteComponent, data: {} });\nexport { RenderType_ExportSuiviQualiteComponent as RenderType_ExportSuiviQualiteComponent };\nfunction View_ExportSuiviQualiteComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container overlay\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"T\\u00E9l\\u00E9chargement du rapport\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"T\\u00E9l\\u00E9chargement du rapport\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportSuiviQualiteComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportSuiviQualiteComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Grand Compte\"])), (_l()(), i1.ɵeld(3, 0, null, null, 11, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-grandcompte\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedGrandCompte = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(9, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(10, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(11, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportSuiviQualiteComponent_6)), i1.ɵdid(14, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-grandcompte\"; var currVal_8 = _co.selectedGrandCompte; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = null; _ck(_v, 10, 0, currVal_9); var currVal_10 = null; _ck(_v, 11, 0, currVal_10); var currVal_11 = _co.grandComptes; _ck(_v, 14, 0, currVal_11); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportSuiviQualiteComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Toutes\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportSuiviQualiteComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportSuiviQualiteComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cuisine\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-cuisine\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedCuisine = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportSuiviQualiteComponent_8)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportSuiviQualiteComponent_9)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-cuisine\"; var currVal_8 = _co.selectedCuisine; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = (_co.cuisines.length > 1); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.cuisines; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportSuiviQualiteComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(-1, null, [\"Tous\"]))], function (_ck, _v) { var currVal_0 = null; _ck(_v, 1, 0, currVal_0); var currVal_1 = null; _ck(_v, 2, 0, currVal_1); }, null); }\nfunction View_ExportSuiviQualiteComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ExportSuiviQualiteComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Contrat\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"class\", \"input-group-input selector\"], [\"name\", \"select-contrat\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedContrat = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(6, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(8, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportSuiviQualiteComponent_11)), i1.ɵdid(10, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportSuiviQualiteComponent_12)), i1.ɵdid(12, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"select-contrat\"; var currVal_8 = _co.selectedContrat; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = ((_co.contrats.length > 1) || ((_co.cuisines.length > 1) && (_co.selectedCuisine == null))); _ck(_v, 10, 0, currVal_9); var currVal_10 = _co.contrats; _ck(_v, 12, 0, currVal_10); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ExportSuiviQualiteComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 23, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 16, \"div\", [[\"class\", \"input-group dates-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"P\\u00E9riode\"])), (_l()(), i1.ɵeld(4, 0, null, null, 6, \"app-date-input\", [[\"id\", \"suiviqualite-start-date\"], [\"name\", \"suiviqualite-start-date\"], [\"placeholder\", \"P\\u00E9riode d\\u00E9but\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateDebut = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(6, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(8, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(10, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(11, 0, null, null, 6, \"app-date-input\", [[\"id\", \"suiviqualite-end-date\"], [\"name\", \"suiviqualite-end-date\"], [\"placeholder\", \"P\\u00E9riode fin\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.dateFin = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(13, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(15, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(17, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportSuiviQualiteComponent_5)), i1.ɵdid(19, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportSuiviQualiteComponent_7)), i1.ɵdid(21, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportSuiviQualiteComponent_10)), i1.ɵdid(23, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.dateCalendarData; var currVal_8 = \"P\\u00E9riode d\\u00E9but\"; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = \"suiviqualite-start-date\"; var currVal_10 = _co.dateDebut; _ck(_v, 8, 0, currVal_9, currVal_10); var currVal_18 = _co.dateCalendarData; var currVal_19 = \"P\\u00E9riode fin\"; _ck(_v, 13, 0, currVal_18, currVal_19); var currVal_20 = \"suiviqualite-end-date\"; var currVal_21 = _co.dateFin; _ck(_v, 15, 0, currVal_20, currVal_21); var currVal_22 = ((_co.grandComptes.length > 0) && _co.allowGrandCompte); _ck(_v, 19, 0, currVal_22); var currVal_23 = (_co.cuisines.length > 1); _ck(_v, 21, 0, currVal_23); var currVal_24 = ((_co.cuisines.length > 1) || (_co.contrats.length > 1)); _ck(_v, 23, 0, currVal_24); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 10).ngClassValid; var currVal_5 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_11 = i1.ɵnov(_v, 17).ngClassUntouched; var currVal_12 = i1.ɵnov(_v, 17).ngClassTouched; var currVal_13 = i1.ɵnov(_v, 17).ngClassPristine; var currVal_14 = i1.ɵnov(_v, 17).ngClassDirty; var currVal_15 = i1.ɵnov(_v, 17).ngClassValid; var currVal_16 = i1.ɵnov(_v, 17).ngClassInvalid; var currVal_17 = i1.ɵnov(_v, 17).ngClassPending; _ck(_v, 11, 0, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17); }); }\nfunction View_ExportSuiviQualiteComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportSuiviQualiteComponent_3)), i1.ɵdid(2, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportSuiviQualiteComponent_4)), i1.ɵdid(4, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 2, \"div\", [[\"class\", \"input-group bottom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.export() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(7, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isDowloading; _ck(_v, 2, 0, currVal_0); var currVal_1 = !_co.isDowloading; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.isDowloading; _ck(_v, 6, 0, currVal_2); var currVal_3 = (_co.isDowloading ? \"T\\u00E9l\\u00E9chargement...\" : \"Extraire\"); _ck(_v, 7, 0, currVal_3); }); }\nfunction View_ExportSuiviQualiteComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Pr\\u00E9paration du formulaire\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Pr\\u00E9paration du formulaire\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ExportSuiviQualiteComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"fieldset\", [[\"class\", \"reporting\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"legend\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"i\", [[\"class\", \"material-icons restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"sms_failed\"])), (_l()(), i1.ɵted(-1, null, [\" Demandes / R\\u00E9clamations\"])), (_l()(), i1.ɵeld(5, 0, null, null, 4, \"div\", [[\"class\", \"content\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportSuiviQualiteComponent_2)), i1.ɵdid(7, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportSuiviQualiteComponent_13)), i1.ɵdid(9, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isLoading; _ck(_v, 7, 0, currVal_0); var currVal_1 = _co.isLoading; _ck(_v, 9, 0, currVal_1); }, null); }\nexport function View_ExportSuiviQualiteComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_ExportSuiviQualiteComponent_1)), i1.ɵdid(1, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isAllowed; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_ExportSuiviQualiteComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-export-suivi-qualite\", [], null, null, null, View_ExportSuiviQualiteComponent_0, RenderType_ExportSuiviQualiteComponent)), i1.ɵdid(1, 245760, null, 0, i9.ExportSuiviQualiteComponent, [i10.ApplicationDataService, i11.AuthenticationService, i12.DiscussionService, i13.ReportingService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar ExportSuiviQualiteComponentNgFactory = i1.ɵccf(\"app-export-suivi-qualite\", i9.ExportSuiviQualiteComponent, View_ExportSuiviQualiteComponent_Host_0, {}, {}, []);\nexport { ExportSuiviQualiteComponentNgFactory as ExportSuiviQualiteComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\"];\nexport { styles as styles };\n","
\r\n sms_failed Demandes / Réclamations\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n

Période

\r\n \r\n \r\n
\r\n
0 && allowGrandCompte\">\r\n

Grand Compte

\r\n \r\n
\r\n
1\">\r\n

Cuisine

\r\n \r\n
\r\n
1 || contrats.length > 1\">\r\n

Contrat

\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n","export class FilterBaseModel {\r\n startDate: Date;\r\n endDate: Date;\r\n downloading: boolean;\r\n}","import { FilterBaseModel } from './filter-base.model';\r\n\r\nexport class CommandeRepasFilterModel extends FilterBaseModel {\r\n isPiqueNique: boolean;\r\n}","import { EventEmitter } from '@angular/core';\r\nimport { TypeListeArticleModel } from '../../epicerie-inventaire/models/type-liste-articles.model';\r\nimport { FilterBaseModel } from './filter-base.model';\r\n\r\nexport class EpicerieInventaireFilterModel extends FilterBaseModel {\r\n loadingData: boolean = true;\r\n type: string;\r\n typeListeArticlesEpicerie: TypeListeArticleModel[];\r\n typeListeArticlesInventaire: TypeListeArticleModel[];\r\n selectedTypeListeArticles: TypeListeArticleModel[];\r\n selectedTypeListeArticle: TypeListeArticleModel;\r\n epicerieInventaireEmitter: EventEmitter;\r\n}","import { FilterBaseModel } from './filter-base.model';\nexport class EpicerieInventaireFilterModel extends FilterBaseModel {\n constructor() {\n super(...arguments);\n this.loadingData = true;\n }\n}\n","import { LieuCommandeModel, SemaineInfosModel } from '../../repas/models/commande-repas.model';\r\n\r\nexport class MatriceDeChoixFilterModel {\r\n selectedLieuCommande: LieuCommandeModel;\r\n\r\n selectedSemaine: SemaineInfosModel;\r\n downloading: boolean;\r\n\r\n constructor(public lieuCommandeList: LieuCommandeModel[], public semaineList: SemaineInfosModel[]) {\r\n this.selectedSemaine = semaineList[0];\r\n this.selectedLieuCommande = lieuCommandeList[0];\r\n }\r\n\r\n getDate() {\r\n return this.selectedSemaine.dateDebut;\r\n }\r\n}\r\n","\r\nimport { Component, EventEmitter, OnDestroy, OnInit } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { debounceTime, finalize, first } from 'rxjs/operators';\r\nimport { DatePickerInfo } from '../date-input/date-input.component';\r\nimport { EpicerieInventaireService } from '../epicerie-inventaire/services/epicerie-inventaire.service';\r\nimport { CommandeRepasModel } from '../repas/models/commande-repas.model';\r\nimport { CommandeRepasService } from '../repas/services/commande-repas.service';\r\nimport { DateHelper } from '../shared/helpers/date.helper';\r\nimport { FileHelper } from '../shared/helpers/file.helper';\r\nimport { ErrorApiModel } from '../shared/models/api/error/error.apimodel';\r\nimport { ContratModel } from '../shared/models/contrat.model';\r\nimport { FileResultModel } from '../shared/models/fileresult.model';\r\nimport { NotificationModel } from '../shared/models/notification.model';\r\nimport { LogoRouteService } from '../shared/services/api/logo/logo-route.service';\r\nimport { ApplicationDataService } from '../shared/services/application-data.service';\r\nimport { InteractionService } from '../shared/services/interaction.service';\r\nimport { CommandeRepasFilterModel } from './models/commande-repas-filter.model';\r\nimport { EpicerieInventaireFilterModel } from './models/epicerie-inventaire-filter.model';\r\nimport { MatriceDeChoixFilterModel } from './models/matrice-choix-filter.model';\r\nimport { ReportingService } from './services/reporting.service';\r\n\r\nconst DEBOUNCE_EMITTER = 300;\r\nconst EPICERIE_LABEL = 'Epicerie';\r\nconst INVENTAIRE_LABEL = 'Inventaire';\r\n\r\nexport interface ReportSemaineModel {\r\n libelle: string;\r\n dateDebut: Date;\r\n dateFin: Date;\r\n}\r\n@Component({\r\n selector: 'app-reporting',\r\n templateUrl: './reporting.component.html',\r\n styleUrls: ['./reporting.component.scss']\r\n})\r\n\r\nexport class ReportingComponent implements OnInit, OnDestroy {\r\n /** Subscriptions */\r\n private contratSubscription: Subscription;\r\n private restaurantSubscription: Subscription;\r\n\r\n /** fields */\r\n logoContratUrl: string = '';\r\n dateCalendarData: DatePickerInfo;\r\n epicerieInventaireFilter: EpicerieInventaireFilterModel;\r\n matriceDeChoixFilter: MatriceDeChoixFilterModel;\r\n commandeRepasFilter: CommandeRepasFilterModel;\r\n\r\n /** private fields */\r\n private contrat: ContratModel;\r\n private restaurantId: number;\r\n private cuisineCentraleId: number;\r\n\r\n constructor(\r\n private appDataService: ApplicationDataService,\r\n private logoService: LogoRouteService,\r\n private epicerieInventaireService: EpicerieInventaireService,\r\n private cmdRepasService: CommandeRepasService,\r\n private interactionService: InteractionService,\r\n private reportingService: ReportingService) { }\r\n\r\n ngOnInit() {\r\n // calendar\r\n this.dateCalendarData = {\r\n minDate: moment().add(-2, 'year').startOf('year').toDate(),\r\n maxDate: moment().add(1, 'year').endOf('year').toDate()\r\n };\r\n // filters\r\n const startDate: Date = moment().startOf('month').toDate();\r\n const endDate: Date = moment().endOf('month').toDate();\r\n const today: Date = moment().toDate();\r\n // epicerie filter\r\n this.epicerieInventaireFilter = new EpicerieInventaireFilterModel();\r\n this.epicerieInventaireFilter.startDate = startDate;\r\n this.epicerieInventaireFilter.endDate = endDate;\r\n this.epicerieInventaireFilter.type = EPICERIE_LABEL;\r\n this.epicerieInventaireFilter.epicerieInventaireEmitter = new EventEmitter();\r\n this.epicerieInventaireFilter.epicerieInventaireEmitter.pipe(\r\n debounceTime(DEBOUNCE_EMITTER))\r\n .subscribe(() => {\r\n this.selectTypeListeArticle(this.epicerieInventaireFilter.type);\r\n });\r\n // repas filter\r\n this.commandeRepasFilter = new CommandeRepasFilterModel();\r\n this.commandeRepasFilter.startDate = startDate;\r\n this.commandeRepasFilter.endDate = endDate;\r\n this.commandeRepasFilter.isPiqueNique = false;\r\n\r\n // subscription\r\n this.handleSubscribe();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.contratSubscription.unsubscribe();\r\n this.restaurantSubscription.unsubscribe();\r\n }\r\n\r\n initMatriceDeChoixFilter() {\r\n this.matriceDeChoixFilter = null;\r\n const startOfWeek = moment().startOf('week').toDate();\r\n // #46735 : on affiche jusqu'à 4 semaines précédentes\r\n const startDate = moment(startOfWeek).subtract(4, 'weeks').toDate();\r\n this.cmdRepasService.getCommandeRepas(false, this.cuisineCentraleId, this.restaurantId, null, null, startDate).pipe(\r\n debounceTime(1000))\r\n .subscribe((cmdRepas: CommandeRepasModel) => {\r\n this.matriceDeChoixFilter = new MatriceDeChoixFilterModel(cmdRepas.lieuCommandes, cmdRepas.semaines);\r\n // par défaut, sélection de la semaine courante\r\n this.matriceDeChoixFilter.selectedSemaine = this.matriceDeChoixFilter.semaineList.find(s => new Date(s.dateDebut) >= startOfWeek);\r\n });\r\n }\r\n\r\n /** END Matrice de choix */\r\n handleSubscribe() {\r\n this.contratSubscription = this.appDataService.contrat$.subscribe(\r\n contrat => {\r\n if (contrat != null) {\r\n this.contrat = contrat;\r\n this.cuisineCentraleId = contrat.cuisineCentraleId;\r\n this.logoContratUrl = this.logoService.GetPicture2Url(contrat.id, contrat.cuisineCentraleId);\r\n if (this.restaurantId) {\r\n this.getTypeListeArticles();\r\n }\r\n // this.getPrestations();\r\n }\r\n });\r\n\r\n this.restaurantSubscription = this.appDataService.restaurant$.subscribe(\r\n restaurant => {\r\n if (restaurant != null) {\r\n this.restaurantId = restaurant.id;\r\n this.initMatriceDeChoixFilter();\r\n this.getTypeListeArticles();\r\n }\r\n });\r\n }\r\n\r\n private getTypeListeArticles() {\r\n this.epicerieInventaireFilter.loadingData = true;\r\n this.epicerieInventaireService.getTypeListeArticles(this.cuisineCentraleId, this.restaurantId, this.contrat.id).pipe(\r\n debounceTime(1000))\r\n .subscribe(typeListeArticles => {\r\n this.epicerieInventaireFilter.typeListeArticlesEpicerie = typeListeArticles.typesListeArticleEpicerie;\r\n this.epicerieInventaireFilter.typeListeArticlesInventaire = typeListeArticles.typesListeArticleInventaire;\r\n // set epicerie by default\r\n this.epicerieInventaireFilter.type = EPICERIE_LABEL;\r\n this.selectTypeListeArticle(this.epicerieInventaireFilter.type);\r\n this.epicerieInventaireFilter.loadingData = false;\r\n });\r\n }\r\n\r\n private selectTypeListeArticle(type: string) {\r\n switch (type) {\r\n case EPICERIE_LABEL:\r\n this.epicerieInventaireFilter.selectedTypeListeArticles = this.epicerieInventaireFilter.typeListeArticlesEpicerie;\r\n this.epicerieInventaireFilter.selectedTypeListeArticle = this.epicerieInventaireFilter.selectedTypeListeArticles[0];\r\n break;\r\n case INVENTAIRE_LABEL:\r\n this.epicerieInventaireFilter.selectedTypeListeArticles = this.epicerieInventaireFilter.typeListeArticlesInventaire;\r\n this.epicerieInventaireFilter.selectedTypeListeArticle = this.epicerieInventaireFilter.selectedTypeListeArticles[0];\r\n break;\r\n }\r\n }\r\n\r\n // Print methods\r\n getCommandeRepasMatriceDeChoix() {\r\n this.matriceDeChoixFilter.downloading = true;\r\n const report$ = this.reportingService\r\n .getCommandeRepasMatriceDeChoix(this.cuisineCentraleId, this.restaurantId, this.matriceDeChoixFilter.selectedLieuCommande.id, this.matriceDeChoixFilter.getDate(), false).pipe(\r\n debounceTime(1000),\r\n first(),\r\n finalize(() => {\r\n this.matriceDeChoixFilter.downloading = false;\r\n }));\r\n\r\n this.reportingService.handleReportResponse(report$);\r\n }\r\n getEtatCommandeInventaireReport() {\r\n const partName = this.epicerieInventaireFilter.type.toLowerCase();\r\n this.epicerieInventaireFilter.downloading = true;\r\n const report$ = this.reportingService\r\n .getEtatCommandeInventaireReport(this.cuisineCentraleId, this.contrat.id, this.epicerieInventaireFilter.selectedTypeListeArticle.id, this.epicerieInventaireFilter.startDate, this.epicerieInventaireFilter.endDate).pipe(\r\n debounceTime(1000),\r\n first(),\r\n finalize(() => {\r\n this.epicerieInventaireFilter.downloading = false;\r\n }));\r\n\r\n this.reportingService.handleReportResponse(report$);\r\n }\r\n\r\n getBilanCommandeRepasOuPiqueNiqueReport() {\r\n const namePart = this.commandeRepasFilter.isPiqueNique ? 'Bilan_commande_piquenique' : 'Bilan_commande_repas';\r\n const fileName = `${namePart}_${DateHelper.toShortDateString(this.commandeRepasFilter.startDate)}_${DateHelper.toShortDateString(this.commandeRepasFilter.endDate)}.xlsx`;\r\n this.commandeRepasFilter.downloading = true;\r\n const report$ = this.reportingService.getBilanCommandeRepasOuPiqueNiqueReportForAllRestaurant(this.cuisineCentraleId, this.contrat, this.commandeRepasFilter.startDate, this.commandeRepasFilter.endDate, this.commandeRepasFilter.isPiqueNique).pipe(\r\n debounceTime(1000), // TODO Pourquoi un Debounce en aval du téléchargement??\r\n finalize(() => {\r\n this.commandeRepasFilter.downloading = false;\r\n }),\r\n first());\r\n\r\n this.reportingService.handleReportResponse(report$);\r\n }\r\n\r\n\r\n downloadButtonText(isDownloading: boolean): string {\r\n return isDownloading ? 'Téléchargement...' : 'Extraire';\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./reporting.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../loader/loader.component.ngfactory\";\nimport * as i3 from \"../loader/loader.component\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"../date-input/date-input.component.ngfactory\";\nimport * as i7 from \"../shared/pipes/error-pretty-date.pipe\";\nimport * as i8 from \"../date-input/date-input.component\";\nimport * as i9 from \"../repas/export-bilan-repas/export-bilan-repas.component.ngfactory\";\nimport * as i10 from \"../repas/export-bilan-repas/export-bilan-repas.component\";\nimport * as i11 from \"../repas/services/commande-repas.service\";\nimport * as i12 from \"../shared/services/application-data.service\";\nimport * as i13 from \"../shared/services/authentication/authentication.service\";\nimport * as i14 from \"./services/reporting.service\";\nimport * as i15 from \"../repas/export-ecarts/export-ecarts.component.ngfactory\";\nimport * as i16 from \"../repas/export-ecarts/export-ecarts.component\";\nimport * as i17 from \"../odg-reporting/exports-odg/exports-odg.component.ngfactory\";\nimport * as i18 from \"../odg-reporting/exports-odg/exports-odg.component\";\nimport * as i19 from \"../odg-reporting/services/odgReporting.service\";\nimport * as i20 from \"../bon-livraison/export-non-conformites/export-non-conformites.component.ngfactory\";\nimport * as i21 from \"../bon-livraison/export-non-conformites/export-non-conformites.component\";\nimport * as i22 from \"../bon-livraison/services/bon-livraison.service\";\nimport * as i23 from \"../bon-livraison/export-manques/export-manques.component.ngfactory\";\nimport * as i24 from \"../bon-livraison/export-manques/export-manques.component\";\nimport * as i25 from \"../alertes/components/export-enquetes/export-enquetes.component.ngfactory\";\nimport * as i26 from \"../alertes/components/export-enquetes/export-enquetes.component\";\nimport * as i27 from \"../alertes/services/alertes.service\";\nimport * as i28 from \"../discussion/export-suivi-qualite/export-suivi-qualite.component.ngfactory\";\nimport * as i29 from \"../discussion/export-suivi-qualite/export-suivi-qualite.component\";\nimport * as i30 from \"../discussion/services/discussion.service\";\nimport * as i31 from \"./reporting.component\";\nimport * as i32 from \"../shared/services/api/logo/logo-route.service\";\nimport * as i33 from \"../epicerie-inventaire/services/epicerie-inventaire.service\";\nimport * as i34 from \"../shared/services/interaction.service\";\nvar styles_ReportingComponent = [i0.styles];\nvar RenderType_ReportingComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ReportingComponent, data: {} });\nexport { RenderType_ReportingComponent as RenderType_ReportingComponent };\nfunction View_ReportingComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container overlay\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"T\\u00E9l\\u00E9chargement du rapport\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"T\\u00E9l\\u00E9chargement du rapport\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ReportingComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ReportingComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"select\", [[\"class\", \"input-group selector\"], [\"name\", \"selectedTypeListeArticle\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 1).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.epicerieInventaireFilter.selectedTypeListeArticle = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(3, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(5, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_5)), i1.ɵdid(7, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"selectedTypeListeArticle\"; var currVal_8 = _co.epicerieInventaireFilter.selectedTypeListeArticle; _ck(_v, 3, 0, currVal_7, currVal_8); var currVal_9 = _co.epicerieInventaireFilter.selectedTypeListeArticles; _ck(_v, 7, 0, currVal_9); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 5).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 5).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 5).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 5).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 5).ngClassValid; var currVal_5 = i1.ɵnov(_v, 5).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 5).ngClassPending; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ReportingComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Il n'y a pas d'article correspondant \"]))], null, null); }\nfunction View_ReportingComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 44, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Recherche\"])), (_l()(), i1.ɵeld(3, 0, null, null, 14, \"div\", [[\"class\", \"input-group dates-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 6, \"app-date-input\", [[\"id\", \"epicerie-start-date\"], [\"name\", \"epicerie-start-date\"], [\"placeholder\", \"D\\u00E9but\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.epicerieInventaireFilter.startDate = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(6, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(8, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(10, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(11, 0, null, null, 6, \"app-date-input\", [[\"id\", \"epicerie-end-date\"], [\"name\", \"epicerie-end-date\"], [\"placeholder\", \"Fin\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.epicerieInventaireFilter.endDate = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_DateInputComponent_0, i6.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i7.ErrorPrettyDatePipe, i7.ErrorPrettyDatePipe, []), i1.ɵdid(13, 4243456, null, 0, i8.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i8.DateInputComponent]), i1.ɵdid(15, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(17, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(18, 0, null, null, 22, \"div\", [[\"class\", \"input-group type-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(19, 0, null, null, 10, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 6, \"input\", [[\"name\", \"epicerie-inventaire-type\"], [\"type\", \"radio\"], [\"value\", \"Epicerie\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 21)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 21).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 21)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 21)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 22).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 22).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_co.epicerieInventaireFilter.type = $event) !== false);\n ad = (pd_6 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_7 = (_co.epicerieInventaireFilter.epicerieInventaireEmitter.next() !== false);\n ad = (pd_7 && ad);\n } return ad; }, null, null)), i1.ɵdid(21, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(22, 212992, null, 0, i4.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i4.ɵangular_packages_forms_forms_o, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i4.DefaultValueAccessor, i4.RadioControlValueAccessor]), i1.ɵdid(24, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(26, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(27, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(28, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Epicerie\"])), (_l()(), i1.ɵeld(30, 0, null, null, 10, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(31, 0, null, null, 6, \"input\", [[\"name\", \"epicerie-inventaire-type\"], [\"type\", \"radio\"], [\"value\", \"Inventaire\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 32)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 32).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 32)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 32)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 33).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 33).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_co.epicerieInventaireFilter.type = $event) !== false);\n ad = (pd_6 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_7 = (_co.epicerieInventaireFilter.epicerieInventaireEmitter.next() !== false);\n ad = (pd_7 && ad);\n } return ad; }, null, null)), i1.ɵdid(32, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(33, 212992, null, 0, i4.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i4.ɵangular_packages_forms_forms_o, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i4.DefaultValueAccessor, i4.RadioControlValueAccessor]), i1.ɵdid(35, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(37, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(38, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(39, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Inventaire\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_4)), i1.ɵdid(42, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_6)), i1.ɵdid(44, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.dateCalendarData; var currVal_8 = \"D\\u00E9but\"; _ck(_v, 6, 0, currVal_7, currVal_8); var currVal_9 = \"epicerie-start-date\"; var currVal_10 = _co.epicerieInventaireFilter.startDate; _ck(_v, 8, 0, currVal_9, currVal_10); var currVal_18 = _co.dateCalendarData; var currVal_19 = \"Fin\"; _ck(_v, 13, 0, currVal_18, currVal_19); var currVal_20 = \"epicerie-end-date\"; var currVal_21 = _co.epicerieInventaireFilter.endDate; _ck(_v, 15, 0, currVal_20, currVal_21); var currVal_29 = \"epicerie-inventaire-type\"; var currVal_30 = \"Epicerie\"; _ck(_v, 22, 0, currVal_29, currVal_30); var currVal_31 = \"epicerie-inventaire-type\"; var currVal_32 = _co.epicerieInventaireFilter.type; _ck(_v, 24, 0, currVal_31, currVal_32); var currVal_40 = \"epicerie-inventaire-type\"; var currVal_41 = \"Inventaire\"; _ck(_v, 33, 0, currVal_40, currVal_41); var currVal_42 = \"epicerie-inventaire-type\"; var currVal_43 = _co.epicerieInventaireFilter.type; _ck(_v, 35, 0, currVal_42, currVal_43); var currVal_44 = _co.epicerieInventaireFilter.selectedTypeListeArticle; _ck(_v, 42, 0, currVal_44); var currVal_45 = !_co.epicerieInventaireFilter.selectedTypeListeArticle; _ck(_v, 44, 0, currVal_45); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 10).ngClassValid; var currVal_5 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_11 = i1.ɵnov(_v, 17).ngClassUntouched; var currVal_12 = i1.ɵnov(_v, 17).ngClassTouched; var currVal_13 = i1.ɵnov(_v, 17).ngClassPristine; var currVal_14 = i1.ɵnov(_v, 17).ngClassDirty; var currVal_15 = i1.ɵnov(_v, 17).ngClassValid; var currVal_16 = i1.ɵnov(_v, 17).ngClassInvalid; var currVal_17 = i1.ɵnov(_v, 17).ngClassPending; _ck(_v, 11, 0, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17); var currVal_22 = i1.ɵnov(_v, 26).ngClassUntouched; var currVal_23 = i1.ɵnov(_v, 26).ngClassTouched; var currVal_24 = i1.ɵnov(_v, 26).ngClassPristine; var currVal_25 = i1.ɵnov(_v, 26).ngClassDirty; var currVal_26 = i1.ɵnov(_v, 26).ngClassValid; var currVal_27 = i1.ɵnov(_v, 26).ngClassInvalid; var currVal_28 = i1.ɵnov(_v, 26).ngClassPending; _ck(_v, 20, 0, currVal_22, currVal_23, currVal_24, currVal_25, currVal_26, currVal_27, currVal_28); var currVal_33 = i1.ɵnov(_v, 37).ngClassUntouched; var currVal_34 = i1.ɵnov(_v, 37).ngClassTouched; var currVal_35 = i1.ɵnov(_v, 37).ngClassPristine; var currVal_36 = i1.ɵnov(_v, 37).ngClassDirty; var currVal_37 = i1.ɵnov(_v, 37).ngClassValid; var currVal_38 = i1.ɵnov(_v, 37).ngClassInvalid; var currVal_39 = i1.ɵnov(_v, 37).ngClassPending; _ck(_v, 31, 0, currVal_33, currVal_34, currVal_35, currVal_36, currVal_37, currVal_38, currVal_39); }); }\nfunction View_ReportingComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_2)), i1.ɵdid(2, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_3)), i1.ɵdid(4, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 2, \"div\", [[\"class\", \"input-group bottom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.getEtatCommandeInventaireReport() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(7, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.epicerieInventaireFilter.downloading; _ck(_v, 2, 0, currVal_0); var currVal_1 = !_co.epicerieInventaireFilter.downloading; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = (_co.epicerieInventaireFilter.downloading || (_co.epicerieInventaireFilter.selectedTypeListeArticle == null)); _ck(_v, 6, 0, currVal_2); var currVal_3 = _co.downloadButtonText(_co.epicerieInventaireFilter.downloading); _ck(_v, 7, 0, currVal_3); }); }\nfunction View_ReportingComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Pr\\u00E9paration du formulaire\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Pr\\u00E9paration du formulaire\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ReportingComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container overlay\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"T\\u00E9l\\u00E9chargement du rapport\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"T\\u00E9l\\u00E9chargement du rapport\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_ReportingComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ReportingComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"select\", [[\"class\", \"input-group selector\"], [\"name\", \"matrice-lieuCmd\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 1).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.matriceDeChoixFilter.selectedLieuCommande = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(3, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(5, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_12)), i1.ɵdid(7, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"matrice-lieuCmd\"; var currVal_8 = _co.matriceDeChoixFilter.selectedLieuCommande; _ck(_v, 3, 0, currVal_7, currVal_8); var currVal_9 = _co.matriceDeChoixFilter.lieuCommandeList; _ck(_v, 7, 0, currVal_9); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 5).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 5).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 5).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 5).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 5).ngClassValid; var currVal_5 = i1.ɵnov(_v, 5).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 5).ngClassPending; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ReportingComponent_14(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i4.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i4.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i4.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_ReportingComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"select\", [[\"class\", \"input-group selector\"], [\"name\", \"matrice-semaine\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 1).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.matriceDeChoixFilter.selectedSemaine = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i4.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.SelectControlValueAccessor]), i1.ɵdid(3, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(5, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_14)), i1.ɵdid(7, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"matrice-semaine\"; var currVal_8 = _co.matriceDeChoixFilter.selectedSemaine; _ck(_v, 3, 0, currVal_7, currVal_8); var currVal_9 = _co.matriceDeChoixFilter.semaineList; _ck(_v, 7, 0, currVal_9); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 5).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 5).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 5).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 5).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 5).ngClassValid; var currVal_5 = i1.ɵnov(_v, 5).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 5).ngClassPending; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_ReportingComponent_15(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Aucune donn\\u00E9e pour ce restaurant. \"]))], null, null); }\nfunction View_ReportingComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 8, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Recherche\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_11)), i1.ɵdid(4, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_13)), i1.ɵdid(6, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_15)), i1.ɵdid(8, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.matriceDeChoixFilter.lieuCommandeList.length > 1); _ck(_v, 4, 0, currVal_0); var currVal_1 = (_co.matriceDeChoixFilter.semaineList.length > 0); _ck(_v, 6, 0, currVal_1); var currVal_2 = ((_co.matriceDeChoixFilter.semaineList.length == 0) || (_co.matriceDeChoixFilter.lieuCommandeList.length == 0)); _ck(_v, 8, 0, currVal_2); }, null); }\nfunction View_ReportingComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_9)), i1.ɵdid(2, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_10)), i1.ɵdid(4, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 2, \"div\", [[\"class\", \"input-group bottom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.getCommandeRepasMatriceDeChoix() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(7, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.matriceDeChoixFilter.downloading; _ck(_v, 2, 0, currVal_0); var currVal_1 = !_co.matriceDeChoixFilter.downloading; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.matriceDeChoixFilter.downloading; _ck(_v, 6, 0, currVal_2); var currVal_3 = _co.downloadButtonText(_co.matriceDeChoixFilter.downloading); _ck(_v, 7, 0, currVal_3); }); }\nfunction View_ReportingComponent_16(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loading-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Pr\\u00E9paration du formulaire\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Pr\\u00E9paration du formulaire\"; _ck(_v, 2, 0, currVal_0); }, null); }\nexport function View_ReportingComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 39, \"div\", [[\"class\", \"main-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"div\", [[\"class\", \"ribbon\"]], [[4, \"background-image\", null]], null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 37, \"div\", [[\"class\", \"page-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Reporting\"])), (_l()(), i1.ɵeld(5, 0, null, null, 34, \"div\", [[\"class\", \"reportings\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 9, \"fieldset\", [[\"class\", \"reporting\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 3, \"legend\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"i\", [[\"class\", \"material-icons restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"shopping_cart\"])), (_l()(), i1.ɵted(-1, null, [\" \\u00C9PICERIE & INVENTAIRE\"])), (_l()(), i1.ɵeld(11, 0, null, null, 4, \"div\", [[\"class\", \"content\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_1)), i1.ɵdid(13, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_7)), i1.ɵdid(15, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(16, 0, null, null, 1, \"app-export-bilan-repas\", [], null, null, null, i9.View_ExportBilanRepasComponent_0, i9.RenderType_ExportBilanRepasComponent)), i1.ɵdid(17, 245760, null, 0, i10.ExportBilanRepasComponent, [i11.CommandeRepasService, i12.ApplicationDataService, i13.AuthenticationService, i14.ReportingService, i1.ChangeDetectorRef], null, null), (_l()(), i1.ɵeld(18, 0, null, null, 1, \"app-export-ecarts\", [], null, null, null, i15.View_ExportEcartsComponent_0, i15.RenderType_ExportEcartsComponent)), i1.ɵdid(19, 245760, null, 0, i16.ExportEcartsComponent, [i11.CommandeRepasService, i12.ApplicationDataService, i13.AuthenticationService, i14.ReportingService], null, null), (_l()(), i1.ɵeld(20, 0, null, null, 9, \"fieldset\", [[\"class\", \"reporting\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(21, 0, null, null, 3, \"legend\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(22, 0, null, null, 1, \"i\", [[\"class\", \"material-icons restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"toc\"])), (_l()(), i1.ɵted(-1, null, [\" MATRICE DE CHOIX\"])), (_l()(), i1.ɵeld(25, 0, null, null, 4, \"div\", [[\"class\", \"content\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_8)), i1.ɵdid(27, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ReportingComponent_16)), i1.ɵdid(29, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(30, 0, null, null, 1, \"app-exports-odg\", [], null, null, null, i17.View_ExportsOdgComponent_0, i17.RenderType_ExportsOdgComponent)), i1.ɵdid(31, 245760, null, 0, i18.ExportsOdgComponent, [i12.ApplicationDataService, i13.AuthenticationService, i14.ReportingService, i19.OdgReportingService, i1.ChangeDetectorRef], null, null), (_l()(), i1.ɵeld(32, 0, null, null, 1, \"app-export-non-conformites\", [], null, null, null, i20.View_ExportNonConformitesComponent_0, i20.RenderType_ExportNonConformitesComponent)), i1.ɵdid(33, 245760, null, 0, i21.ExportNonConformitesComponent, [i22.BonLivraisonService, i12.ApplicationDataService, i13.AuthenticationService, i14.ReportingService], null, null), (_l()(), i1.ɵeld(34, 0, null, null, 1, \"app-export-manques\", [], null, null, null, i23.View_ExportManquesComponent_0, i23.RenderType_ExportManquesComponent)), i1.ɵdid(35, 245760, null, 0, i24.ExportManquesComponent, [i22.BonLivraisonService, i12.ApplicationDataService, i13.AuthenticationService, i14.ReportingService], null, null), (_l()(), i1.ɵeld(36, 0, null, null, 1, \"app-export-enquetes\", [], null, null, null, i25.View_ExportEnquetesComponent_0, i25.RenderType_ExportEnquetesComponent)), i1.ɵdid(37, 245760, null, 0, i26.ExportEnquetesComponent, [i12.ApplicationDataService, i13.AuthenticationService, i27.AlertesService, i14.ReportingService], null, null), (_l()(), i1.ɵeld(38, 0, null, null, 1, \"app-export-suivi-qualite\", [], null, null, null, i28.View_ExportSuiviQualiteComponent_0, i28.RenderType_ExportSuiviQualiteComponent)), i1.ɵdid(39, 245760, null, 0, i29.ExportSuiviQualiteComponent, [i12.ApplicationDataService, i13.AuthenticationService, i30.DiscussionService, i14.ReportingService], null, null)], function (_ck, _v) { var _co = _v.component; var currVal_1 = !_co.epicerieInventaireFilter.loadingData; _ck(_v, 13, 0, currVal_1); var currVal_2 = _co.epicerieInventaireFilter.loadingData; _ck(_v, 15, 0, currVal_2); _ck(_v, 17, 0); _ck(_v, 19, 0); var currVal_3 = _co.matriceDeChoixFilter; _ck(_v, 27, 0, currVal_3); var currVal_4 = !_co.matriceDeChoixFilter; _ck(_v, 29, 0, currVal_4); _ck(_v, 31, 0); _ck(_v, 33, 0); _ck(_v, 35, 0); _ck(_v, 37, 0); _ck(_v, 39, 0); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((\"url(\" + _co.logoContratUrl) + \")\"); _ck(_v, 1, 0, currVal_0); }); }\nexport function View_ReportingComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-reporting\", [], null, null, null, View_ReportingComponent_0, RenderType_ReportingComponent)), i1.ɵdid(1, 245760, null, 0, i31.ReportingComponent, [i12.ApplicationDataService, i32.LogoRouteService, i33.EpicerieInventaireService, i11.CommandeRepasService, i34.InteractionService, i14.ReportingService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar ReportingComponentNgFactory = i1.ɵccf(\"app-reporting\", i31.ReportingComponent, View_ReportingComponent_Host_0, {}, {}, []);\nexport { ReportingComponentNgFactory as ReportingComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"@charset \\\"UTF-8\\\"; .reportings{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column} .reportings fieldset.reporting{box-sizing:border-box;border:1px solid #ccc;margin:8px 20px}@media only screen and (min-width:600px){ .reportings{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:row;flex-direction:row} .reportings fieldset.reporting{margin:20px;min-height:330px}}@media only screen and (min-width:768px){ .reportings fieldset.reporting{width:auto;min-width:320px;margin-left:0;margin-top:0}} .reportings fieldset.reporting .input-group{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:1em} .reportings fieldset.reporting .input-group>*{margin-top:0;margin-bottom:0} .reportings fieldset.reporting .input-group .input-group-label{margin-right:10px} .reportings fieldset.reporting .input-group .input-group-input{-ms-flex-positive:1;flex-grow:1} .reportings fieldset.reporting .content{box-sizing:border-box;margin-top:-1.5em;height:100%;width:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-positive:1;flex-grow:1;padding:1em 10px 5px} .reportings fieldset.reporting .content>:first-child{margin-top:.5em} .reportings fieldset.reporting h3{margin:.5em 0} .reportings fieldset.reporting .loading-container{-ms-flex-positive:2;flex-grow:2;background:#fff;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-item-align:center;align-self:center} .reportings fieldset.reporting .loading-container.overlay{display:relative;background:rgba(255,255,255,.2)} .reportings fieldset.reporting legend{font-size:1.5em;overflow:hidden;text-transform:uppercase} .reportings fieldset.reporting legend>i{color:#696969} .reportings fieldset.reporting .selector{height:30px} .reportings fieldset.reporting .dates-container, .reportings fieldset.reporting .type-container{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start} .reportings fieldset.reporting .dates-container input.date-input, .reportings fieldset.reporting .type-container input.date-input{width:105px} .reportings fieldset.reporting .dates-container>:not(:first-child), .reportings fieldset.reporting .type-container>:not(:first-child){margin-left:15px} .reportings fieldset.reporting .bottom{display:-ms-flexbox;display:flex;-ms-flex-item-align:end;align-self:flex-end;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:end;align-items:flex-end}\"];\nexport { styles as styles };\n","
\n
\n
\n
\n

Reporting

\n
\n\n
\n shopping_cart ÉPICERIE & INVENTAIRE\n
\n \n
\n \n
\n \n

Recherche

\n
\n \n \n
\n
\n \n \n
\n \n
\n Il n'y a pas d'article correspondant\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n\n \n\n \n\n
\n toc MATRICE DE CHOIX\n
\n \n
\n \n
\n \n

Recherche

\n \n \n \n \n \n
\n Aucune donnée pour ce restaurant.\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n\n \n \n \n \n \n\n
\n
\n
\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { BonLivraisonStatut } from '../models/bon-livraison.model';\r\n\r\n@Pipe({ name: 'formatBonLivraisonStatut' })\r\nexport class FormatBonLivraisonStatutPipe implements PipeTransform {\r\n transform(value: BonLivraisonStatut): string {\r\n return this.formatBonLivraisonStatut(value);\r\n }\r\n\r\n private formatBonLivraisonStatut(statut: BonLivraisonStatut): string {\r\n switch (statut) {\r\n case BonLivraisonStatut.ALivrer:\r\n return 'À livrer';\r\n case BonLivraisonStatut.AReceptionner:\r\n return 'À réceptionner';\r\n case BonLivraisonStatut.Manque:\r\n return 'Manque';\r\n case BonLivraisonStatut.Conforme:\r\n return 'Conforme';\r\n case BonLivraisonStatut.ManqueCloture:\r\n return 'Clôturé auto. (Manque)';\r\n case BonLivraisonStatut.AReceptionnerCloture:\r\n return 'Clôturé auto. (À réceptionner)';\r\n case BonLivraisonStatut.NonConforme:\r\n return 'Non conforme';\r\n }\r\n return status;\r\n }\r\n\r\n}\r\n","export enum BonLivraisonApiErrorCodes {\r\n BonLivraisonNotFound = 4044\r\n}\r\n","import { Component, OnInit, Input, HostBinding, ElementRef, ViewChild, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { PopupCustomComponentBase } from '../../popup-custom/popup-custom-content.component';\r\nimport { BonLivraisonService } from '../services/bon-livraison.service';\r\nimport { Router } from '@angular/router';\r\nimport { NotificationModel } from '../../shared/models/notification.model';\r\nimport { InteractionService } from '../../shared/services/interaction.service';\r\nimport { ErrorApiModel } from '../../shared/models/api/error/error.apimodel';\r\nimport { BonLivraisonApiErrorCodes } from '../models/api/bon-livraison-api-error-codes';\r\nimport { BonLivraisonStatut } from '../models/bon-livraison.model';\r\n// import Quagga from \"quagga\";\r\n\r\nconst QUAGGA_DEFAULT_CONFIG = {\r\n inputStream: {\r\n name: 'Live',\r\n type: 'LiveStream',\r\n target: null,\r\n constraints: {\r\n width: { min: 640 },\r\n height: { min: 480 },\r\n aspectRatio: { min: 1, max: 100 },\r\n facingMode: 'environment', // or user\r\n },\r\n singleChannel: false // true: only the red color-channel is read\r\n },\r\n locator: {\r\n patchSize: 'large', // \"medium\",\r\n halfSample: true\r\n },\r\n locate: true,\r\n numOfWorkers: 4,\r\n decoder: {\r\n readers: ['code_39_reader'],\r\n debug: {\r\n drawBoundingBox: true,\r\n showFrequency: true,\r\n drawScanline: true,\r\n showPattern: true\r\n }\r\n }\r\n} as any; // TODO faire un resultLocator pour filtrer sur le format désiré https://github.com/serratus/quaggaJS/blob/master/example/live_w_locator.js\r\n\r\nconst BARCODE_TYPES = [\r\n 'code_128',\r\n 'code_39',\r\n 'code_39_vin',\r\n 'ean',\r\n 'ean_extended',\r\n 'ean_8',\r\n 'upc',\r\n 'upc_e',\r\n 'codabar',\r\n 'i2of5',\r\n '2of5',\r\n 'code_93'\r\n];\r\n\r\nfunction mapToReader(value) {\r\n return [value + '_reader'];\r\n}\r\n\r\n@Component({\r\n selector: 'app-popup-search-code-barre',\r\n templateUrl: './popup-search-code-barre.component.html',\r\n styleUrls: ['./popup-search-code-barre.component.scss']\r\n})\r\nexport class PopupSearchCodeBarreComponent extends PopupCustomComponentBase implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @ViewChild('inputCodeBarre', { static: true })\r\n private _inputCodeBarre: ElementRef;\r\n\r\n @ViewChild('barcodeScanner', { static: true })\r\n private _barcodeScanner: ElementRef;\r\n\r\n public isLoading: boolean = false;\r\n\r\n public codeBarre: string;\r\n\r\n private configQuagga = QUAGGA_DEFAULT_CONFIG;\r\n\r\n\r\n constructor(\r\n private bonLivraisonService: BonLivraisonService,\r\n private router: Router,\r\n private interactionService: InteractionService) {\r\n\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n // Quagga.onProcessed((result) => this.onProcessed(result));\r\n\r\n // Quagga.onDetected((result) => this.onDetected(result));\r\n\r\n // (this.configQuagga.inputStream as any).target = this._barcodeScanner.nativeElement;\r\n\r\n // // if (this.type) {\r\n // // this.configQuagga.decoder.readers = mapToReader(this.type);\r\n // // }\r\n\r\n // Quagga.init(this.configQuagga,\r\n // (err) => {\r\n // if (err) {\r\n // console.log(err);\r\n // }\r\n // Quagga.start();\r\n // });\r\n }\r\n\r\n ngOnDestroy() {\r\n // Quagga.stop();\r\n }\r\n\r\n onProcessed(result: any): any {\r\n // const drawingCtx = Quagga.canvas.ctx.overlay;\r\n // const drawingCanvas = Quagga.canvas.dom.overlay;\r\n\r\n // if (result) {\r\n // if (result.boxes) {\r\n // drawingCtx.clearRect(0, 0, parseInt(drawingCanvas.getAttribute(\"width\"), 10), parseInt(drawingCanvas.getAttribute(\"height\"), 10));\r\n // result.boxes.filter(function (box) {\r\n // return box !== result.box;\r\n // }).forEach(function (box) {\r\n // Quagga.ImageDebug.drawPath(box, {\r\n // x: 0,\r\n // y: 1,\r\n // }, drawingCtx, {\r\n // color: \"green\",\r\n // lineWidth: 2,\r\n // });\r\n // });\r\n // }\r\n\r\n // if (result.box) {\r\n // Quagga.ImageDebug.drawPath(result.box, {\r\n // x: 0,\r\n // y: 1,\r\n // }, drawingCtx, {\r\n // color: \"#00F\",\r\n // lineWidth: 2,\r\n // });\r\n // }\r\n\r\n // if (result.codeResult && result.codeResult.code) {\r\n // Quagga.ImageDebug.drawPath(result.line, {\r\n // x: \"x\",\r\n // y: \"y\",\r\n // }, drawingCtx, {\r\n // color: \"red\",\r\n // lineWidth: 3,\r\n // });\r\n // }\r\n\r\n // }\r\n }\r\n\r\n onDetected(result) {\r\n const code = result.codeResult.code;\r\n // this.valueChanges.next({code});\r\n const log = `barcode read : ${code}`;\r\n console.log(log);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._inputCodeBarre.nativeElement.focus();\r\n }\r\n\r\n searchBonLivraison() {\r\n const codeBonLivraison = (this.data.cuisineCode + '-' + this.codeBarre).toUpperCase();\r\n this.isLoading = true;\r\n\r\n this.bonLivraisonService.getBonLivraison(codeBonLivraison)\r\n .subscribe(\r\n bonLivraison => {\r\n this.isLoading = false;\r\n this.hide();\r\n\r\n if (bonLivraison.statut === BonLivraisonStatut.ALivrer) {\r\n this.router.navigate(['/bonlivraison/livraison/' + codeBonLivraison], { queryParams: {} });\r\n } else {\r\n this.router.navigate(['/bonlivraison/details/' + codeBonLivraison], { queryParams: {} });\r\n }\r\n },\r\n (error: ErrorApiModel) => {\r\n this.isLoading = false;\r\n\r\n if (error.Code === BonLivraisonApiErrorCodes.BonLivraisonNotFound) {\r\n this.interactionService.showSimpleMessage(`Bon de livraison ${codeBonLivraison} inconnu`, 'Veuillez saisir un autre code.');\r\n } else {\r\n const notifModel = new NotificationModel();\r\n notifModel.title = 'Erreur';\r\n notifModel.message = 'Erreur de chargement du bon : \\n' + error.Message;\r\n this.interactionService.showNotification(notifModel);\r\n }\r\n\r\n }\r\n );\r\n }\r\n\r\n hide() {\r\n this.emitter.next();\r\n }\r\n}\r\n","\r\nimport { Component, EventEmitter, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport * as moment from 'moment';\r\nimport { debounceTime, switchMap } from 'rxjs/operators';\r\nimport { DatePickerInfo } from '../date-input/date-input.component';\r\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\nimport { ErrorApiModel } from '../shared/models/api/error/error.apimodel';\r\nimport { NotificationCustomModel, NotificationModel } from '../shared/models/notification.model';\r\nimport { LogoRouteService } from '../shared/services/api/logo/logo-route.service';\r\nimport { ApplicationDataService } from '../shared/services/application-data.service';\r\nimport { InteractionService } from '../shared/services/interaction.service';\r\nimport { BonLivraisonListModel } from './models/bon-livraison-list.model';\r\nimport { BonLivraisonStatut } from './models/bon-livraison.model';\r\nimport { PopupSearchCodeBarreComponent } from './popup-search-code-barre/popup-search-code-barre.component';\r\nimport { BonLivraisonService } from './services/bon-livraison.service';\r\n\r\n@Component({\r\n selector: 'app-bon-livraison',\r\n templateUrl: './bon-livraison.component.html',\r\n styleUrls: ['./bon-livraison.component.scss']\r\n})\r\nexport class BonLivraisonComponent implements OnInit {\r\n\r\n public BonLivraisonStatutEnum: typeof BonLivraisonStatut = BonLivraisonStatut; // declare enum property to allow use in component template. see: http://stackoverflow.com/a/40034109/590741\r\n public startDate: Date;\r\n public endDate: Date;\r\n\r\n public currentType: RestaurantTypeEnum;\r\n public dateCalendarData: DatePickerInfo;\r\n public contratPicture: string = '';\r\n\r\n private askLoadListeBLsEmitter: EventEmitter = new EventEmitter();\r\n public listeBonsLivraison: BonLivraisonListModel[] = new Array();\r\n\r\n public isLoadingBonsLivraison: boolean = false;\r\n\r\n private cuisineId: number;\r\n private cuisineCode: string;\r\n private contratId: number;\r\n private restaurantId: number;\r\n\r\n constructor(\r\n private router: Router,\r\n private logoService: LogoRouteService,\r\n private appDataService: ApplicationDataService,\r\n private bonLivraisonService: BonLivraisonService,\r\n private interactionService: InteractionService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.startDate = moment().add(-1, 'days').toDate(); // date d'hier\r\n this.endDate = moment().add(1, 'days').toDate(); // Jusqu\"à demain (+1 jour)\r\n this.dateCalendarData = {\r\n minDate: moment().year(1970).startOf('year').toDate()\r\n };\r\n\r\n this.appDataService.contrat$.subscribe(\r\n contrat => {\r\n if (contrat != null) {\r\n this.contratPicture = this.logoService.GetPicture2Url(contrat.id, contrat.cuisineCentraleId);\r\n }\r\n }\r\n );\r\n\r\n this.appDataService.restaurant$.subscribe(\r\n restaurant => {\r\n if (restaurant != null) {\r\n this.currentType = restaurant.type;\r\n this.restaurantId = restaurant.id;\r\n this.contratId = restaurant.contratId;\r\n this.cuisineId = restaurant.cuisineCentraleId;\r\n this.cuisineCode = restaurant.cuisineCentraleCode;\r\n this.askLoadListeBLs();\r\n }\r\n }\r\n );\r\n\r\n this.askLoadListeBLsEmitter.pipe(\r\n debounceTime(500),\r\n switchMap(() => {\r\n this.isLoadingBonsLivraison = true;\r\n return this.bonLivraisonService.getBonsLivraisonListe(this.cuisineId, this.contratId, this.restaurantId, this.startDate, this.endDate);\r\n }))\r\n .subscribe(bons => {\r\n this.listeBonsLivraison = bons;\r\n this.isLoadingBonsLivraison = false;\r\n },\r\n (error: ErrorApiModel) => {\r\n this.isLoadingBonsLivraison = false;\r\n\r\n const notifModel = new NotificationModel();\r\n notifModel.title = 'Erreur';\r\n notifModel.message = 'Une erreur est survenue lors du chargement des bons : \\n' + error.Message;\r\n this.interactionService.showNotification(notifModel);\r\n }\r\n );\r\n\r\n this.askLoadListeBLs();\r\n }\r\n\r\n askLoadListeBLs() {\r\n this.askLoadListeBLsEmitter.emit();\r\n }\r\n\r\n navigateToDetails(codeBarre: string) {\r\n this.router.navigate(['/bonlivraison/details/' + codeBarre], { queryParams: {} });\r\n }\r\n\r\n searchBonsLivraison($event: any) {\r\n this.askLoadListeBLs();\r\n }\r\n\r\n OpenAjouterBL() {\r\n const notif: NotificationCustomModel = new NotificationCustomModel();\r\n notif.id = 1;\r\n notif.title = 'Rechercher un bon de livraison';\r\n notif.type = PopupSearchCodeBarreComponent;\r\n notif.data = { currentType: this.currentType, cuisineCode: this.cuisineCode };\r\n notif.fullScreen = false;\r\n\r\n this.interactionService.showNotification(notif);\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./bon-livraison.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../loader/loader.component.ngfactory\";\nimport * as i3 from \"../loader/loader.component\";\nimport * as i4 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"../shared/pipes/dateFormat.pipe\";\nimport * as i7 from \"./pipes/format-bon-livraison-statut.pipe\";\nimport * as i8 from \"@angular/forms\";\nimport * as i9 from \"../date-input/date-input.component.ngfactory\";\nimport * as i10 from \"../shared/pipes/error-pretty-date.pipe\";\nimport * as i11 from \"../date-input/date-input.component\";\nimport * as i12 from \"./bon-livraison.component\";\nimport * as i13 from \"@angular/router\";\nimport * as i14 from \"../shared/services/api/logo/logo-route.service\";\nimport * as i15 from \"../shared/services/application-data.service\";\nimport * as i16 from \"./services/bon-livraison.service\";\nimport * as i17 from \"../shared/services/interaction.service\";\nvar styles_BonLivraisonComponent = [i0.styles];\nvar RenderType_BonLivraisonComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_BonLivraisonComponent, data: {} });\nexport { RenderType_BonLivraisonComponent as RenderType_BonLivraisonComponent };\nfunction View_BonLivraisonComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"info-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement...\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_BonLivraisonComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"thead\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 6, \"tr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"th\", [[\"class\", \"codeBarre\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Code\"])), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"th\", [[\"class\", \"dateConsommation\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Consommation\"])), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"th\", [[\"class\", \"etatReception\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Etat\"]))], null, null); }\nfunction View_BonLivraisonComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"tr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"td\", [[\"class\", \"container-no-result\"], [\"colspan\", \"3\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Aucune r\\u00E9ception trouv\\u00E9e sur cette plage de dates \"]))], null, null); }\nfunction View_BonLivraisonComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 13, \"tr\", [[\"class\", \"pointerHover\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.navigateToDetails(_v.context.$implicit.code) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i4.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"background\": 1, \"hover\": 2, \"isSecondary\": 3 }), (_l()(), i1.ɵeld(3, 0, null, null, 2, \"td\", [[\"class\", \"codeBarre-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"])), (_l()(), i1.ɵeld(6, 0, null, null, 3, \"td\", [[\"class\", \"dateConsommation-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 2, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(8, null, [\"\", \"\"])), i1.ɵppd(9, 1), (_l()(), i1.ɵeld(10, 0, null, null, 3, \"td\", [[\"class\", \"etat-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 2, \"span\", [], [[8, \"className\", 0]], null, null, null, null)), (_l()(), i1.ɵted(12, null, [\" \", \" \"])), i1.ɵppd(13, 1)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 2, 0, _co.currentType, true, true, true); _ck(_v, 1, 0, currVal_0); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = _v.context.$implicit.code; _ck(_v, 5, 0, currVal_1); var currVal_2 = i1.ɵunv(_v, 8, 0, _ck(_v, 9, 0, i1.ɵnov(_v.parent.parent, 0), _v.context.$implicit.dateConsommation)); _ck(_v, 8, 0, currVal_2); var currVal_3 = i1.ɵinlineInterpolate(1, \"statut-text-bon-livraison statut-dot statut-\", _co.BonLivraisonStatutEnum[_v.context.$implicit.statut], \"\"); _ck(_v, 11, 0, currVal_3); var currVal_4 = i1.ɵunv(_v, 12, 0, _ck(_v, 13, 0, i1.ɵnov(_v.parent.parent, 1), _v.context.$implicit.statut)); _ck(_v, 12, 0, currVal_4); }); }\nfunction View_BonLivraisonComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"table\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonLivraisonComponent_3)), i1.ɵdid(2, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 4, \"tbody\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonLivraisonComponent_4)), i1.ɵdid(5, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonLivraisonComponent_5)), i1.ɵdid(7, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.listeBonsLivraison && (_co.listeBonsLivraison.length != 0)); _ck(_v, 2, 0, currVal_0); var currVal_1 = (!_co.listeBonsLivraison || (_co.listeBonsLivraison.length == 0)); _ck(_v, 5, 0, currVal_1); var currVal_2 = _co.listeBonsLivraison; _ck(_v, 7, 0, currVal_2); }, null); }\nexport function View_BonLivraisonComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i6.DateFormatPipe, []), i1.ɵpid(0, i7.FormatBonLivraisonStatutPipe, []), (_l()(), i1.ɵeld(2, 0, null, null, 46, \"div\", [[\"class\", \"main-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 0, \"div\", [[\"class\", \"ribbon\"]], [[4, \"background-image\", null]], null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 2, \"div\", [[\"class\", \"buttons-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"div\", [[\"class\", \"float-button\"], [\"title\", \"Valider\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.OpenAjouterBL() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 0, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 41, \"div\", [[\"class\", \"page-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"R\\u00E9ceptions\"])), (_l()(), i1.ɵeld(10, 0, null, null, 30, \"div\", [[\"class\", \"left-side\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 1, \"span\", [[\"class\", \"title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Recherche\"])), (_l()(), i1.ɵeld(13, 0, null, null, 27, \"form\", [[\"class\", \"content-container search-form\"], [\"novalidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 15).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 15).onReset() !== false);\n ad = (pd_1 && ad);\n } if ((\"submit\" === en)) {\n var pd_2 = (_co.searchBonsLivraison($event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(14, 16384, null, 0, i8.ɵangular_packages_forms_forms_z, [], null, null), i1.ɵdid(15, 4210688, null, 0, i8.NgForm, [[8, null], [8, null]], null, null), i1.ɵprd(2048, null, i8.ControlContainer, null, [i8.NgForm]), i1.ɵdid(17, 16384, null, 0, i8.NgControlStatusGroup, [[4, i8.ControlContainer]], null, null), (_l()(), i1.ɵeld(18, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Date de consommation \"])), (_l()(), i1.ɵeld(20, 0, null, null, 14, \"div\", [[\"class\", \"sub-container dates-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(21, 0, null, null, 6, \"app-date-input\", [[\"id\", \"start-date\"], [\"name\", \"start-date\"], [\"placeholder\", \"D\\u00E9but\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.startDate = $event) !== false);\n ad = (pd_0 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_1 = (_co.askLoadListeBLs() !== false);\n ad = (pd_1 && ad);\n } return ad; }, i9.View_DateInputComponent_0, i9.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i10.ErrorPrettyDatePipe, i10.ErrorPrettyDatePipe, []), i1.ɵdid(23, 4243456, null, 0, i11.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i8.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i11.DateInputComponent]), i1.ɵdid(25, 671744, null, 0, i8.NgModel, [[2, i8.ControlContainer], [8, null], [8, null], [6, i8.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i8.NgControl, null, [i8.NgModel]), i1.ɵdid(27, 16384, null, 0, i8.NgControlStatus, [[4, i8.NgControl]], null, null), (_l()(), i1.ɵeld(28, 0, null, null, 6, \"app-date-input\", [[\"id\", \"end-date\"], [\"name\", \"end-date\"], [\"placeholder\", \"Fin\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.endDate = $event) !== false);\n ad = (pd_0 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_1 = (_co.askLoadListeBLs() !== false);\n ad = (pd_1 && ad);\n } return ad; }, i9.View_DateInputComponent_0, i9.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i10.ErrorPrettyDatePipe, i10.ErrorPrettyDatePipe, []), i1.ɵdid(30, 4243456, null, 0, i11.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i8.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i11.DateInputComponent]), i1.ɵdid(32, 671744, null, 0, i8.NgModel, [[2, i8.ControlContainer], [8, null], [8, null], [6, i8.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i8.NgControl, null, [i8.NgModel]), i1.ɵdid(34, 16384, null, 0, i8.NgControlStatus, [[4, i8.NgControl]], null, null), (_l()(), i1.ɵeld(35, 0, null, null, 5, \"div\", [[\"class\", \"sub-container buttons-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(36, 0, null, null, 4, \"button\", [[\"class\", \"generic-button plus-button\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.OpenAjouterBL() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(37, 16384, null, 0, i4.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(38, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(39, 0, null, null, 0, \"span\", [[\"class\", \"plus\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"R\\u00E9ceptionner\"])), (_l()(), i1.ɵeld(41, 0, null, null, 7, \"div\", [[\"class\", \"results-container right-side\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(42, 0, null, null, 1, \"span\", [[\"class\", \"title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Liste des r\\u00E9ceptions\"])), (_l()(), i1.ɵeld(44, 0, null, null, 4, \"div\", [[\"class\", \"results-list content-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonLivraisonComponent_1)), i1.ɵdid(46, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonLivraisonComponent_2)), i1.ɵdid(48, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_15 = _co.dateCalendarData; var currVal_16 = \"D\\u00E9but\"; _ck(_v, 23, 0, currVal_15, currVal_16); var currVal_17 = \"start-date\"; var currVal_18 = _co.startDate; _ck(_v, 25, 0, currVal_17, currVal_18); var currVal_26 = _co.dateCalendarData; var currVal_27 = \"Fin\"; _ck(_v, 30, 0, currVal_26, currVal_27); var currVal_28 = \"end-date\"; var currVal_29 = _co.endDate; _ck(_v, 32, 0, currVal_28, currVal_29); var currVal_30 = _ck(_v, 38, 0, _co.currentType, true); _ck(_v, 37, 0, currVal_30); var currVal_31 = _co.isLoadingBonsLivraison; _ck(_v, 46, 0, currVal_31); var currVal_32 = !_co.isLoadingBonsLivraison; _ck(_v, 48, 0, currVal_32); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((\"url(\" + _co.contratPicture) + \")\"); _ck(_v, 3, 0, currVal_0); var currVal_1 = i1.ɵnov(_v, 17).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 17).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 17).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 17).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 17).ngClassValid; var currVal_6 = i1.ɵnov(_v, 17).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 17).ngClassPending; _ck(_v, 13, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); var currVal_8 = i1.ɵnov(_v, 27).ngClassUntouched; var currVal_9 = i1.ɵnov(_v, 27).ngClassTouched; var currVal_10 = i1.ɵnov(_v, 27).ngClassPristine; var currVal_11 = i1.ɵnov(_v, 27).ngClassDirty; var currVal_12 = i1.ɵnov(_v, 27).ngClassValid; var currVal_13 = i1.ɵnov(_v, 27).ngClassInvalid; var currVal_14 = i1.ɵnov(_v, 27).ngClassPending; _ck(_v, 21, 0, currVal_8, currVal_9, currVal_10, currVal_11, currVal_12, currVal_13, currVal_14); var currVal_19 = i1.ɵnov(_v, 34).ngClassUntouched; var currVal_20 = i1.ɵnov(_v, 34).ngClassTouched; var currVal_21 = i1.ɵnov(_v, 34).ngClassPristine; var currVal_22 = i1.ɵnov(_v, 34).ngClassDirty; var currVal_23 = i1.ɵnov(_v, 34).ngClassValid; var currVal_24 = i1.ɵnov(_v, 34).ngClassInvalid; var currVal_25 = i1.ɵnov(_v, 34).ngClassPending; _ck(_v, 28, 0, currVal_19, currVal_20, currVal_21, currVal_22, currVal_23, currVal_24, currVal_25); }); }\nexport function View_BonLivraisonComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-bon-livraison\", [], null, null, null, View_BonLivraisonComponent_0, RenderType_BonLivraisonComponent)), i1.ɵdid(1, 114688, null, 0, i12.BonLivraisonComponent, [i13.Router, i14.LogoRouteService, i15.ApplicationDataService, i16.BonLivraisonService, i17.InteractionService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar BonLivraisonComponentNgFactory = i1.ɵccf(\"app-bon-livraison\", i12.BonLivraisonComponent, View_BonLivraisonComponent_Host_0, {}, {}, []);\nexport { BonLivraisonComponentNgFactory as BonLivraisonComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".main-container[_ngcontent-%COMP%] .statut-dot[_ngcontent-%COMP%]::before{content:\\\"\\\";font-size:4em;display:inline-block;width:.2em;height:.2em;border:.05em solid transparent;position:relative;border-radius:.35em;margin-bottom:-.05em;margin-right:.1em}.main-container[_ngcontent-%COMP%] .statut-ALivrer.statut-dot[_ngcontent-%COMP%]::before, .main-container[_ngcontent-%COMP%] .statut-AReceptionner.statut-dot[_ngcontent-%COMP%]::before, .main-container[_ngcontent-%COMP%] .statut-Manque.statut-dot[_ngcontent-%COMP%]::before{border-color:#ff9407}.main-container[_ngcontent-%COMP%] .statut-Conforme.statut-dot[_ngcontent-%COMP%]::before{border-color:#28a745}.main-container[_ngcontent-%COMP%] .statut-AReceptionnerCloture.statut-dot[_ngcontent-%COMP%]::before, .main-container[_ngcontent-%COMP%] .statut-ManqueCloture.statut-dot[_ngcontent-%COMP%]::before{border-color:#b56000}.main-container[_ngcontent-%COMP%] .statut-NonConforme.statut-dot[_ngcontent-%COMP%]::before{border-color:#dc3545}.main-container[_ngcontent-%COMP%] .left-side[_ngcontent-%COMP%]{padding:20px}.main-container[_ngcontent-%COMP%] .left-side[_ngcontent-%COMP%] .error-box[_ngcontent-%COMP%]{margin:12px}.main-container[_ngcontent-%COMP%] .left-side[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%]{position:relative}.main-container[_ngcontent-%COMP%] .left-side[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-size:18px}.main-container[_ngcontent-%COMP%] .left-side[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] .sub-container[_ngcontent-%COMP%]{margin-top:10px;height:40px;margin-bottom:20px;width:100%}.main-container[_ngcontent-%COMP%] .left-side[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] .info-container[_ngcontent-%COMP%]{position:absolute;top:0;left:0;background:#fff;z-index:10}.main-container[_ngcontent-%COMP%] .left-side[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] .dates-container[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{display:block;width:47%}.main-container[_ngcontent-%COMP%] .left-side[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] .dates-container[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(1){float:left}.main-container[_ngcontent-%COMP%] .left-side[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] .dates-container[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(2){float:right}.main-container[_ngcontent-%COMP%] .left-side[_ngcontent-%COMP%] span.plus[_ngcontent-%COMP%]{margin-right:10px}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%]{background-color:#f2f2f1}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%]{text-align:left;padding-bottom:20px}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%], .main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{line-height:44px}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child, .main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child{padding-left:20px}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:last-child, .main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:last-child{padding-right:20px}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{border:none}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-size:18px}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%]{border:none;white-space:nowrap}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{font-size:17px}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(odd){background-color:#fff}@media only screen and (min-width:768px){.main-container[_ngcontent-%COMP%] .left-side[_ngcontent-%COMP%]{min-height:50px;padding:0}.main-container[_ngcontent-%COMP%] .left-side[_ngcontent-%COMP%] .error-box[_ngcontent-%COMP%]{margin:12px 0 0}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%]{background-color:#fff}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%]{margin-top:10px}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{border:1px solid #e6e6e6}.main-container[_ngcontent-%COMP%] .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(odd){background-color:#f2f2f1}}.main-container[_ngcontent-%COMP%] .container-no-result[_ngcontent-%COMP%]{text-align:center}.main-container[_ngcontent-%COMP%] .statut-text-bon-livraison[_ngcontent-%COMP%]{margin-left:10px}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Réceptions

\r\n
\r\n Recherche\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Liste des réceptions\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
CodeConsommationEtat
Aucune réception trouvée sur cette plage de dates
\r\n
{{ bonLivraison.code }}
\r\n
\r\n
{{ bonLivraison.dateConsommation | dateFormat }}
\r\n
\r\n {{ bonLivraison.statut | formatBonLivraisonStatut }} \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { StringHelper } from 'src/app/shared/helpers/string.helper';\r\n\r\n@Pipe({ name: 'formatTemperature' })\r\nexport class FormatTemperaturePipe implements PipeTransform {\r\n transform(value: number, unit: string = null): string {\r\n if (value != null) {\r\n const formatted = StringHelper.formatDecimal(value, 0, 2);\r\n return `${formatted}${unit ? ' ' + unit : ''}`;\r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, ViewEncapsulation } from '@angular/core';\r\nimport { BonLivraisonPlatModel } from '../../models/bon-livraison-plat.model';\r\nimport { BonLivraisonSettingsModel } from '../../models/bon-livraison-settings.model';\r\nimport { toNumber, round } from 'lodash';\r\nimport { BonLivraisonTemperatureStatus } from '../../models/bon-livraison-temperature-status.model';\r\nimport { BonLivraisonService } from '../../services/bon-livraison.service';\r\n\r\n@Component({\r\n selector: 'app-livraison-temperature',\r\n templateUrl: './livraison-temperature.component.html',\r\n styleUrls: ['./livraison-temperature.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LivraisonTemperatureComponent implements OnInit {\r\n\r\n // Calcule la conformité de la température\r\n public get temperatureStatus(): BonLivraisonTemperatureStatus {\r\n if (!this.settings || !this.plat) { return BonLivraisonTemperatureStatus.NA; }\r\n\r\n return this._bonLivraisonService.computeTemperatureStatus(this.plat.livraisonTemperature, this.settings);\r\n }\r\n\r\n @Input()\r\n public plat: BonLivraisonPlatModel;\r\n @Input()\r\n public settings: BonLivraisonSettingsModel;\r\n\r\n @Input()\r\n public isModifiable: boolean = true;\r\n @Input()\r\n public step: number = 0.1;\r\n\r\n // declare enum property to allow use in component template. see: http://stackoverflow.com/a/40034109/590741\r\n public TemperatureStatusEnum: typeof BonLivraisonTemperatureStatus = BonLivraisonTemperatureStatus; // tslint:disable-line: variable-name\r\n\r\n constructor(private _bonLivraisonService: BonLivraisonService) { }\r\n\r\n ngOnInit() { }\r\n\r\n public incrementTemperature(increment: number): void {\r\n let newTemperature = (this.plat.livraisonTemperature === null)\r\n ? 0 // au premier incrément on défini à zéro\r\n : (this.plat.livraisonTemperature + increment);\r\n // on utilise lodash pour faire l'arrondi pour éviter certaines erreurs avec les floats javascript. see:https://www.jacklmoore.com/notes/rounding-in-javascript/\r\n newTemperature = round(newTemperature, 1);\r\n this.plat.livraisonTemperature = newTemperature;\r\n }\r\n\r\n public parseTemperature(value: string) {\r\n value = (value || '').replace('°C', '').replace(',', '.');\r\n value = value.trim();\r\n const temp = (value.length > 0) ? toNumber(value) : null; // NaN si contient du text\r\n this.plat.livraisonTemperature = isNaN(temp) ? null : round(temp, 1);\r\n }\r\n}\r\n\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./livraison-temperature.component.scss.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"../../pipes/format-temperature.pipe\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"./livraison-temperature.component\";\nimport * as i6 from \"../../services/bon-livraison.service\";\nvar styles_LivraisonTemperatureComponent = [i0.styles];\nvar RenderType_LivraisonTemperatureComponent = i1.ɵcrt({ encapsulation: 2, styles: styles_LivraisonTemperatureComponent, data: {} });\nexport { RenderType_LivraisonTemperatureComponent as RenderType_LivraisonTemperatureComponent };\nfunction View_LivraisonTemperatureComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 13, \"div\", [[\"class\", \"input-temperature-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 2, \"button\", [[\"class\", \"generic-button inputPlusMoins input-moins\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.incrementTemperature((_co.step * (0 - 1))) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"remove\"])), (_l()(), i1.ɵeld(5, 0, null, null, 6, \"input\", [[\"placeholder\", \"T\\u00B0C\"], [\"type\", \"text\"]], [[8, \"className\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 6)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 6).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 6)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 6)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = (_co.parseTemperature($event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(6, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.DefaultValueAccessor]), i1.ɵdid(8, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵppd(9, 1), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(11, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(12, 0, null, null, 2, \"button\", [[\"class\", \"generic-button inputPlusMoins input-plus\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.incrementTemperature(_co.step) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(13, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"add\"]))], function (_ck, _v) { var _co = _v.component; var currVal_8 = i1.ɵunv(_v, 8, 0, _ck(_v, 9, 0, i1.ɵnov(_v.parent, 0), _co.plat.livraisonTemperature)); _ck(_v, 8, 0, currVal_8); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵinlineInterpolate(1, \"inputTemperature temperature temperature-color-\", _co.TemperatureStatusEnum[_co.temperatureStatus], \"\"); var currVal_1 = i1.ɵnov(_v, 11).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 11).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 11).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 11).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 11).ngClassValid; var currVal_6 = i1.ɵnov(_v, 11).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 11).ngClassPending; _ck(_v, 5, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); }); }\nfunction View_LivraisonTemperatureComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"span\", [], [[8, \"className\", 0]], null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \"\"])), i1.ɵppd(2, 2)], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵinlineInterpolate(1, \"temperature temperature-color-\", _co.TemperatureStatusEnum[_co.temperatureStatus], \"\"); _ck(_v, 0, 0, currVal_0); var currVal_1 = i1.ɵunv(_v, 1, 0, _ck(_v, 2, 0, i1.ɵnov(_v.parent, 0), _co.plat.livraisonTemperature, \"\\u00B0C\")); _ck(_v, 1, 0, currVal_1); }); }\nexport function View_LivraisonTemperatureComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i3.FormatTemperaturePipe, []), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonTemperatureComponent_1)), i1.ɵdid(2, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"], ngIfElse: [1, \"ngIfElse\"] }, null), (_l()(), i1.ɵand(0, [[\"elseTemplate\", 2]], null, 0, null, View_LivraisonTemperatureComponent_2))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isModifiable; var currVal_1 = i1.ɵnov(_v, 3); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nexport function View_LivraisonTemperatureComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-livraison-temperature\", [], null, null, null, View_LivraisonTemperatureComponent_0, RenderType_LivraisonTemperatureComponent)), i1.ɵdid(1, 114688, null, 0, i5.LivraisonTemperatureComponent, [i6.BonLivraisonService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar LivraisonTemperatureComponentNgFactory = i1.ɵccf(\"app-livraison-temperature\", i5.LivraisonTemperatureComponent, View_LivraisonTemperatureComponent_Host_0, { plat: \"plat\", settings: \"settings\", isModifiable: \"isModifiable\", step: \"step\" }, {}, []);\nexport { LivraisonTemperatureComponentNgFactory as LivraisonTemperatureComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".temperature-color-NA.temperature{color:#6c757d}.temperature-color-Conforme.temperature{color:#28a745}.temperature-color-Tolere.temperature{color:#ff9407}.temperature-color-NonConforme.temperature{color:#dc3545}.temperature{font-family:sans-serif}.input-temperature-container{display:-ms-flexbox;display:flex;width:130px}.input-temperature-container .inputTemperature{text-align:center;font-size:14pt;min-width:45px;border:1px solid #7b7979}.input-temperature-container .inputPlusMoins{display:-ms-inline-flexbox;display:inline-flex}.input-temperature-container .inputPlusMoins.input-moins{border-radius:5px 0 0 5px}.input-temperature-container .inputPlusMoins.input-plus{border-radius:0 5px 5px 0}\"];\nexport { styles as styles };\n","\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {{ plat.livraisonTemperature | formatTemperature:'°C' }}\r\n\r\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { DatePickerInfo } from 'src/app/date-input/date-input.component';\r\nimport { BonLivraisonPlatModel } from '../../models/bon-livraison-plat.model';\r\nimport { BonLivraisonDLCStatus } from '../../models/bon-livraison-dlc-status.model';\r\nimport { BonLivraisonService } from '../../services/bon-livraison.service';\r\n\r\n@Component({\r\n selector: 'app-livraison-dlc',\r\n templateUrl: './livraison-dlc.component.html',\r\n styleUrls: ['./livraison-dlc.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LivraisonDlcComponent implements OnInit {\r\n\r\n // Calcule la conformité de la DLC\r\n public get dlcStatus(): BonLivraisonDLCStatus {\r\n if (!this.plat || !this.plat.livraisonDLC || !this.dateDLCMin) {\r\n return BonLivraisonDLCStatus.NA;\r\n }\r\n\r\n return this._bonLivraisonService.computeDLCStatus(this.plat.livraisonDLC, this.dateDLCMin);\r\n }\r\n\r\n @Input()\r\n public plat: BonLivraisonPlatModel;\r\n @Input()\r\n public dateDLCMin: Date;\r\n @Input()\r\n public isModifiable: boolean;\r\n\r\n public dateCalendarData: DatePickerInfo = {\r\n minDate: moment().add(-1, 'year').startOf('year').toDate(),\r\n maxDate: moment().add(3, 'year').endOf('year').toDate(),\r\n showClearButton: true\r\n };\r\n\r\n // declare enum property to allow use in component template. see: http://stackoverflow.com/a/40034109/590741\r\n public DLCStatusEnum: typeof BonLivraisonDLCStatus = BonLivraisonDLCStatus; // tslint:disable-line: variable-name\r\n\r\n constructor(private _bonLivraisonService: BonLivraisonService) { }\r\n\r\n\r\n ngOnInit() { }\r\n\r\n}\r\n\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./livraison-dlc.component.scss.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../date-input/date-input.component.ngfactory\";\nimport * as i3 from \"../../../shared/pipes/error-pretty-date.pipe\";\nimport * as i4 from \"../../../date-input/date-input.component\";\nimport * as i5 from \"@angular/forms\";\nimport * as i6 from \"../../../shared/pipes/dateFormat.pipe\";\nimport * as i7 from \"@angular/common\";\nimport * as i8 from \"./livraison-dlc.component\";\nimport * as i9 from \"../../services/bon-livraison.service\";\nvar styles_LivraisonDlcComponent = [i0.styles];\nvar RenderType_LivraisonDlcComponent = i1.ɵcrt({ encapsulation: 2, styles: styles_LivraisonDlcComponent, data: {} });\nexport { RenderType_LivraisonDlcComponent as RenderType_LivraisonDlcComponent };\nfunction View_LivraisonDlcComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 6, \"app-date-input\", [[\"placeholder\", \"DLC/DDM\"]], [[8, \"id\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.plat.livraisonDLC = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_DateInputComponent_0, i2.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i3.ErrorPrettyDatePipe, i3.ErrorPrettyDatePipe, []), i1.ɵdid(3, 4243456, null, 0, i4.DateInputComponent, [i1.ElementRef, i1.Renderer2], { disabled: [0, \"disabled\"], calendarInfo: [1, \"calendarInfo\"], placeholder: [2, \"placeholder\"], class: [3, \"class\"] }, null), i1.ɵprd(1024, null, i5.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.DateInputComponent]), i1.ɵdid(5, 671744, null, 0, i5.NgModel, [[8, null], [8, null], [8, null], [6, i5.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], isDisabled: [1, \"isDisabled\"], model: [2, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i5.NgControl, null, [i5.NgModel]), i1.ɵdid(7, 16384, null, 0, i5.NgControlStatus, [[4, i5.NgControl]], null, null)], function (_ck, _v) { var _co = _v.component; var currVal_8 = !_co.isModifiable; var currVal_9 = _co.dateCalendarData; var currVal_10 = \"DLC/DDM\"; var currVal_11 = i1.ɵinlineInterpolate(1, \"dlc dlc-color-\", _co.DLCStatusEnum[_co.dlcStatus], \"\"); _ck(_v, 3, 0, currVal_8, currVal_9, currVal_10, currVal_11); var currVal_12 = i1.ɵinlineInterpolate(1, \"\", _co.plat.bonLivraisonPlatId, \"_DLC\"); var currVal_13 = !_co.isModifiable; var currVal_14 = _co.plat.livraisonDLC; _ck(_v, 5, 0, currVal_12, currVal_13, currVal_14); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵinlineInterpolate(1, \"\", _co.plat.bonLivraisonPlatId, \"_DLC\"); var currVal_1 = i1.ɵnov(_v, 7).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 7).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 7).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 7).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 7).ngClassValid; var currVal_6 = i1.ɵnov(_v, 7).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 7).ngClassPending; _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); }); }\nfunction View_LivraisonDlcComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"span\", [], [[8, \"className\", 0]], null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \"\"])), i1.ɵppd(2, 1)], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵinlineInterpolate(1, \"dlc dlc-color-\", _co.DLCStatusEnum[_co.dlcStatus], \"\"); _ck(_v, 0, 0, currVal_0); var currVal_1 = i1.ɵunv(_v, 1, 0, _ck(_v, 2, 0, i1.ɵnov(_v.parent, 0), _co.plat.livraisonDLC)); _ck(_v, 1, 0, currVal_1); }); }\nexport function View_LivraisonDlcComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i6.DateFormatPipe, []), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonDlcComponent_1)), i1.ɵdid(2, 16384, null, 0, i7.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"], ngIfElse: [1, \"ngIfElse\"] }, null), (_l()(), i1.ɵand(0, [[\"elseTemplate\", 2]], null, 0, null, View_LivraisonDlcComponent_2))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isModifiable; var currVal_1 = i1.ɵnov(_v, 3); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nexport function View_LivraisonDlcComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-livraison-dlc\", [], null, null, null, View_LivraisonDlcComponent_0, RenderType_LivraisonDlcComponent)), i1.ɵdid(1, 114688, null, 0, i8.LivraisonDlcComponent, [i9.BonLivraisonService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar LivraisonDlcComponentNgFactory = i1.ɵccf(\"app-livraison-dlc\", i8.LivraisonDlcComponent, View_LivraisonDlcComponent_Host_0, { plat: \"plat\", dateDLCMin: \"dateDLCMin\", isModifiable: \"isModifiable\" }, {}, []);\nexport { LivraisonDlcComponentNgFactory as LivraisonDlcComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".dlc-color-NA.dlc{color:#6c757d}.dlc-color-Conforme.dlc{color:#28a745}.dlc-color-NonConforme.dlc{color:#dc3545}.dlc{font-family:sans-serif}.dlc.date-input{width:110px;height:34px}\"];\nexport { styles as styles };\n","\r\n \r\n\r\n\r\n {{ plat.livraisonDLC | dateFormat}}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ReceptionStatut, BonLivraisonModel, LivraisonStatut } from '../models/bon-livraison.model';\r\nimport { BonLivraisonService } from '../services/bon-livraison.service';\r\n\r\n@Pipe({ name: 'formatLivraisonStatut' })\r\nexport class FormatLivraisonStatutPipe implements PipeTransform {\r\n\r\n constructor(private _bonLivraisonService: BonLivraisonService) { }\r\n\r\n transform(value: BonLivraisonModel): string {\r\n let result = this.formatStatut(value.livraisonStatut);\r\n\r\n if (value.livraisonStatut === LivraisonStatut.NonConforme) {\r\n const hasDlcFault = this._bonLivraisonService.checkHasDlcFault(value);\r\n const hasTemperatureFault = this._bonLivraisonService.checkHasTemperatureFault(value);\r\n\r\n const faults: string[] = [];\r\n if (hasDlcFault) { faults.push('DLC'); }\r\n if (hasTemperatureFault) { faults.push('°C'); }\r\n\r\n if (faults.length > 0) {\r\n result += ` (${faults.join(', ')})`;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private formatStatut(statut: LivraisonStatut): string {\r\n switch (statut) {\r\n case LivraisonStatut.NonLivre: return 'Non livré';\r\n case LivraisonStatut.Conforme: return 'Conforme';\r\n case LivraisonStatut.NonConforme: return 'Non conforme';\r\n }\r\n return status;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ReceptionStatut } from '../models/bon-livraison.model';\r\n\r\n@Pipe({ name: 'formatReceptionStatut' })\r\nexport class FormatReceptionStatutPipe implements PipeTransform {\r\n transform(value: ReceptionStatut): string {\r\n return this.format(value);\r\n }\r\n\r\n private format(statut: ReceptionStatut): string {\r\n switch (statut) {\r\n case ReceptionStatut.NA: return 'Non réceptionné';\r\n case ReceptionStatut.Valide: return 'Valide';\r\n case ReceptionStatut.Manque: return 'Manque';\r\n case ReceptionStatut.Excedent: return 'Excédent';\r\n }\r\n return status;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MiseEnConformiteStatut } from '../models/bon-livraison.model';\r\n\r\n@Pipe({ name: 'formatMiseEnConformiteStatut' })\r\nexport class FormatMiseEnConformiteStatutPipe implements PipeTransform {\r\n transform(value: MiseEnConformiteStatut): string {\r\n return this.format(value);\r\n }\r\n\r\n private format(statut: MiseEnConformiteStatut): string {\r\n switch (statut) {\r\n case MiseEnConformiteStatut.NA: return 'Non applicable';\r\n case MiseEnConformiteStatut.ARelivrer: return 'Re-livraison';\r\n case MiseEnConformiteStatut.Conforme: return 'Conforme';\r\n case MiseEnConformiteStatut.NonConforme: return 'Non conforme';\r\n }\r\n return status;\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { BonLivraisonModel, BonLivraisonStatut, ReceptionStatut, MiseEnConformiteStatut, LivraisonStatut } from '../models/bon-livraison.model';\r\n\r\n@Component({\r\n selector: 'app-bon-livraison-info-header',\r\n templateUrl: './bon-livraison-info-header.component.html',\r\n styleUrls: ['./bon-livraison-info-header.component.scss']\r\n})\r\nexport class BonLivraisonInfoHeaderComponent implements OnInit {\r\n\r\n @Input()\r\n public bonLivraison: BonLivraisonModel;\r\n\r\n public BonLivraisonStatutEnum: typeof BonLivraisonStatut = BonLivraisonStatut; // declare enum property to allow use in component template. see: http://stackoverflow.com/a/40034109/590741\r\n public LivraisonStatutEnum: typeof LivraisonStatut = LivraisonStatut; // declare enum property to allow use in component template. see: http://stackoverflow.com/a/40034109/590741\r\n public ReceptionStatutEnum: typeof ReceptionStatut = ReceptionStatut; // declare enum property to allow use in component template. see: http://stackoverflow.com/a/40034109/590741\r\n public MiseEnConformiteStatutEnum: typeof MiseEnConformiteStatut = MiseEnConformiteStatut; // declare enum property to allow use in component template. see: http://stackoverflow.com/a/40034109/590741\r\n\r\n public isInfoBonCollapsed: boolean = true;\r\n\r\n public get notifyDateFinReceptionExpired() {\r\n return this.bonLivraison\r\n && this.bonLivraison.dateFinReceptionExpired\r\n && !this.bonLivraison.dateClotureExpired;\r\n }\r\n\r\n public get notifyDateClotureExpired() {\r\n // on met en évidence la Clotûre lorsque le bon a été cloturé automatiquement (statut ConformeCloture)\r\n return this.bonLivraison\r\n && this.bonLivraison.dateClotureExpired\r\n && (this.bonLivraison.statut === BonLivraisonStatut.AReceptionnerCloture\r\n || this.bonLivraison.statut === BonLivraisonStatut.ManqueCloture);\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n\r\n toggleInfoBon() {\r\n this.isInfoBonCollapsed = !this.isInfoBonCollapsed;\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./bon-livraison-info-header.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"../../shared/pipes/dateFormat.pipe\";\nimport * as i4 from \"../pipes/format-bon-livraison-statut.pipe\";\nimport * as i5 from \"../pipes/format-livraison-statut.pipe\";\nimport * as i6 from \"../services/bon-livraison.service\";\nimport * as i7 from \"../pipes/format-reception-statut.pipe\";\nimport * as i8 from \"../pipes/format-mise-en-conformite-statut.pipe\";\nimport * as i9 from \"./bon-livraison-info-header.component\";\nvar styles_BonLivraisonInfoHeaderComponent = [i0.styles];\nvar RenderType_BonLivraisonInfoHeaderComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_BonLivraisonInfoHeaderComponent, data: {} });\nexport { RenderType_BonLivraisonInfoHeaderComponent as RenderType_BonLivraisonInfoHeaderComponent };\nfunction View_BonLivraisonInfoHeaderComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 26, \"div\", [[\"class\", \"info-group info-goup-livraison\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 5, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Livraison\"])), (_l()(), i1.ɵeld(4, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"])), i1.ɵppd(6, 1), (_l()(), i1.ɵeld(7, 0, null, null, 6, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Le\"])), (_l()(), i1.ɵeld(10, 0, null, null, 3, \"span\", [[\"class\", \"info-value\"]], [[8, \"title\", 0]], null, null, null, null)), i1.ɵppd(11, 2), (_l()(), i1.ɵted(12, null, [\"\", \"\"])), i1.ɵppd(13, 2), (_l()(), i1.ɵeld(14, 0, null, null, 4, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Par\"])), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(18, null, [\"\", \"\"])), (_l()(), i1.ɵeld(19, 0, null, null, 7, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 3, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Limite de r\\u00E9ception\"])), (_l()(), i1.ɵeld(22, 0, null, null, 1, \"span\", [], [[2, \"date-expired\", null]], null, null, null, null)), (_l()(), i1.ɵted(23, null, [\"\", \"\"])), (_l()(), i1.ɵeld(24, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], [[2, \"date-expired\", null]], null, null, null, null)), (_l()(), i1.ɵted(25, null, [\"\", \"\"])), i1.ɵppd(26, 2)], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵunv(_v, 5, 0, _ck(_v, 6, 0, i1.ɵnov(_v.parent, 2), _co.bonLivraison)); _ck(_v, 5, 0, currVal_0); var currVal_1 = i1.ɵinlineInterpolate(1, \"\", i1.ɵunv(_v, 10, 0, _ck(_v, 11, 0, i1.ɵnov(_v.parent, 0), _co.bonLivraison.livraisonDate, \"DD/MM/YYYY \\u00E0 HH:mm:ss\")), \"\"); _ck(_v, 10, 0, currVal_1); var currVal_2 = i1.ɵunv(_v, 12, 0, _ck(_v, 13, 0, i1.ɵnov(_v.parent, 0), _co.bonLivraison.livraisonDate, \"DD/MM/YYYY HH:mm\")); _ck(_v, 12, 0, currVal_2); var currVal_3 = _co.bonLivraison.livraisonUtilisateur; _ck(_v, 18, 0, currVal_3); var currVal_4 = _co.notifyDateFinReceptionExpired; _ck(_v, 22, 0, currVal_4); var currVal_5 = (_co.notifyDateFinReceptionExpired ? \" (expir\\u00E9e)\" : \"\"); _ck(_v, 23, 0, currVal_5); var currVal_6 = _co.notifyDateFinReceptionExpired; _ck(_v, 24, 0, currVal_6); var currVal_7 = i1.ɵunv(_v, 25, 0, _ck(_v, 26, 0, i1.ɵnov(_v.parent, 0), _co.bonLivraison.dateFinReception, \"DD/MM/YYYY HH:mm\")); _ck(_v, 25, 0, currVal_7); }); }\nfunction View_BonLivraisonInfoHeaderComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 18, \"div\", [[\"class\", \"info-group info-goup-reception\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 5, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"R\\u00E9ception\"])), (_l()(), i1.ɵeld(4, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"])), i1.ɵppd(6, 1), (_l()(), i1.ɵeld(7, 0, null, null, 6, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Le\"])), (_l()(), i1.ɵeld(10, 0, null, null, 3, \"span\", [[\"class\", \"info-value\"]], [[8, \"title\", 0]], null, null, null, null)), i1.ɵppd(11, 2), (_l()(), i1.ɵted(12, null, [\"\", \"\"])), i1.ɵppd(13, 2), (_l()(), i1.ɵeld(14, 0, null, null, 4, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Par\"])), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(18, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵunv(_v, 5, 0, _ck(_v, 6, 0, i1.ɵnov(_v.parent, 3), _co.bonLivraison.receptionStatut)); _ck(_v, 5, 0, currVal_0); var currVal_1 = i1.ɵinlineInterpolate(1, \"\", i1.ɵunv(_v, 10, 0, _ck(_v, 11, 0, i1.ɵnov(_v.parent, 0), _co.bonLivraison.receptionDate, \"DD/MM/YYYY \\u00E0 HH:mm:ss\")), \"\"); _ck(_v, 10, 0, currVal_1); var currVal_2 = i1.ɵunv(_v, 12, 0, _ck(_v, 13, 0, i1.ɵnov(_v.parent, 0), _co.bonLivraison.receptionDate, \"DD/MM/YYYY HH:mm\")); _ck(_v, 12, 0, currVal_2); var currVal_3 = _co.bonLivraison.receptionUtilisateur; _ck(_v, 18, 0, currVal_3); }); }\nfunction View_BonLivraisonInfoHeaderComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"- \", \"\"]))], null, function (_ck, _v) { var currVal_0 = _v.context.$implicit.libelle; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_BonLivraisonInfoHeaderComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 31, \"div\", [[\"class\", \"info-group info-goup-conformite\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 5, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Conformit\\u00E9\"])), (_l()(), i1.ɵeld(4, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"])), i1.ɵppd(6, 1), (_l()(), i1.ɵeld(7, 0, null, null, 6, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Le\"])), (_l()(), i1.ɵeld(10, 0, null, null, 3, \"span\", [[\"class\", \"info-value\"]], [[8, \"title\", 0]], null, null, null, null)), i1.ɵppd(11, 2), (_l()(), i1.ɵted(12, null, [\"\", \"\"])), i1.ɵppd(13, 2), (_l()(), i1.ɵeld(14, 0, null, null, 4, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Par\"])), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(18, null, [\"\", \"\"])), (_l()(), i1.ɵeld(19, 0, null, null, 7, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 3, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cl\\u00F4ture \"])), (_l()(), i1.ɵeld(22, 0, null, null, 1, \"span\", [], [[2, \"date-expired\", null]], null, null, null, null)), (_l()(), i1.ɵted(23, null, [\"\", \"\"])), (_l()(), i1.ɵeld(24, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], [[2, \"date-expired\", null]], null, null, null, null)), (_l()(), i1.ɵted(25, null, [\"\", \"\"])), i1.ɵppd(26, 2), (_l()(), i1.ɵeld(27, 0, null, null, 4, \"div\", [[\"class\", \"info-item container-non-conformites\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(28, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(29, null, [\"Non conformit\\u00E9\", \" :\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonLivraisonInfoHeaderComponent_4)), i1.ɵdid(31, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_9 = _co.bonLivraison.nonConformites; _ck(_v, 31, 0, currVal_9); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵunv(_v, 5, 0, _ck(_v, 6, 0, i1.ɵnov(_v.parent, 4), _co.bonLivraison.miseEnConformiteStatut)); _ck(_v, 5, 0, currVal_0); var currVal_1 = i1.ɵinlineInterpolate(1, \"\", i1.ɵunv(_v, 10, 0, _ck(_v, 11, 0, i1.ɵnov(_v.parent, 0), _co.bonLivraison.miseEnConformiteDate, \"DD/MM/YYYY \\u00E0 HH:mm:ss\")), \"\"); _ck(_v, 10, 0, currVal_1); var currVal_2 = i1.ɵunv(_v, 12, 0, _ck(_v, 13, 0, i1.ɵnov(_v.parent, 0), _co.bonLivraison.miseEnConformiteDate, \"DD/MM/YYYY HH:mm\")); _ck(_v, 12, 0, currVal_2); var currVal_3 = _co.bonLivraison.miseEnConformiteUtilisateur; _ck(_v, 18, 0, currVal_3); var currVal_4 = _co.notifyDateClotureExpired; _ck(_v, 22, 0, currVal_4); var currVal_5 = (_co.notifyDateClotureExpired ? \" (expir\\u00E9e)\" : \"\"); _ck(_v, 23, 0, currVal_5); var currVal_6 = _co.bonLivraison.dateClotureExpired; _ck(_v, 24, 0, currVal_6); var currVal_7 = i1.ɵunv(_v, 25, 0, _ck(_v, 26, 0, i1.ɵnov(_v.parent, 0), _co.bonLivraison.dateCloture, \"DD/MM/YYYY \\u00E0 HH:mm\")); _ck(_v, 25, 0, currVal_7); var currVal_8 = ((_co.bonLivraison.nonConformites.length > 1) ? \"s\" : \"\"); _ck(_v, 29, 0, currVal_8); }); }\nexport function View_BonLivraisonInfoHeaderComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i3.DateFormatPipe, []), i1.ɵpid(0, i4.FormatBonLivraisonStatutPipe, []), i1.ɵpid(0, i5.FormatLivraisonStatutPipe, [i6.BonLivraisonService]), i1.ɵpid(0, i7.FormatReceptionStatutPipe, []), i1.ɵpid(0, i8.FormatMiseEnConformiteStatutPipe, []), (_l()(), i1.ɵeld(5, 0, null, null, 27, \"div\", [[\"class\", \"infos-bon-livraison restaurant-type-background secondary\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 0, \"span\", [[\"class\", \"chevron\"]], [[2, \"down\", null]], null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 18, \"div\", [[\"class\", \"info-header\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.toggleInfoBon() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 17, \"div\", [[\"class\", \"info-group info-group-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 4, \"div\", [[\"class\", \"info-item info-code\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Code\"])), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(13, null, [\"\", \"\"])), (_l()(), i1.ɵeld(14, 0, null, null, 5, \"div\", [[\"class\", \"info-item info-dateConsommation\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Consommation\"])), (_l()(), i1.ɵeld(17, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(18, null, [\"\", \"\"])), i1.ɵppd(19, 1), (_l()(), i1.ɵeld(20, 0, null, null, 5, \"div\", [[\"class\", \"info-item info-statut\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(21, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Statut\"])), (_l()(), i1.ɵeld(23, 0, null, null, 2, \"span\", [], [[8, \"className\", 0]], null, null, null, null)), (_l()(), i1.ɵted(24, null, [\"\", \"\"])), i1.ɵppd(25, 1), (_l()(), i1.ɵeld(26, 0, null, null, 6, \"div\", [[\"class\", \"info-details collapsable\"]], [[2, \"collapsed\", null]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonLivraisonInfoHeaderComponent_1)), i1.ɵdid(28, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonLivraisonInfoHeaderComponent_2)), i1.ɵdid(30, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonLivraisonInfoHeaderComponent_3)), i1.ɵdid(32, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_6 = (_co.bonLivraison.livraisonStatut != _co.LivraisonStatutEnum.NonLivre); _ck(_v, 28, 0, currVal_6); var currVal_7 = (_co.bonLivraison.receptionStatut != _co.ReceptionStatutEnum.NA); _ck(_v, 30, 0, currVal_7); var currVal_8 = (_co.bonLivraison.miseEnConformiteStatut != _co.MiseEnConformiteStatutEnum.NA); _ck(_v, 32, 0, currVal_8); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isInfoBonCollapsed; _ck(_v, 6, 0, currVal_0); var currVal_1 = _co.bonLivraison.code; _ck(_v, 13, 0, currVal_1); var currVal_2 = i1.ɵunv(_v, 18, 0, _ck(_v, 19, 0, i1.ɵnov(_v, 0), _co.bonLivraison.dateConsommation)); _ck(_v, 18, 0, currVal_2); var currVal_3 = i1.ɵinlineInterpolate(1, \"info-value statut-dot statut-\", _co.BonLivraisonStatutEnum[_co.bonLivraison.statut], \"\"); _ck(_v, 23, 0, currVal_3); var currVal_4 = i1.ɵunv(_v, 24, 0, _ck(_v, 25, 0, i1.ɵnov(_v, 1), _co.bonLivraison.statut)); _ck(_v, 24, 0, currVal_4); var currVal_5 = _co.isInfoBonCollapsed; _ck(_v, 26, 0, currVal_5); }); }\nexport function View_BonLivraisonInfoHeaderComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-bon-livraison-info-header\", [], null, null, null, View_BonLivraisonInfoHeaderComponent_0, RenderType_BonLivraisonInfoHeaderComponent)), i1.ɵdid(1, 114688, null, 0, i9.BonLivraisonInfoHeaderComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar BonLivraisonInfoHeaderComponentNgFactory = i1.ɵccf(\"app-bon-livraison-info-header\", i9.BonLivraisonInfoHeaderComponent, View_BonLivraisonInfoHeaderComponent_Host_0, { bonLivraison: \"bonLivraison\" }, {}, []);\nexport { BonLivraisonInfoHeaderComponentNgFactory as BonLivraisonInfoHeaderComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".infos-bon-livraison[_ngcontent-%COMP%] .statut-dot[_ngcontent-%COMP%]::before{content:\\\"\\\";font-size:4em;display:inline-block;border:.05em solid transparent;position:relative;border-radius:.35em;margin-bottom:-.05em;margin-right:.1em}.infos-bon-livraison[_ngcontent-%COMP%] .statut-ALivrer.statut-dot[_ngcontent-%COMP%]::before, .infos-bon-livraison[_ngcontent-%COMP%] .statut-AReceptionner.statut-dot[_ngcontent-%COMP%]::before, .infos-bon-livraison[_ngcontent-%COMP%] .statut-Manque.statut-dot[_ngcontent-%COMP%]::before{border-color:#ff9407}.infos-bon-livraison[_ngcontent-%COMP%] .statut-Conforme.statut-dot[_ngcontent-%COMP%]::before{border-color:#28a745}.infos-bon-livraison[_ngcontent-%COMP%] .statut-AReceptionnerCloture.statut-dot[_ngcontent-%COMP%]::before, .infos-bon-livraison[_ngcontent-%COMP%] .statut-ManqueCloture.statut-dot[_ngcontent-%COMP%]::before{border-color:#b56000}.infos-bon-livraison[_ngcontent-%COMP%] .statut-NonConforme.statut-dot[_ngcontent-%COMP%]::before{border-color:#dc3545}.infos-bon-livraison[_ngcontent-%COMP%] .info-details[_ngcontent-%COMP%], .infos-bon-livraison[_ngcontent-%COMP%] .info-header[_ngcontent-%COMP%], .infos-bon-livraison[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%]{padding:5px 5px 5px 30px;position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background:rgba(255,255,255,.5)}.infos-bon-livraison[_ngcontent-%COMP%] .info-header[_ngcontent-%COMP%]{cursor:pointer}.infos-bon-livraison[_ngcontent-%COMP%] .info-header[_ngcontent-%COMP%]:hover{background:rgba(255,255,255,.7)}.infos-bon-livraison[_ngcontent-%COMP%] .info-details[_ngcontent-%COMP%] .info-group[_ngcontent-%COMP%]{margin-bottom:5px;padding-top:5px;border-top:1px solid #c8c8c8}.infos-bon-livraison[_ngcontent-%COMP%] .info-group[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.infos-bon-livraison[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%]{-ms-flex-negative:0;flex-shrink:0;margin-left:5px;margin-right:50px;width:200px;display:-ms-flexbox;display:flex}.infos-bon-livraison[_ngcontent-%COMP%] .container-non-conformites[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.infos-bon-livraison[_ngcontent-%COMP%] .info-label[_ngcontent-%COMP%]{font-weight:700;display:inline-block;vertical-align:top;padding-right:10px}.infos-bon-livraison[_ngcontent-%COMP%] .info-value[_ngcontent-%COMP%]{display:inline-block;vertical-align:top}.infos-bon-livraison[_ngcontent-%COMP%] .info-code[_ngcontent-%COMP%]{display:none}@media only screen and (min-width:970px){.infos-bon-livraison[_ngcontent-%COMP%] .info-code[_ngcontent-%COMP%]{display:inherit}}.infos-bon-livraison[_ngcontent-%COMP%] .chevron[_ngcontent-%COMP%]{position:absolute;margin:10px;width:10px;height:10px;border-top:2px solid #fff;border-right:2px solid #fff;-ms-transform:rotate(-45deg);transform:rotate(-45deg);transition:.7s ease-in-out;display:block}.infos-bon-livraison[_ngcontent-%COMP%] .chevron.down[_ngcontent-%COMP%]{-ms-transform:rotate(135deg);transform:rotate(135deg)}.infos-bon-livraison[_ngcontent-%COMP%] .collapsable[_ngcontent-%COMP%]{max-height:initial;visibility:visible;opacity:1;overflow:hidden}.infos-bon-livraison[_ngcontent-%COMP%] .collapsable.collapsed[_ngcontent-%COMP%]{max-height:0!important;height:0!important;margin:0!important;padding:0!important}.infos-bon-livraison[_ngcontent-%COMP%] .statut-dot[_ngcontent-%COMP%]::before{width:.15em;height:.15em}\"];\nexport { styles as styles };\n","
\r\n \r\n
\r\n
\r\n
\r\n {{ bonLivraison.code }}\r\n
\r\n
\r\n {{ bonLivraison.dateConsommation | dateFormat}}\r\n
\r\n
\r\n {{ bonLivraison.statut | formatBonLivraisonStatut }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n {{ bonLivraison | formatLivraisonStatut }}\r\n
\r\n
\r\n {{ bonLivraison.livraisonDate | dateFormat:'DD/MM/YYYY HH:mm'}}\r\n
\r\n
\r\n {{ bonLivraison.livraisonUtilisateur}}\r\n
\r\n
\r\n {{ bonLivraison.dateFinReception | dateFormat:'DD/MM/YYYY HH:mm'}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{ bonLivraison.receptionStatut | formatReceptionStatut }}\r\n
\r\n
\r\n {{ bonLivraison.receptionDate | dateFormat:'DD/MM/YYYY HH:mm'}}\r\n
\r\n
\r\n {{ bonLivraison.receptionUtilisateur}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{ bonLivraison.miseEnConformiteStatut | formatMiseEnConformiteStatut }}\r\n
\r\n
\r\n {{ bonLivraison.miseEnConformiteDate | dateFormat:'DD/MM/YYYY HH:mm'}}\r\n
\r\n
\r\n {{ bonLivraison.miseEnConformiteUtilisateur}}\r\n
\r\n
\r\n {{ bonLivraison.dateCloture | dateFormat:'DD/MM/YYYY à HH:mm'}}\r\n
\r\n
\r\n \r\n - {{nonConformite.libelle}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { Component, OnInit, OnChanges, Input, SimpleChanges } from '@angular/core';\r\nimport { BonLivraisonModel, BonLivraisonStatut, ReceptionStatut, MiseEnConformiteStatut, LivraisonStatut } from '../models/bon-livraison.model';\r\nimport { ReleveLivraison, BonLivraisonService } from '../services/bon-livraison.service';\r\nimport { BonLivraisonTemperatureStatus } from '../models/bon-livraison-temperature-status.model';\r\nimport { BonLivraisonDLCStatus } from '../models/bon-livraison-dlc-status.model';\r\n\r\n@Component({\r\n selector: 'app-bonlivraison-info-panel',\r\n templateUrl: './bonlivraison-info-panel.component.html',\r\n styleUrls: ['./bonlivraison-info-panel.component.scss']\r\n})\r\nexport class BonlivraisonInfoPanelComponent implements OnInit, OnChanges {\r\n\r\n @Input() public bonLivraison: BonLivraisonModel;\r\n\r\n // declare enum property to allow use in component template. see: http://stackoverflow.com/a/40034109/590741\r\n public BonLivraisonStatutEnum: typeof BonLivraisonStatut = BonLivraisonStatut; // tslint:disable-line: variable-name\r\n public LivraisonStatutEnum: typeof LivraisonStatut = LivraisonStatut; // tslint:disable-line: variable-name\r\n public ReceptionStatutEnum: typeof ReceptionStatut = ReceptionStatut; // tslint:disable-line: variable-name\r\n public MiseEnConformiteStatutEnum: typeof MiseEnConformiteStatut = MiseEnConformiteStatut; // tslint:disable-line: variable-name\r\n public TemperatureStatusEnum: typeof BonLivraisonTemperatureStatus = BonLivraisonTemperatureStatus; // tslint:disable-line: variable-name\r\n public DLCStatusEnum: typeof BonLivraisonDLCStatus = BonLivraisonDLCStatus; // tslint:disable-line: variable-name\r\n\r\n public releveLivraison: ReleveLivraison;\r\n\r\n public get notifyDateFinReceptionExpired() {\r\n return this.bonLivraison\r\n && this.bonLivraison.dateFinReceptionExpired\r\n && !this.bonLivraison.dateClotureExpired;\r\n }\r\n\r\n public get notifyDateClotureExpired() {\r\n // on met en évidence la Clotûre lorsque le bon a été cloturé automatiquement (statut ConformeCloture)\r\n return this.bonLivraison\r\n && this.bonLivraison.dateClotureExpired\r\n && (this.bonLivraison.statut === BonLivraisonStatut.AReceptionnerCloture\r\n || this.bonLivraison.statut === BonLivraisonStatut.ManqueCloture);\r\n }\r\n\r\n\r\n constructor(private _bonLivraisonService: BonLivraisonService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.releveLivraison = this.bonLivraison && this._bonLivraisonService.getReleveLivraison(this.bonLivraison);\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./bonlivraison-info-panel.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"../../shared/pipes/dateFormat.pipe\";\nimport * as i4 from \"../pipes/format-bon-livraison-statut.pipe\";\nimport * as i5 from \"../pipes/format-livraison-statut.pipe\";\nimport * as i6 from \"../services/bon-livraison.service\";\nimport * as i7 from \"../pipes/format-temperature.pipe\";\nimport * as i8 from \"../pipes/format-reception-statut.pipe\";\nimport * as i9 from \"../pipes/format-mise-en-conformite-statut.pipe\";\nimport * as i10 from \"./bonlivraison-info-panel.component\";\nvar styles_BonlivraisonInfoPanelComponent = [i0.styles];\nvar RenderType_BonlivraisonInfoPanelComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_BonlivraisonInfoPanelComponent, data: {} });\nexport { RenderType_BonlivraisonInfoPanelComponent as RenderType_BonlivraisonInfoPanelComponent };\nfunction View_BonlivraisonInfoPanelComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"commentaire-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h5\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"COMMENTAIRE\"])), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"div\", [[\"class\", \"commentaire\"]], null, null, null, null, null)), (_l()(), i1.ɵted(4, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.bonLivraison.livraisonCommentaire; _ck(_v, 4, 0, currVal_0); }); }\nfunction View_BonlivraisonInfoPanelComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"temperature-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"div\", [], [[8, \"className\", 0]], null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), i1.ɵppd(3, 2), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [[\"class\", \"plat\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵinlineInterpolate(1, \"temperature temperature-color-\", _co.TemperatureStatusEnum[_v.context.$implicit.status], \"\"); _ck(_v, 1, 0, currVal_0); var currVal_1 = i1.ɵunv(_v, 2, 0, _ck(_v, 3, 0, i1.ɵnov(_v.parent.parent.parent, 3), _v.context.$implicit.plat.livraisonTemperature, \"\\u00B0C\")); _ck(_v, 2, 0, currVal_1); var currVal_2 = _v.context.$implicit.plat.libelle; _ck(_v, 5, 0, currVal_2); }); }\nfunction View_BonlivraisonInfoPanelComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"container-temperature\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h5\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"TEMPERATURE\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonlivraisonInfoPanelComponent_4)), i1.ɵdid(4, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.releveLivraison.temperaturePlats; _ck(_v, 4, 0, currVal_0); }, null); }\nfunction View_BonlivraisonInfoPanelComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"dlc-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"div\", [], [[8, \"className\", 0]], null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), i1.ɵppd(3, 1), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [[\"class\", \"plat\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵinlineInterpolate(1, \"dlc dlc-color-\", _co.DLCStatusEnum[_v.context.$implicit.status], \"\"); _ck(_v, 1, 0, currVal_0); var currVal_1 = i1.ɵunv(_v, 2, 0, _ck(_v, 3, 0, i1.ɵnov(_v.parent.parent.parent, 0), _v.context.$implicit.plat.livraisonDLC)); _ck(_v, 2, 0, currVal_1); var currVal_2 = _v.context.$implicit.plat.libelle; _ck(_v, 5, 0, currVal_2); }); }\nfunction View_BonlivraisonInfoPanelComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"container-dlc\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h5\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"DLC/DDM\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonlivraisonInfoPanelComponent_6)), i1.ɵdid(4, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.releveLivraison.dlcPlats; _ck(_v, 4, 0, currVal_0); }, null); }\nfunction View_BonlivraisonInfoPanelComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"signature-image-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"img\", [[\"width\", \"50%\"]], [[8, \"src\", 4]], null, null, null, null))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵinlineInterpolate(1, \"\", _co.bonLivraison.livraisonSignature, \"\"); _ck(_v, 1, 0, currVal_0); }); }\nfunction View_BonlivraisonInfoPanelComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 35, \"div\", [[\"class\", \"info-container livraison\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 25, \"div\", [[\"class\", \"info-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 5, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Livraison\"])), (_l()(), i1.ɵeld(5, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(6, null, [\"\", \"\"])), i1.ɵppd(7, 1), (_l()(), i1.ɵeld(8, 0, null, null, 5, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Le\"])), (_l()(), i1.ɵeld(11, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(12, null, [\"\", \"\"])), i1.ɵppd(13, 2), (_l()(), i1.ɵeld(14, 0, null, null, 4, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Par\"])), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(18, null, [\"\", \"\"])), (_l()(), i1.ɵeld(19, 0, null, null, 7, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 3, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Limite de r\\u00E9ception\"])), (_l()(), i1.ɵeld(22, 0, null, null, 1, \"span\", [], [[2, \"date-expired\", null]], null, null, null, null)), (_l()(), i1.ɵted(23, null, [\"\", \"\"])), (_l()(), i1.ɵeld(24, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], [[2, \"date-expired\", null]], null, null, null, null)), (_l()(), i1.ɵted(25, null, [\"\", \"\"])), i1.ɵppd(26, 2), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonlivraisonInfoPanelComponent_2)), i1.ɵdid(28, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(29, 0, null, null, 4, \"div\", [[\"class\", \"container-releve-livraison\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonlivraisonInfoPanelComponent_3)), i1.ɵdid(31, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonlivraisonInfoPanelComponent_5)), i1.ɵdid(33, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonlivraisonInfoPanelComponent_7)), i1.ɵdid(35, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.bonLivraison.livraisonCommentaire; _ck(_v, 28, 0, currVal_7); var currVal_8 = (_co.releveLivraison && (_co.releveLivraison.temperaturePlats.length > 0)); _ck(_v, 31, 0, currVal_8); var currVal_9 = (_co.releveLivraison && (_co.releveLivraison.dlcPlats.length > 0)); _ck(_v, 33, 0, currVal_9); var currVal_10 = _co.bonLivraison.livraisonSignature; _ck(_v, 35, 0, currVal_10); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵunv(_v, 6, 0, _ck(_v, 7, 0, i1.ɵnov(_v.parent, 2), _co.bonLivraison)); _ck(_v, 6, 0, currVal_0); var currVal_1 = i1.ɵunv(_v, 12, 0, _ck(_v, 13, 0, i1.ɵnov(_v.parent, 0), _co.bonLivraison.livraisonDate, \"DD/MM/YYYY \\u00E0 HH:mm\")); _ck(_v, 12, 0, currVal_1); var currVal_2 = _co.bonLivraison.livraisonUtilisateur; _ck(_v, 18, 0, currVal_2); var currVal_3 = _co.notifyDateFinReceptionExpired; _ck(_v, 22, 0, currVal_3); var currVal_4 = (_co.notifyDateFinReceptionExpired ? \" (expir\\u00E9e)\" : \"\"); _ck(_v, 23, 0, currVal_4); var currVal_5 = _co.notifyDateFinReceptionExpired; _ck(_v, 24, 0, currVal_5); var currVal_6 = i1.ɵunv(_v, 25, 0, _ck(_v, 26, 0, i1.ɵnov(_v.parent, 0), _co.bonLivraison.dateFinReception, \"DD/MM/YYYY HH:mm\")); _ck(_v, 25, 0, currVal_6); }); }\nfunction View_BonlivraisonInfoPanelComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"commentaire-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h5\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"COMMENTAIRE\"])), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"div\", [[\"class\", \"commentaire\"]], null, null, null, null, null)), (_l()(), i1.ɵted(4, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.bonLivraison.receptionCommentaire; _ck(_v, 4, 0, currVal_0); }); }\nfunction View_BonlivraisonInfoPanelComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 20, \"div\", [[\"class\", \"info-container reception\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 17, \"div\", [[\"class\", \"info-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 5, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"R\\u00E9ception\"])), (_l()(), i1.ɵeld(5, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(6, null, [\"\", \"\"])), i1.ɵppd(7, 1), (_l()(), i1.ɵeld(8, 0, null, null, 5, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Le\"])), (_l()(), i1.ɵeld(11, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(12, null, [\"\", \"\"])), i1.ɵppd(13, 2), (_l()(), i1.ɵeld(14, 0, null, null, 4, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Par\"])), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(18, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonlivraisonInfoPanelComponent_9)), i1.ɵdid(20, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_3 = _co.bonLivraison.receptionCommentaire; _ck(_v, 20, 0, currVal_3); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵunv(_v, 6, 0, _ck(_v, 7, 0, i1.ɵnov(_v.parent, 4), _co.bonLivraison.receptionStatut)); _ck(_v, 6, 0, currVal_0); var currVal_1 = i1.ɵunv(_v, 12, 0, _ck(_v, 13, 0, i1.ɵnov(_v.parent, 0), _co.bonLivraison.receptionDate, \"DD/MM/YYYY \\u00E0 HH:mm\")); _ck(_v, 12, 0, currVal_1); var currVal_2 = _co.bonLivraison.receptionUtilisateur; _ck(_v, 18, 0, currVal_2); }); }\nfunction View_BonlivraisonInfoPanelComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"- \", \"\"]))], null, function (_ck, _v) { var currVal_0 = _v.context.$implicit.libelle; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_BonlivraisonInfoPanelComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"info-item container-non-conformites\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"Non conformit\\u00E9\", \" :\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonlivraisonInfoPanelComponent_12)), i1.ɵdid(4, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.bonLivraison.nonConformites; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((_co.bonLivraison.nonConformites.length > 1) ? \"s\" : \"\"); _ck(_v, 2, 0, currVal_0); }); }\nfunction View_BonlivraisonInfoPanelComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"commentaire-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h5\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"COMMENTAIRE\"])), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"div\", [[\"class\", \"commentaire\"]], null, null, null, null, null)), (_l()(), i1.ɵted(4, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.bonLivraison.miseEnConformiteCommentaire; _ck(_v, 4, 0, currVal_0); }); }\nfunction View_BonlivraisonInfoPanelComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 30, \"div\", [[\"class\", \"info-container miseenconformite\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 27, \"div\", [[\"class\", \"info-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 5, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Conformit\\u00E9\"])), (_l()(), i1.ɵeld(5, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(6, null, [\"\", \"\"])), i1.ɵppd(7, 1), (_l()(), i1.ɵeld(8, 0, null, null, 5, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Le\"])), (_l()(), i1.ɵeld(11, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(12, null, [\"\", \"\"])), i1.ɵppd(13, 2), (_l()(), i1.ɵeld(14, 0, null, null, 4, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Par\"])), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(18, null, [\"\", \"\"])), (_l()(), i1.ɵeld(19, 0, null, null, 7, \"div\", [[\"class\", \"info-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 3, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cl\\u00F4ture \"])), (_l()(), i1.ɵeld(22, 0, null, null, 1, \"span\", [], [[2, \"date-expired\", null]], null, null, null, null)), (_l()(), i1.ɵted(23, null, [\"\", \"\"])), (_l()(), i1.ɵeld(24, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], [[2, \"date-expired\", null]], null, null, null, null)), (_l()(), i1.ɵted(25, null, [\"\", \"\"])), i1.ɵppd(26, 2), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonlivraisonInfoPanelComponent_11)), i1.ɵdid(28, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonlivraisonInfoPanelComponent_13)), i1.ɵdid(30, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = (_co.bonLivraison.nonConformites.length > 0); _ck(_v, 28, 0, currVal_7); var currVal_8 = _co.bonLivraison.miseEnConformiteCommentaire; _ck(_v, 30, 0, currVal_8); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵunv(_v, 6, 0, _ck(_v, 7, 0, i1.ɵnov(_v.parent, 5), _co.bonLivraison.miseEnConformiteStatut)); _ck(_v, 6, 0, currVal_0); var currVal_1 = i1.ɵunv(_v, 12, 0, _ck(_v, 13, 0, i1.ɵnov(_v.parent, 0), _co.bonLivraison.miseEnConformiteDate, \"DD/MM/YYYY \\u00E0 HH:mm\")); _ck(_v, 12, 0, currVal_1); var currVal_2 = _co.bonLivraison.miseEnConformiteUtilisateur; _ck(_v, 18, 0, currVal_2); var currVal_3 = _co.notifyDateClotureExpired; _ck(_v, 22, 0, currVal_3); var currVal_4 = (_co.notifyDateClotureExpired ? \" (expir\\u00E9e)\" : \"\"); _ck(_v, 23, 0, currVal_4); var currVal_5 = _co.bonLivraison.dateClotureExpired; _ck(_v, 24, 0, currVal_5); var currVal_6 = i1.ɵunv(_v, 25, 0, _ck(_v, 26, 0, i1.ɵnov(_v.parent, 0), _co.bonLivraison.dateCloture, \"DD/MM/YYYY \\u00E0 HH:mm\")); _ck(_v, 25, 0, currVal_6); }); }\nexport function View_BonlivraisonInfoPanelComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i3.DateFormatPipe, []), i1.ɵpid(0, i4.FormatBonLivraisonStatutPipe, []), i1.ɵpid(0, i5.FormatLivraisonStatutPipe, [i6.BonLivraisonService]), i1.ɵpid(0, i7.FormatTemperaturePipe, []), i1.ɵpid(0, i8.FormatReceptionStatutPipe, []), i1.ɵpid(0, i9.FormatMiseEnConformiteStatutPipe, []), (_l()(), i1.ɵeld(6, 0, null, null, 27, \"div\", [[\"class\", \"infos-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"h2\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Synth\\u00E8se\"])), (_l()(), i1.ɵeld(9, 0, null, null, 18, \"div\", [[\"class\", \"info-container header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 17, \"div\", [[\"class\", \"info-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 4, \"div\", [[\"class\", \"info-item info-code\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Code\"])), (_l()(), i1.ɵeld(14, 0, null, null, 1, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(15, null, [\"\", \"\"])), (_l()(), i1.ɵeld(16, 0, null, null, 5, \"div\", [[\"class\", \"info-item info-dateConsommation\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Consommation\"])), (_l()(), i1.ɵeld(19, 0, null, null, 2, \"span\", [[\"class\", \"info-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(20, null, [\"\", \"\"])), i1.ɵppd(21, 1), (_l()(), i1.ɵeld(22, 0, null, null, 5, \"div\", [[\"class\", \"info-item info-statut\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(23, 0, null, null, 1, \"label\", [[\"class\", \"info-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Statut\"])), (_l()(), i1.ɵeld(25, 0, null, null, 2, \"span\", [], [[8, \"className\", 0]], null, null, null, null)), (_l()(), i1.ɵted(26, null, [\"\", \"\"])), i1.ɵppd(27, 1), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonlivraisonInfoPanelComponent_1)), i1.ɵdid(29, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonlivraisonInfoPanelComponent_8)), i1.ɵdid(31, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BonlivraisonInfoPanelComponent_10)), i1.ɵdid(33, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_4 = (_co.bonLivraison.livraisonStatut != _co.LivraisonStatutEnum.NonLivre); _ck(_v, 29, 0, currVal_4); var currVal_5 = (_co.bonLivraison.receptionStatut != _co.ReceptionStatutEnum.NA); _ck(_v, 31, 0, currVal_5); var currVal_6 = (_co.bonLivraison.miseEnConformiteStatut != _co.MiseEnConformiteStatutEnum.NA); _ck(_v, 33, 0, currVal_6); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.bonLivraison.code; _ck(_v, 15, 0, currVal_0); var currVal_1 = i1.ɵunv(_v, 20, 0, _ck(_v, 21, 0, i1.ɵnov(_v, 0), _co.bonLivraison.dateConsommation)); _ck(_v, 20, 0, currVal_1); var currVal_2 = i1.ɵinlineInterpolate(1, \"info-value statut-dot statut-\", _co.BonLivraisonStatutEnum[_co.bonLivraison.statut], \"\"); _ck(_v, 25, 0, currVal_2); var currVal_3 = i1.ɵunv(_v, 26, 0, _ck(_v, 27, 0, i1.ɵnov(_v, 1), _co.bonLivraison.statut)); _ck(_v, 26, 0, currVal_3); }); }\nexport function View_BonlivraisonInfoPanelComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-bonlivraison-info-panel\", [], null, null, null, View_BonlivraisonInfoPanelComponent_0, RenderType_BonlivraisonInfoPanelComponent)), i1.ɵdid(1, 638976, null, 0, i10.BonlivraisonInfoPanelComponent, [i6.BonLivraisonService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar BonlivraisonInfoPanelComponentNgFactory = i1.ɵccf(\"app-bonlivraison-info-panel\", i10.BonlivraisonInfoPanelComponent, View_BonlivraisonInfoPanelComponent_Host_0, { bonLivraison: \"bonLivraison\" }, {}, []);\nexport { BonlivraisonInfoPanelComponentNgFactory as BonlivraisonInfoPanelComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".infos-container[_ngcontent-%COMP%] .statut-dot[_ngcontent-%COMP%]::before{content:\\\"\\\";font-size:4em;display:inline-block;border:.05em solid transparent;position:relative;border-radius:.35em;margin-bottom:-.05em;margin-right:.1em;width:.15em;height:.15em}.infos-container[_ngcontent-%COMP%] .statut-ALivrer.statut-dot[_ngcontent-%COMP%]::before, .infos-container[_ngcontent-%COMP%] .statut-AReceptionner.statut-dot[_ngcontent-%COMP%]::before, .infos-container[_ngcontent-%COMP%] .statut-Manque.statut-dot[_ngcontent-%COMP%]::before{border-color:#ff9407}.infos-container[_ngcontent-%COMP%] .statut-Conforme.statut-dot[_ngcontent-%COMP%]::before{border-color:#28a745}.infos-container[_ngcontent-%COMP%] .statut-AReceptionnerCloture.statut-dot[_ngcontent-%COMP%]::before, .infos-container[_ngcontent-%COMP%] .statut-ManqueCloture.statut-dot[_ngcontent-%COMP%]::before{border-color:#b56000}.infos-container[_ngcontent-%COMP%] .statut-NonConforme.statut-dot[_ngcontent-%COMP%]::before{border-color:#dc3545}.infos-container[_ngcontent-%COMP%] .temperature-item[_ngcontent-%COMP%] .temperature-color-NA.temperature[_ngcontent-%COMP%]{color:#6c757d}.infos-container[_ngcontent-%COMP%] .temperature-item[_ngcontent-%COMP%] .temperature-color-Conforme.temperature[_ngcontent-%COMP%]{color:#28a745}.infos-container[_ngcontent-%COMP%] .temperature-item[_ngcontent-%COMP%] .temperature-color-Tolere.temperature[_ngcontent-%COMP%]{color:#ff9407}.infos-container[_ngcontent-%COMP%] .temperature-item[_ngcontent-%COMP%] .temperature-color-NonConforme.temperature[_ngcontent-%COMP%]{color:#dc3545}.infos-container[_ngcontent-%COMP%] .dlc-item[_ngcontent-%COMP%] .dlc-color-NA.dlc[_ngcontent-%COMP%]{color:#6c757d}.infos-container[_ngcontent-%COMP%] .dlc-item[_ngcontent-%COMP%] .dlc-color-Conforme.dlc[_ngcontent-%COMP%]{color:#28a745}.infos-container[_ngcontent-%COMP%] .dlc-item[_ngcontent-%COMP%] .dlc-color-NonConforme.dlc[_ngcontent-%COMP%]{color:#dc3545}.infos-container[_ngcontent-%COMP%]{border-top:1px solid #c7c7c7;padding:0 10px;margin-top:20px;background:rgba(255,255,255,.8)}.infos-container[_ngcontent-%COMP%] > h3[_ngcontent-%COMP%]{margin:10px 0}.infos-container[_ngcontent-%COMP%] .info-container[_ngcontent-%COMP%]{margin-bottom:5px;padding-top:5px;border-top:1px solid #c7c7c7}.infos-container[_ngcontent-%COMP%] .info-container[_ngcontent-%COMP%] > h4[_ngcontent-%COMP%]{margin:10px 0}.infos-container[_ngcontent-%COMP%] .commentaire-container[_ngcontent-%COMP%]{margin-left:5px}.infos-container[_ngcontent-%COMP%] .commentaire-container[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%]{margin:10px 0}.infos-container[_ngcontent-%COMP%] .commentaire[_ngcontent-%COMP%]{margin-left:10px;white-space:pre}.infos-container[_ngcontent-%COMP%] .container-releve-livraison[_ngcontent-%COMP%]{margin-left:15px}.infos-container[_ngcontent-%COMP%] .container-releve-livraison[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{margin:10px 0}.infos-container[_ngcontent-%COMP%] .temperature-item[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex}.infos-container[_ngcontent-%COMP%] .temperature-item[_ngcontent-%COMP%] .temperature[_ngcontent-%COMP%]{min-width:60px;text-align:right;margin-right:5px;font-family:sans-serif}.infos-container[_ngcontent-%COMP%] .dlc-item[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex}.infos-container[_ngcontent-%COMP%] .dlc-item[_ngcontent-%COMP%] .dlc[_ngcontent-%COMP%]{min-width:80px;margin-right:5px;font-family:sans-serif}.infos-container[_ngcontent-%COMP%] .info-group[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.infos-container[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%]{-ms-flex-negative:0;flex-shrink:0;margin-left:5px;margin-right:50px;width:200px;display:-ms-flexbox;display:flex}.infos-container[_ngcontent-%COMP%] .info-label[_ngcontent-%COMP%]{font-weight:700;display:inline-block;vertical-align:top;margin-right:10px}.infos-container[_ngcontent-%COMP%] .info-value[_ngcontent-%COMP%]{display:inline-block;vertical-align:top}.infos-container[_ngcontent-%COMP%] .container-non-conformites[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}\"];\nexport { styles as styles };\n","
\r\n

Synthèse

\r\n\r\n
\r\n
\r\n
\r\n {{ bonLivraison.code }}\r\n
\r\n
\r\n {{ bonLivraison.dateConsommation | dateFormat}}\r\n
\r\n
\r\n {{ bonLivraison.statut | formatBonLivraisonStatut }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{ bonLivraison | formatLivraisonStatut }}\r\n
\r\n
\r\n {{ bonLivraison.livraisonDate | dateFormat:'DD/MM/YYYY à HH:mm'}}\r\n
\r\n
\r\n {{ bonLivraison.livraisonUtilisateur}}\r\n
\r\n
\r\n {{ bonLivraison.dateFinReception | dateFormat:'DD/MM/YYYY HH:mm'}}\r\n
\r\n
\r\n
\r\n
COMMENTAIRE
\r\n
{{ bonLivraison.livraisonCommentaire }}
\r\n
\r\n
\r\n
0\">\r\n
TEMPERATURE
\r\n
\r\n
{{ rPlat.plat.livraisonTemperature | formatTemperature:'°C' }}
\r\n
{{ rPlat.plat.libelle }}
\r\n
\r\n
\r\n
0\">\r\n
DLC/DDM
\r\n
\r\n
{{ rPlat.plat.livraisonDLC | dateFormat }}
\r\n
{{ rPlat.plat.libelle }}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{ bonLivraison.receptionStatut | formatReceptionStatut }}\r\n
\r\n
\r\n {{ bonLivraison.receptionDate | dateFormat:'DD/MM/YYYY à HH:mm'}}\r\n
\r\n
\r\n {{ bonLivraison.receptionUtilisateur}}\r\n
\r\n
\r\n
\r\n
COMMENTAIRE
\r\n
{{ bonLivraison.receptionCommentaire }}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{ bonLivraison.miseEnConformiteStatut | formatMiseEnConformiteStatut }}\r\n
\r\n
\r\n {{ bonLivraison.miseEnConformiteDate | dateFormat:'DD/MM/YYYY à HH:mm'}}\r\n
\r\n
\r\n {{ bonLivraison.miseEnConformiteUtilisateur}}\r\n
\r\n
\r\n {{ bonLivraison.dateCloture | dateFormat:'DD/MM/YYYY à HH:mm'}}\r\n
\r\n
0\">\r\n \r\n - {{nonConformite.libelle}}\r\n
\r\n
\r\n
\r\n
COMMENTAIRE
\r\n
{{ bonLivraison.miseEnConformiteCommentaire }}
\r\n
\r\n
\r\n
\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { BonLivraisonFamillePlatModel } from '../models/bon-livraison-famille-plat.model';\r\nimport { BonLivraisonSettingsModel } from '../models/bon-livraison-settings.model';\r\nimport { includes } from 'lodash';\r\n\r\n/**\r\n * Filtre les Familles de plat selon les exclusions paramétrées deans les settings (BonLivraisonSettingsModel)\r\n */\r\n@Pipe({\r\n name: 'filterAllowedFamillePlat'\r\n})\r\nexport class FilterAllowedFamillePlatPipe implements PipeTransform {\r\n\r\n // transform(value: any, ...args: any[]): any {\r\n transform(value: BonLivraisonFamillePlatModel[], settings: BonLivraisonSettingsModel): any {\r\n return value && value.filter(fp => !includes(settings.livraisonExcludeFamillePlatIds, fp.famillePlatId));\r\n }\r\n\r\n}\r\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, NgForm } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport * as moment from 'moment';\r\nimport { PopupCustomComponentGeneric } from 'src/app/popup-custom/popup-custom-content.component';\r\nimport { ErrorApiModel } from 'src/app/shared/models/api/error/error.apimodel';\r\nimport { InteractionService } from 'src/app/shared/services/interaction.service';\r\nimport { BonLivraisonDLCStatus } from '../../models/bon-livraison-dlc-status.model';\r\nimport { BonLivraisonPlatLivraisonModel } from '../../models/bon-livraison-plat-livraison.model';\r\nimport { BonLivraisonTemperatureStatus } from '../../models/bon-livraison-temperature-status.model';\r\nimport { BonLivraisonStatut } from '../../models/bon-livraison.model';\r\nimport { BonLivraisonService, PlatDlcStatus, PlatTemperatureStatus, ReleveLivraison } from '../../services/bon-livraison.service';\r\nimport { LivraisonSignatureComponent } from '../livraison-signature/livraison-signature.component';\r\nimport { LivraisonPopupValidationModel } from './livraison-popup-validation.model';\r\n\r\n@Component({\r\n selector: 'app-livraison-popup-validation',\r\n templateUrl: './livraison-popup-validation.component.html',\r\n styleUrls: ['./livraison-popup-validation.component.scss']\r\n})\r\nexport class LivraisonPopupValidationComponent extends PopupCustomComponentGeneric implements OnInit, OnDestroy {\r\n\r\n @ViewChild('form', { static: true })\r\n public form: NgForm; // FormGroup\r\n\r\n @ViewChild(LivraisonSignatureComponent, { static: false })\r\n public signatureControl: LivraisonSignatureComponent;\r\n\r\n public isLoading: boolean = false;\r\n public erreurValidationMessage: string;\r\n\r\n //#region data property override\r\n private _data: any;\r\n public get data(): any {\r\n return this._data;\r\n }\r\n public set data(data: any) {\r\n this._data = data;\r\n this.loadModel();\r\n }\r\n //#endregion\r\n\r\n private _relevesLivraison: ReleveLivraison;\r\n public get nonConformiteDlcPlats(): PlatDlcStatus[] { return this._relevesLivraison && this._relevesLivraison.nonConformiteDlcPlats; }\r\n public get nonConformiteTemperaturePlats(): PlatTemperatureStatus[] { return this._relevesLivraison && this._relevesLivraison.nonConformiteTemperaturePlats; }\r\n\r\n public commentaire: string;\r\n public tournee: string;\r\n public livraisonDate: Date = new Date();\r\n\r\n // declare enum property to allow use in component template. see: http://stackoverflow.com/a/40034109/590741\r\n public TemperatureStatusEnum: typeof BonLivraisonTemperatureStatus = BonLivraisonTemperatureStatus; // tslint:disable-line: variable-name\r\n public DLCStatusEnum: typeof BonLivraisonDLCStatus = BonLivraisonDLCStatus; // tslint:disable-line: variable-name\r\n\r\n\r\n public get hasNonConformiteTemperature(): boolean {\r\n return this.nonConformiteTemperaturePlats && this.nonConformiteTemperaturePlats.length > 0;\r\n }\r\n\r\n public get hasNonConformiteDlc(): boolean {\r\n return this.nonConformiteDlcPlats && this.nonConformiteDlcPlats.length > 0;\r\n }\r\n\r\n public get hasPlatFaults(): boolean {\r\n // Manque ou Excédent\r\n return this.hasNonConformiteTemperature || this.hasNonConformiteDlc;\r\n }\r\n\r\n public get allowLivraison(): boolean {\r\n if (!this.model.bonLivraison.peutLivrer) {\r\n return false;\r\n }\r\n // on affiche le détail de livraison dès lors qu'il y a eu une modification où que le bon doit être déclaré livré\r\n return this.model.hasModification\r\n || this.model.bonLivraison.statut === BonLivraisonStatut.ALivrer;\r\n }\r\n\r\n public get isCommentaireRequired() {\r\n // le commentaire est requis seulement en cas de non-conformite\r\n return this.hasPlatFaults;\r\n }\r\n\r\n public showNonConformePrompt: boolean = false;\r\n\r\n constructor(\r\n private _bonLivraisonService: BonLivraisonService,\r\n private _router: Router,\r\n private _interactionService: InteractionService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n private loadModel() {\r\n this._relevesLivraison = this._bonLivraisonService.getReleveLivraison(this.model.bonLivraison);\r\n this.commentaire = this.model.bonLivraison.livraisonCommentaire;\r\n this.tournee = this.model.bonLivraison.tournee;\r\n }\r\n\r\n DeclarerLivraison() {\r\n this.erreurValidationMessage = '';\r\n\r\n if (!this.validateForm()) {\r\n if (!this.checkSignature()) {\r\n this.erreurValidationMessage = 'Signature requise';\r\n }\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n this.livrerBon()\r\n .subscribe(success => {\r\n // this.isValidatedReception = true;\r\n this.isLoading = false;\r\n\r\n this.hide();\r\n\r\n const remainingDuration = moment.duration(this.model.bonLivraison.settings.delaisReception).locale('fr').humanize();\r\n this._interactionService.showSimpleMessage('Déclaration de livraison',\r\n `Votre déclaration de livraison a été prise en compte. \\nVous avez ${remainingDuration} pour faire la réception.`);\r\n this._router.navigate(['/bonlivraison/details/' + this.model.bonLivraison.code], { queryParams: {} });\r\n },\r\n (error: ErrorApiModel) => {\r\n // this.isValidatedReception = false;\r\n this.isLoading = false;\r\n this.erreurValidationMessage = error.Message;\r\n }\r\n );\r\n }\r\n\r\n private livrerBon() {\r\n\r\n const releves: BonLivraisonPlatLivraisonModel[]\r\n = Array.from(\r\n new Set(this._relevesLivraison.dlcPlats.map(n => n.plat)\r\n .concat(this._relevesLivraison.temperaturePlats.map(n => n.plat)))\r\n )\r\n .map(p => ({\r\n bonLivraisonPlatId: p.bonLivraisonPlatId,\r\n livraisonTemperature: p.livraisonTemperature,\r\n livraisonDLC: p.livraisonDLC\r\n }));\r\n\r\n const signatureImage = this.signatureControl.toDataURL();\r\n return this._bonLivraisonService.declarerBonLivre(this.model.bonLivraison.code, releves, this.commentaire, signatureImage, this.tournee);\r\n\r\n }\r\n\r\n hide() {\r\n this.emitter.next();\r\n }\r\n\r\n private validateForm(): boolean {\r\n this.validateAllFormFields(this.form.form);\r\n return this.form.valid\r\n && this.checkSignature();\r\n }\r\n\r\n private validateAllFormFields(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) {\r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n\r\n scrollToElement(targetElement: HTMLElement) {\r\n targetElement.scrollIntoView();\r\n }\r\n\r\n private checkSignature(): boolean {\r\n return (!!this.model.bonLivraison.livraisonSignature) || (this.signatureControl && !this.signatureControl.isEmpty());\r\n }\r\n}\r\n","import { Component, OnInit, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { BonLivraisonModel, BonLivraisonStatut, ReceptionStatut, MiseEnConformiteStatut } from '../models/bon-livraison.model';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BonLivraisonService } from '../services/bon-livraison.service';\r\nimport { ApplicationDataService } from 'src/app/shared/services/application-data.service';\r\nimport { AuthenticationService } from 'src/app/shared/services/authentication/authentication.service';\r\nimport { InteractionService } from 'src/app/shared/services/interaction.service';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { debounceTime, first, filter } from 'rxjs/operators';\r\nimport { ErrorApiModel } from 'src/app/shared/models/api/error/error.apimodel';\r\nimport { BonLivraisonApiErrorCodes } from '../models/api/bon-livraison-api-error-codes';\r\nimport { NotificationModel, NotificationCustomModel } from 'src/app/shared/models/notification.model';\r\nimport { LivraisonPopupValidationModel } from './livraison-popup-validation/livraison-popup-validation.model';\r\nimport { LivraisonPopupValidationComponent } from './livraison-popup-validation/livraison-popup-validation.component';\r\n\r\n@Component({\r\n selector: 'app-livraison-bon-livraison',\r\n templateUrl: './livraison-bon-livraison.component.html',\r\n styleUrls: ['./livraison-bon-livraison.component.scss']\r\n})\r\nexport class LivraisonBonLivraisonComponent implements OnInit, OnDestroy {\r\n\r\n private bonLivraisonCode: string;\r\n public detailsBonLivraison: BonLivraisonModel;\r\n private _originalBonLivraisonCheckSum: string;\r\n\r\n public get hasChanged(): boolean {\r\n return this.detailsBonLivraison && (this._originalBonLivraisonCheckSum != this.bonLivraisonService.checkSumTemperatureDLC(this.detailsBonLivraison));\r\n }\r\n\r\n public get canValidate(): boolean {\r\n if (!this.detailsBonLivraison) { return false; }\r\n if (!this.checkReleveCount()) { return false; }\r\n\r\n return true;\r\n }\r\n\r\n public isLoadingBonLivraison: boolean = false;\r\n\r\n private askLoadDetailsBLEmitter: EventEmitter = new EventEmitter();\r\n\r\n private _currentRestaurantId?: number;\r\n\r\n // declare enum property to allow use in component template. see: http://stackoverflow.com/a/40034109/590741\r\n public BonLivraisonStatutEnum: typeof BonLivraisonStatut = BonLivraisonStatut; // tslint:disable-line: variable-name\r\n public ReceptionStatutEnum: typeof ReceptionStatut = ReceptionStatut; // tslint:disable-line: variable-name\r\n public MiseEnConformiteStatutEnum: typeof MiseEnConformiteStatut = MiseEnConformiteStatut; // tslint:disable-line: variable-name\r\n\r\n constructor(private route: ActivatedRoute,\r\n private bonLivraisonService: BonLivraisonService,\r\n private appDataService: ApplicationDataService,\r\n private authService: AuthenticationService,\r\n private interactionService: InteractionService,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n this.route.params\r\n .pipe(\r\n untilDestroyed(this)\r\n )\r\n // .observeOn(Scheduler.asap) // TODO: à voir : le changement de title doit être fait de façon synchrone pour ne pas planter le ChangeDetector\r\n .subscribe(params => {\r\n this.bonLivraisonCode = params.codeBonLivraison;\r\n if (this.bonLivraisonCode != null) {\r\n this.appDataService.changePageTitle(`Livraison ${this.bonLivraisonCode}`);\r\n this.askToGetDetails();\r\n }\r\n }\r\n );\r\n\r\n this.appDataService.restaurant$\r\n .pipe(\r\n untilDestroyed(this)\r\n )\r\n .subscribe(\r\n restaurant => {\r\n if (restaurant != null) {\r\n this._currentRestaurantId = restaurant.id;\r\n }\r\n }\r\n );\r\n\r\n this.askLoadDetailsBLEmitter\r\n .pipe(\r\n untilDestroyed(this),\r\n debounceTime(500))\r\n .subscribe(\r\n () => {\r\n // TODO devrait être fait dans un route resolver\r\n this.bonLivraisonService.getBonLivraison(this.bonLivraisonCode)\r\n .subscribe(\r\n success => {\r\n this.isLoadingBonLivraison = false;\r\n this.detailsBonLivraison = success;\r\n this._originalBonLivraisonCheckSum = this.bonLivraisonService.checkSumTemperatureDLC(this.detailsBonLivraison);\r\n // console.log(success);\r\n this.updateCurrentRestaurantIfNeeded();\r\n },\r\n (error: ErrorApiModel) => {\r\n this.isLoadingBonLivraison = false;\r\n if (error.Code === BonLivraisonApiErrorCodes.BonLivraisonNotFound) {\r\n this.interactionService.showSimpleMessage(`Réception ${this.bonLivraisonCode} inconnu`, 'Veuillez saisir un autre code.');\r\n this.router.navigate(['/bonlivraison'], { queryParams: {} });\r\n } else {\r\n const notifModel = new NotificationModel();\r\n notifModel.title = 'Erreur';\r\n notifModel.message = 'Erreur de chargement du bon : \\n' + error.Message;\r\n this.interactionService.showNotification(notifModel);\r\n }\r\n });\r\n }\r\n );\r\n\r\n this.askToGetDetails();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // mandatory (untildestroy)\r\n }\r\n\r\n private askToGetDetails() {\r\n this.isLoadingBonLivraison = true;\r\n this.askLoadDetailsBLEmitter.emit();\r\n }\r\n\r\n private updateCurrentRestaurantIfNeeded() {\r\n if (this._currentRestaurantId != null\r\n && this._currentRestaurantId !== this.detailsBonLivraison.restaurantId) {\r\n this.authService.currentUser$\r\n .pipe(\r\n first(),\r\n filter(user => !!user),\r\n untilDestroyed(this)\r\n )\r\n .subscribe(user => {\r\n // find restaurantModel in user perimeter\r\n const bonLivraisonContrat = user.allContrats.find(c => c.id === this.detailsBonLivraison.contratId);\r\n const bonLivraisonResto = bonLivraisonContrat.restaurants.find(r => r.id === this.detailsBonLivraison.restaurantId);\r\n this.appDataService.changeContrat(bonLivraisonContrat).pipe(first()).subscribe();\r\n this.appDataService.changeRestaurant(bonLivraisonResto, true).pipe(first()).subscribe();\r\n });\r\n }\r\n }\r\n\r\n validate() {\r\n\r\n if (!this.checkReleveCount()) {\r\n this.interactionService.showSimpleMessage('Validation', `Veuillez relever au moins ${this.detailsBonLivraison.settings.releveTemperatureMin} températures et ${this.detailsBonLivraison.settings.releveDlcMin} dlc/ddm.`);\r\n return;\r\n }\r\n\r\n const notif: NotificationCustomModel = new NotificationCustomModel();\r\n notif.id = 1;\r\n notif.title = 'Valider la livraison';\r\n notif.type = LivraisonPopupValidationComponent;\r\n notif.fullScreen = false;\r\n notif.closeOnBackdropClick = false;\r\n const popupModel: LivraisonPopupValidationModel = {\r\n bonLivraison: this.detailsBonLivraison,\r\n hasModification: this.hasChanged\r\n };\r\n notif.data = popupModel;\r\n notif.hasNoOverflow = true;\r\n\r\n this.interactionService.showNotification(notif);\r\n\r\n }\r\n\r\n public get isModifiable() {\r\n return this.detailsBonLivraison.peutLivrer;\r\n }\r\n\r\n\r\n private checkReleveCount(): boolean {\r\n const releves = this.bonLivraisonService.getReleveLivraison(this.detailsBonLivraison);\r\n return releves.dlcPlats.length >= this.detailsBonLivraison.settings.releveDlcMin\r\n && releves.temperaturePlats.length >= this.detailsBonLivraison.settings.releveTemperatureMin;\r\n }\r\n}\r\n\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./livraison-bon-livraison.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../loader/loader.component.ngfactory\";\nimport * as i3 from \"../../loader/loader.component\";\nimport * as i4 from \"./livraison-temperature/livraison-temperature.component.ngfactory\";\nimport * as i5 from \"./livraison-temperature/livraison-temperature.component\";\nimport * as i6 from \"../services/bon-livraison.service\";\nimport * as i7 from \"./livraison-dlc/livraison-dlc.component.ngfactory\";\nimport * as i8 from \"./livraison-dlc/livraison-dlc.component\";\nimport * as i9 from \"@angular/common\";\nimport * as i10 from \"../bon-livraison-info-header/bon-livraison-info-header.component.ngfactory\";\nimport * as i11 from \"../bon-livraison-info-header/bon-livraison-info-header.component\";\nimport * as i12 from \"../bonlivraison-info-panel/bonlivraison-info-panel.component.ngfactory\";\nimport * as i13 from \"../bonlivraison-info-panel/bonlivraison-info-panel.component\";\nimport * as i14 from \"../pipes/filter-allowed-famille-plat.pipe\";\nimport * as i15 from \"./livraison-bon-livraison.component\";\nimport * as i16 from \"@angular/router\";\nimport * as i17 from \"../../shared/services/application-data.service\";\nimport * as i18 from \"../../shared/services/authentication/authentication.service\";\nimport * as i19 from \"../../shared/services/interaction.service\";\nvar styles_LivraisonBonLivraisonComponent = [i0.styles];\nvar RenderType_LivraisonBonLivraisonComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_LivraisonBonLivraisonComponent, data: {} });\nexport { RenderType_LivraisonBonLivraisonComponent as RenderType_LivraisonBonLivraisonComponent };\nfunction View_LivraisonBonLivraisonComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loader-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement...\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_LivraisonBonLivraisonComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"button\", [[\"class\", \"generic-button validate-button\"]], [[2, \"red-button\", null], [2, \"green-button\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.validate() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\" Valider \"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.canValidate; var currVal_1 = _co.canValidate; _ck(_v, 0, 0, currVal_0, currVal_1); }); }\nfunction View_LivraisonBonLivraisonComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"save-button\"], [\"title\", \"Valider\"]], [[2, \"red-button\", null], [2, \"green-button\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.validate() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"div\", [], null, null, null, null, null))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.canValidate; var currVal_1 = _co.canValidate; _ck(_v, 0, 0, currVal_0, currVal_1); }); }\nfunction View_LivraisonBonLivraisonComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 8, \"div\", [[\"class\", \"plat-section\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"div\", [[\"class\", \"plat-libelle\"]], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\"\", \"\"])), (_l()(), i1.ɵeld(4, 0, null, null, 2, \"div\", [[\"class\", \"plat-temperature\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"app-livraison-temperature\", [], null, null, null, i4.View_LivraisonTemperatureComponent_0, i4.RenderType_LivraisonTemperatureComponent)), i1.ɵdid(6, 114688, null, 0, i5.LivraisonTemperatureComponent, [i6.BonLivraisonService], { plat: [0, \"plat\"], settings: [1, \"settings\"], isModifiable: [2, \"isModifiable\"] }, null), (_l()(), i1.ɵeld(7, 0, null, null, 2, \"div\", [[\"class\", \"plat-dlc\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"app-livraison-dlc\", [], null, null, null, i7.View_LivraisonDlcComponent_0, i7.RenderType_LivraisonDlcComponent)), i1.ɵdid(9, 114688, null, 0, i8.LivraisonDlcComponent, [i6.BonLivraisonService], { plat: [0, \"plat\"], dateDLCMin: [1, \"dateDLCMin\"], isModifiable: [2, \"isModifiable\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_1 = _v.context.$implicit; var currVal_2 = _co.detailsBonLivraison.settings; var currVal_3 = _co.detailsBonLivraison.peutLivrer; _ck(_v, 6, 0, currVal_1, currVal_2, currVal_3); var currVal_4 = _v.context.$implicit; var currVal_5 = _co.detailsBonLivraison.dateDLCMin; var currVal_6 = _co.detailsBonLivraison.peutLivrer; _ck(_v, 9, 0, currVal_4, currVal_5, currVal_6); }, function (_ck, _v) { var currVal_0 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_0); }); }\nfunction View_LivraisonBonLivraisonComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"div\", [[\"class\", \"famille-plat-libelle\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonBonLivraisonComponent_7)), i1.ɵdid(4, 278528, null, 0, i9.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var currVal_1 = _v.context.$implicit.bonLivraisonPlats; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var currVal_0 = _v.context.$implicit.libelle; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_LivraisonBonLivraisonComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"prestation-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"div\", [[\"class\", \"prestation-libelle restaurant-type-background\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_LivraisonBonLivraisonComponent_6)), i1.ɵdid(4, 278528, null, 0, i9.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), i1.ɵppd(5, 2)], function (_ck, _v) { var _co = _v.component; var currVal_1 = i1.ɵunv(_v, 4, 0, _ck(_v, 5, 0, i1.ɵnov(_v.parent.parent, 0), _v.context.$implicit.bonLivraisonFamillePlats, _co.detailsBonLivraison.settings)); _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var currVal_0 = _v.context.$implicit.libelle; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_LivraisonBonLivraisonComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"details-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"div\", [[\"class\", \"right-buttons\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonBonLivraisonComponent_3)), i1.ɵdid(3, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(4, 0, null, null, 2, \"div\", [[\"class\", \"buttons-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonBonLivraisonComponent_4)), i1.ɵdid(6, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"app-bon-livraison-info-header\", [], null, null, null, i10.View_BonLivraisonInfoHeaderComponent_0, i10.RenderType_BonLivraisonInfoHeaderComponent)), i1.ɵdid(8, 114688, null, 0, i11.BonLivraisonInfoHeaderComponent, [], { bonLivraison: [0, \"bonLivraison\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonBonLivraisonComponent_5)), i1.ɵdid(10, 278528, null, 0, i9.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(11, 0, null, null, 1, \"app-bonlivraison-info-panel\", [], null, null, null, i12.View_BonlivraisonInfoPanelComponent_0, i12.RenderType_BonlivraisonInfoPanelComponent)), i1.ɵdid(12, 638976, null, 0, i13.BonlivraisonInfoPanelComponent, [i6.BonLivraisonService], { bonLivraison: [0, \"bonLivraison\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isModifiable; _ck(_v, 3, 0, currVal_0); var currVal_1 = _co.isModifiable; _ck(_v, 6, 0, currVal_1); var currVal_2 = _co.detailsBonLivraison; _ck(_v, 8, 0, currVal_2); var currVal_3 = _co.detailsBonLivraison.bonLivraisonPrestations; _ck(_v, 10, 0, currVal_3); var currVal_4 = _co.detailsBonLivraison; _ck(_v, 12, 0, currVal_4); }, null); }\nexport function View_LivraisonBonLivraisonComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i14.FilterAllowedFamillePlatPipe, []), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonBonLivraisonComponent_1)), i1.ɵdid(2, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonBonLivraisonComponent_2)), i1.ɵdid(4, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isLoadingBonLivraison; _ck(_v, 2, 0, currVal_0); var currVal_1 = (!_co.isLoadingBonLivraison && (_co.detailsBonLivraison != null)); _ck(_v, 4, 0, currVal_1); }, null); }\nexport function View_LivraisonBonLivraisonComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-livraison-bon-livraison\", [], null, null, null, View_LivraisonBonLivraisonComponent_0, RenderType_LivraisonBonLivraisonComponent)), i1.ɵdid(1, 245760, null, 0, i15.LivraisonBonLivraisonComponent, [i16.ActivatedRoute, i6.BonLivraisonService, i17.ApplicationDataService, i18.AuthenticationService, i19.InteractionService, i16.Router], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar LivraisonBonLivraisonComponentNgFactory = i1.ɵccf(\"app-livraison-bon-livraison\", i15.LivraisonBonLivraisonComponent, View_LivraisonBonLivraisonComponent_Host_0, {}, {}, []);\nexport { LivraisonBonLivraisonComponentNgFactory as LivraisonBonLivraisonComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"@charset \\\"UTF-8\\\";[_nghost-%COMP%] .statut-dot[_ngcontent-%COMP%]::before{content:\\\"\\\";font-size:4em;display:inline-block;border:.05em solid transparent;position:relative;border-radius:.35em;margin-bottom:-.05em;margin-right:.1em}[_nghost-%COMP%] .statut-ALivrer.statut-dot[_ngcontent-%COMP%]::before{border-color:#ff9407}[_nghost-%COMP%] .statut-AReceptionner.statut-dot[_ngcontent-%COMP%]::before{border-color:#ff9407}[_nghost-%COMP%] .statut-Manque.statut-dot[_ngcontent-%COMP%]::before{border-color:#ff9407}[_nghost-%COMP%] .statut-Conforme.statut-dot[_ngcontent-%COMP%]::before{border-color:#28a745}[_nghost-%COMP%] .statut-AReceptionnerCloture.statut-dot[_ngcontent-%COMP%]::before{border-color:#b56000}[_nghost-%COMP%] .statut-ManqueCloture.statut-dot[_ngcontent-%COMP%]::before{border-color:#b56000}[_nghost-%COMP%] .statut-NonConforme.statut-dot[_ngcontent-%COMP%]::before{border-color:#dc3545}[_nghost-%COMP%] .generic-button[_ngcontent-%COMP%]{font-size:14px}[_nghost-%COMP%] .details-container[_ngcontent-%COMP%]{margin-bottom:80px}@media only screen and (min-width:970px){[_nghost-%COMP%] .details-container[_ngcontent-%COMP%]{margin-bottom:20px;padding-left:20px;padding-right:20px;max-width:900px;margin-left:auto;margin-right:auto}}[_nghost-%COMP%] .prestation-libelle[_ngcontent-%COMP%]{font-size:18pt;background-color:#f2f2f1;padding-left:5px;color:#fff}[_nghost-%COMP%] .famille-plat-libelle[_ngcontent-%COMP%]{font-size:18pt;background-color:#f2f2f1;padding-left:10px;margin-bottom:5px}[_nghost-%COMP%] .plat-section[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;padding-right:1em;margin-bottom:5px}[_nghost-%COMP%] .plat-libelle[_ngcontent-%COMP%]{-ms-flex-positive:1;flex-grow:1;font-size:24px;padding-left:15px}[_nghost-%COMP%] .plat-temperature[_ngcontent-%COMP%]{margin-left:.3em;font-size:1.5em;-ms-flex-negative:0;flex-shrink:0}[_nghost-%COMP%] .plat-dlc[_ngcontent-%COMP%]{margin-left:.5em;font-size:1.5em;-ms-flex-negative:0;flex-shrink:0}[_nghost-%COMP%] .right-buttons[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%]{position:fixed;bottom:10px;left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%);z-index:10}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .button-base[_ngcontent-%COMP%], [_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{float:left;position:relative;width:60px;height:60px;border-radius:35px;box-shadow:2px 2px 4px #5d5d5d}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{cursor:pointer}@media only screen and (min-width:970px){[_nghost-%COMP%] .right-buttons[_ngcontent-%COMP%]{display:block;-ms-flex-negative:0;flex-shrink:0;text-align:right;margin-bottom:5px}[_nghost-%COMP%] .right-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{font-size:14px;height:35px;vertical-align:top;margin-left:10px}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{display:none}}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{position:absolute;border-bottom:5px solid #fff;border-right:5px solid #fff;width:14px;height:29px;top:50%;left:50%;-ms-transform:translateX(-50%) translateY(-60%) rotate(45deg);transform:translateX(-50%) translateY(-60%) rotate(45deg)}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]:hover{background-color:#444}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]:disabled{opacity:.8;cursor:not-allowed}[_nghost-%COMP%] [ng-reflect-restaurant-color].libelle-item-BL[_ngcontent-%COMP%]{color:#fff;padding:2px}[_nghost-%COMP%] [ng-reflect-restaurant-color].prestation-libelle[_ngcontent-%COMP%]{color:#fff;padding:2px}[_nghost-%COMP%] .collapsable[_ngcontent-%COMP%]{max-height:initial;visibility:visible;opacity:1;overflow:hidden}[_nghost-%COMP%] .collapsable.collapsed[_ngcontent-%COMP%]{max-height:0!important;height:0!important;margin:0!important;padding:0!important}[_nghost-%COMP%] .loader-container[_ngcontent-%COMP%]{margin-top:100px}[_nghost-%COMP%] .statut-dot[_ngcontent-%COMP%]::before{width:.15em;height:.15em}[_nghost-%COMP%] .date-expired[_ngcontent-%COMP%]{color:#e20035}\"];\nexport { styles as styles };\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{ prestation.libelle }}
\r\n
\r\n
{{ famillePlat.libelle }}
\r\n
\r\n
\r\n
{{ plat.libelle }}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit, OnChanges, Input, SimpleChanges } from \"@angular/core\";\r\nimport { BonLivraisonComposantModel } from \"../../models/bon-livraison-composant.model\";\r\nimport { InteractionService } from \"../../../shared/services/interaction.service\";\r\n\r\n@Component({\r\n selector: \"app-composants-livres\",\r\n templateUrl: \"./composants-livres.component.html\",\r\n styleUrls: [\"./composants-livres.component.scss\"]\r\n})\r\nexport class ComposantsLivresComponent implements OnInit, OnChanges {\r\n\r\n\r\n @Input(\"composant\")\r\n public composant: BonLivraisonComposantModel;\r\n\r\n @Input(\"isModifiable\")\r\n public isModifiable: boolean;\r\n\r\n private _originalQuantiteLivreeRelative?: number;\r\n public get HasChanged(): boolean{\r\n return this.composant && this.composant.quantiteLivreeRelative != this._originalQuantiteLivreeRelative;\r\n }\r\n\r\n public get formattedQuantiteLivreeRelative(): string {\r\n // let qte = this.composant && this.composant.quantiteLivreeRelative || 0;\r\n // if (qte == 0)\r\n // qte = this.composant.quantite || 0;\r\n // return ((qte > 0 && this.composant.quantiteLivreeRelative != 0) ? \"+\" : \"\") + qte;\r\n const qte = this.composant && this.composant.quantiteLivreeRelative || 0;\r\n return (qte > 0 ? \"+\" : \"\") + qte;\r\n }\r\n public set formattedQuantiteLivreeRelative(value: string) {\r\n // parse\r\n const qte = parseFloat(value);\r\n if (this.composant)\r\n this.composant.quantiteLivreeRelative = qte;\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes[\"composant\"]) {\r\n this._originalQuantiteLivreeRelative = this.composant.quantiteLivreeRelative;\r\n }\r\n }\r\n\r\n manqueComposant(relative: number) {\r\n // 0n bloque la declaration au nombre desiré\r\n // (cad si on devait recevoir 5 yaourt, on ne peut se plaindre de -8 yaourt, le + lui n'est pas bloquer)\r\n\r\n let testerPositivite = true;\r\n if (this.composant.quantiteLivreeRelative < 0)\r\n testerPositivite = false;\r\n\r\n this.composant.quantiteLivreeRelative += relative;\r\n\r\n if (relative < 0 && Math.abs(this.composant.quantiteLivreeRelative) > this.composant.quantite) {\r\n if (!testerPositivite)\r\n this.composant.quantiteLivreeRelative = this.composant.quantite * -1;\r\n else\r\n this.composant.quantiteLivreeRelative += relative;\r\n }\r\n\r\n }\r\n}\r\n\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./composants-livres.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./composants-livres.component\";\nvar styles_ComposantsLivresComponent = [i0.styles];\nvar RenderType_ComposantsLivresComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_ComposantsLivresComponent, data: {} });\nexport { RenderType_ComposantsLivresComponent as RenderType_ComposantsLivresComponent };\nfunction View_ComposantsLivresComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 8, \"div\", [[\"class\", \"container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"button\", [[\"class\", \"generic-button inputPlusMoins\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.manqueComposant((0 - 1)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"-\"])), (_l()(), i1.ɵeld(3, 0, null, null, 3, \"input\", [[\"class\", \"inputManqueReception\"], [\"disabled\", \"disabled\"], [\"type\", \"text\"]], [[1, \"value\", 0]], null, null, null, null)), i1.ɵprd(512, null, i2.ɵNgClassImpl, i2.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(5, 278528, null, 0, i2.NgClass, [i2.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(6, { \"rouge\": 0 }), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"button\", [[\"class\", \"generic-button inputPlusMoins\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.manqueComposant(1) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"+\"]))], function (_ck, _v) { var _co = _v.component; var currVal_1 = \"inputManqueReception\"; var currVal_2 = _ck(_v, 6, 0, (_co.composant.quantiteLivreeRelative != 0)); _ck(_v, 5, 0, currVal_1, currVal_2); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.formattedQuantiteLivreeRelative; _ck(_v, 3, 0, currVal_0); }); }\nfunction View_ComposantsLivresComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 4, \"div\", [[\"class\", \"affichage-non-modifiable\"]], null, null, null, null, null)), i1.ɵprd(512, null, i2.ɵNgClassImpl, i2.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(3, 278528, null, 0, i2.NgClass, [i2.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(4, { \"rouge\": 0 }), (_l()(), i1.ɵted(5, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = \"affichage-non-modifiable\"; var currVal_1 = _ck(_v, 4, 0, (_co.composant.quantiteLivreeRelative != 0)); _ck(_v, 3, 0, currVal_0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.formattedQuantiteLivreeRelative; _ck(_v, 5, 0, currVal_2); }); }\nexport function View_ComposantsLivresComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_ComposantsLivresComponent_1)), i1.ɵdid(1, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ComposantsLivresComponent_2)), i1.ɵdid(3, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isModifiable; _ck(_v, 1, 0, currVal_0); var currVal_1 = !_co.isModifiable; _ck(_v, 3, 0, currVal_1); }, null); }\nexport function View_ComposantsLivresComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-composants-livres\", [], null, null, null, View_ComposantsLivresComponent_0, RenderType_ComposantsLivresComponent)), i1.ɵdid(1, 638976, null, 0, i3.ComposantsLivresComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar ComposantsLivresComponentNgFactory = i1.ɵccf(\"app-composants-livres\", i3.ComposantsLivresComponent, View_ComposantsLivresComponent_Host_0, { composant: \"composant\", isModifiable: \"isModifiable\" }, {}, []);\nexport { ComposantsLivresComponentNgFactory as ComposantsLivresComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .container[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{vertical-align:middle}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .affichage-non-modifiable[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .inputManqueReception[_ngcontent-%COMP%]{text-align:center;font-size:14pt;font-family:monospace}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .inputManqueReception[_ngcontent-%COMP%]{width:32px;height:30px;border:1px solid #7b7979;border-radius:5px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .inputPlusMoins[_ngcontent-%COMP%]{height:30px;width:30px;font-size:32px;line-height:0}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .rouge[_ngcontent-%COMP%]{color:#d8043c;font-weight:600}\"];\nexport { styles as styles };\n","\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
{{ formattedQuantiteLivreeRelative }}
\r\n
\r\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, NgForm } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { of as observableOf } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { PopupCustomComponentGeneric } from '../../../popup-custom/popup-custom-content.component';\r\nimport { ErrorApiModel } from '../../../shared/models/api/error/error.apimodel';\r\nimport { InteractionService } from '../../../shared/services/interaction.service';\r\nimport { BonLivraisonComposantReceptionModel } from '../../models/bon-livraison-composant-reception.model';\r\nimport { BonLivraisonComposantModel } from '../../models/bon-livraison-composant.model';\r\nimport { BonLivraisonStatut } from '../../models/bon-livraison.model';\r\nimport { BonLivraisonService } from '../../services/bon-livraison.service';\r\nimport { NonConformiteSelectItemModel } from './non-conformite-select-item.model';\r\nimport { PopupValidationModel } from './popup-validation.model';\r\n\r\n\r\n@Component({\r\n selector: 'app-popup-validation',\r\n templateUrl: './popup-validation.component.html',\r\n styleUrls: ['./popup-validation.component.scss']\r\n})\r\nexport class PopupValidationComponent extends PopupCustomComponentGeneric implements OnInit, OnDestroy {\r\n\r\n @ViewChild('form', { static: true })\r\n public form: NgForm; // FormGroup\r\n\r\n public isLoading: boolean = false;\r\n public erreurValidationMessage: string;\r\n\r\n //#region data property override\r\n private _data: any;\r\n public get data(): any {\r\n return this._data;\r\n }\r\n public set data(data: any) {\r\n this._data = data;\r\n this.loadModel();\r\n }\r\n //#endregion\r\n\r\n public manques: BonLivraisonComposantModel[];\r\n public excedents: BonLivraisonComposantModel[];\r\n public nonConformites: NonConformiteSelectItemModel[];\r\n public commentaire: string;\r\n\r\n public get hasManques(): boolean {\r\n return this.manques && this.manques.length > 0;\r\n }\r\n\r\n public get hasExcedents(): boolean {\r\n return this.excedents && this.excedents.length > 0;\r\n }\r\n\r\n public get hasComposantFaults(): boolean {\r\n // Manque ou Excédent\r\n return this.hasManques || this.hasExcedents;\r\n }\r\n\r\n public get hasNonConformite(): boolean {\r\n return this.nonConformites.some(nc => nc.selected);\r\n }\r\n\r\n public get allowReception(): boolean {\r\n if (!this.model.bonLivraison.peutReceptionner) {\r\n return false;\r\n }\r\n // on affiche le détail de reception dès lors qu'il y a eu une modification de quantité où que le bon doit être réceptionné\r\n return this.model.hasModification\r\n || this.model.bonLivraison.statut === BonLivraisonStatut.AReceptionner;\r\n }\r\n\r\n public get forceReceptionOnly(): boolean {\r\n // on force la réception seule lorsqu'il y a la précense d'un manque\r\n return this.allowReception && this.hasManques;\r\n }\r\n\r\n public get allowConformite(): boolean {\r\n if (!this.model.bonLivraison.peutMettreEnConformite\r\n || this.forceReceptionOnly) {\r\n return false;\r\n }\r\n\r\n // on demande la déclaration de conformité du bon dès lors:\r\n return !this.model.hasModification // qu'il n'y a pas eu de modification de quantité\r\n || (!this.hasComposantFaults // qu'il n'y a pas eu de défaut de quantité\r\n || !this.hasManques // ou que le défaut n'est pas un manque (le manque nécessite une relivraison et donc une confirmation ultérieure)\r\n );\r\n }\r\n\r\n public get isCommentaireRequired() {\r\n // le commentaire est requis seulement en cas de non-conformite et qu'un type de non-conformité sélectionné soit en commentaireRequis\r\n return this.showNonConformePrompt && this.nonConformites.some(nc => nc.selected && nc.nonConformite.commentaireRequis);\r\n }\r\n\r\n public showNonConformePrompt: boolean = false;\r\n\r\n constructor(\r\n private bonLivraisonService: BonLivraisonService,\r\n private router: Router,\r\n private interactionService: InteractionService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n private loadModel() {\r\n\r\n this.manques = [];\r\n this.excedents = [];\r\n this.model.bonLivraison.bonLivraisonPrestations\r\n .forEach(p => p.bonLivraisonFamillePlats\r\n .forEach(fp => fp.bonLivraisonPlats\r\n .forEach(pl => pl.bonLivraisonComposants\r\n .forEach(c => {\r\n // tslint:disable-next-line: triple-equals\r\n if (c.quantiteLivreeRelative != 0) {\r\n const composant = { ...c }; // simple copy\r\n composant.libelle = composant.libelle || pl.libelle; // on redéfini au libellé plat s'il n'y a pas de libellé composant\r\n if (composant.quantiteLivreeRelative < 0) {\r\n this.manques.push(composant);\r\n }\r\n if (composant.quantiteLivreeRelative > 0) {\r\n this.excedents.push(composant);\r\n }\r\n }\r\n })\r\n )\r\n )\r\n );\r\n\r\n this.commentaire = this.model.bonLivraison.miseEnConformiteCommentaire || this.model.bonLivraison.receptionCommentaire;\r\n\r\n this.nonConformites = this.model.bonLivraison.settings.typeNonConformites.map(tnc => ({\r\n selected: this.model.bonLivraison.nonConformites.some(nc => nc.bonLivraisonTypeNonConformiteId === tnc.bonLivraisonTypeNonConformiteId),\r\n nonConformite: tnc\r\n }));\r\n }\r\n\r\n DeclarerManque() {\r\n if (!this.validateForm()) {\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n this.receptionnerBon().subscribe(success => {\r\n // this.isValidatedReception = true;\r\n this.erreurValidationMessage = '';\r\n this.isLoading = false;\r\n\r\n this.hide();\r\n this.interactionService.showSimpleMessage('Manque', 'Votre déclaration de manque(s) a été prise en compte.');\r\n this.router.navigate(['/bonlivraison'], { queryParams: {} });\r\n },\r\n (error: ErrorApiModel) => {\r\n // this.isValidatedReception = false;\r\n this.isLoading = false;\r\n this.erreurValidationMessage = error.Message;\r\n }\r\n );\r\n }\r\n\r\n private receptionnerBon() {\r\n\r\n // on transforme les Plats en BonLivraisonComposantReceptionModel[]\r\n const manques: BonLivraisonComposantReceptionModel[]\r\n = (this.manques)\r\n .map(c => ({\r\n bonLivraisonComposantId: c.bonLivraisonComposantId,\r\n quantiteLivreeRelative: c.quantiteLivreeRelative || 0\r\n }));\r\n\r\n const excedents: BonLivraisonComposantReceptionModel[]\r\n = (this.excedents)\r\n .map(c => ({\r\n bonLivraisonComposantId: c.bonLivraisonComposantId,\r\n quantiteLivreeRelative: c.quantiteLivreeRelative || 0\r\n }));\r\n\r\n const defauts = manques.concat(excedents);\r\n\r\n return this.bonLivraisonService.receptionnerBon(this.model.bonLivraison.code, defauts, this.commentaire);\r\n\r\n }\r\n\r\n DeclarerConformite(isConforme: boolean) {\r\n if (!this.validateForm()) {\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n\r\n // si la réception est autorisée, on effectue une réception au préalable\r\n const reception$ = this.allowReception\r\n ? this.receptionnerBon()\r\n : observableOf(true);\r\n\r\n const nonConformiteIds = this.nonConformites\r\n .filter(nc => !isConforme && nc.selected) // on prends les non-conformite sélectionnées (seulement si on est en non-conformite)\r\n .map(nc => nc.nonConformite.bonLivraisonTypeNonConformiteId);\r\n\r\n // on fait ensuite la conformité\r\n reception$.pipe(\r\n switchMap(() => // https://medium.com/@juliapassynkova/switchmap-in-details-b98d34145311\r\n this.bonLivraisonService.miseEnConformiteBon(this.model.bonLivraison.code, isConforme, this.commentaire, nonConformiteIds)\r\n )\r\n )\r\n .subscribe(\r\n success => {\r\n // this.isValidatedMiseEnConformite = true;\r\n this.erreurValidationMessage = '';\r\n this.isLoading = false;\r\n\r\n this.hide();\r\n\r\n this.interactionService.showSimpleMessage(isConforme ? 'Conformité' : 'Non conformité',\r\n `Votre déclaration de ${isConforme ? 'conformité' : 'non conformité'} a été prise en compte.`);\r\n\r\n this.router.navigate(['/bonlivraison'], { queryParams: {} });\r\n },\r\n (error: ErrorApiModel) => {\r\n // this.isValidatedMiseEnConformite = false;\r\n this.isLoading = false;\r\n this.erreurValidationMessage = error.Message;\r\n }\r\n );\r\n }\r\n\r\n hide() {\r\n this.emitter.next();\r\n }\r\n\r\n private validateForm(): boolean {\r\n this.validateAllFormFields(this.form.form);\r\n return this.form.valid\r\n && this.checkNonConformite();\r\n }\r\n\r\n private validateAllFormFields(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) {\r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n // HACK : Workaround pour gérer la liste de checkbox, il semble qu'il n'y ai pas d'autre moyen à par de passer par du ReactiveForm\r\n toggleNonConformite(event: Event) {\r\n const checkBox = event.target as HTMLInputElement;\r\n const nonConformiteId = parseInt(checkBox.value, 10);\r\n const selected = !!checkBox.checked;\r\n const nonConformite = this.nonConformites.find(nc => nc.nonConformite.bonLivraisonTypeNonConformiteId === nonConformiteId);\r\n nonConformite.selected = selected;\r\n // permet de déclencher les affichage de validation\r\n this.form.control.markAsTouched();\r\n }\r\n private checkNonConformite(): boolean {\r\n return !this.showNonConformePrompt || this.hasNonConformite;\r\n }\r\n\r\n scrollToElement(targetElement: HTMLElement) {\r\n targetElement.scrollIntoView();\r\n }\r\n}\r\n","\r\nimport { Component, EventEmitter, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { debounceTime, first, filter } from 'rxjs/operators';\r\nimport { AuthenticationService } from 'src/app/shared/services/authentication/authentication.service';\r\nimport { ErrorApiModel } from '../../shared/models/api/error/error.apimodel';\r\nimport { NotificationCustomModel, NotificationModel } from '../../shared/models/notification.model';\r\nimport { ApplicationDataService } from '../../shared/services/application-data.service';\r\nimport { InteractionService } from '../../shared/services/interaction.service';\r\nimport { BonLivraisonApiErrorCodes } from '../models/api/bon-livraison-api-error-codes';\r\nimport { BonLivraisonModel, BonLivraisonStatut, MiseEnConformiteStatut, ReceptionStatut } from '../models/bon-livraison.model';\r\nimport { BonLivraisonService } from '../services/bon-livraison.service';\r\nimport { PopupValidationComponent } from './popup-validation/popup-validation.component';\r\nimport { PopupValidationModel } from './popup-validation/popup-validation.model';\r\n\r\n@Component({\r\n selector: 'app-details-bon-livraison',\r\n templateUrl: './details-bon-livraison.component.html',\r\n styleUrls: ['./details-bon-livraison.component.scss']\r\n})\r\nexport class DetailsBonLivraisonComponent implements OnInit, OnDestroy {\r\n\r\n private bonLivraisonCode: string;\r\n public detailsBonLivraison: BonLivraisonModel;\r\n private _originalBonLivraisonQteLivreeCheckSum: string;\r\n\r\n public get hasChanged() {\r\n return this.detailsBonLivraison && (this._originalBonLivraisonQteLivreeCheckSum != this.bonLivraisonService.checkSumQteLivree(this.detailsBonLivraison));\r\n }\r\n\r\n public get hasManque() {\r\n return this.detailsBonLivraison && this.bonLivraisonService.checkHasManque(this.detailsBonLivraison);\r\n }\r\n\r\n public get notifyDateFinReceptionExpired() {\r\n return this.detailsBonLivraison\r\n && this.detailsBonLivraison.dateFinReceptionExpired\r\n && !this.detailsBonLivraison.dateClotureExpired;\r\n }\r\n\r\n public get notifyDateClotureExpired() {\r\n // on met en évidence la Clotûre lorsque le bon a été cloturé automatiquement (statut ConformeCloture)\r\n return this.detailsBonLivraison\r\n && this.detailsBonLivraison.dateClotureExpired\r\n && (this.detailsBonLivraison.statut == BonLivraisonStatut.AReceptionnerCloture\r\n || this.detailsBonLivraison.statut == BonLivraisonStatut.ManqueCloture);\r\n }\r\n\r\n public isValidate: boolean = false;\r\n\r\n public isLoadingBonLivraison: boolean = false;\r\n\r\n private askLoadDetailsBLEmitter: EventEmitter = new EventEmitter();\r\n\r\n private _currentRestaurantId?: number;\r\n\r\n // declare enum property to allow use in component template. see: http://stackoverflow.com/a/40034109/590741\r\n public BonLivraisonStatutEnum: typeof BonLivraisonStatut = BonLivraisonStatut; // tslint:disable-line: variable-name\r\n public ReceptionStatutEnum: typeof ReceptionStatut = ReceptionStatut; // tslint:disable-line: variable-name\r\n public MiseEnConformiteStatutEnum: typeof MiseEnConformiteStatut = MiseEnConformiteStatut; // tslint:disable-line: variable-name\r\n\r\n constructor(private route: ActivatedRoute,\r\n private bonLivraisonService: BonLivraisonService,\r\n private appDataService: ApplicationDataService,\r\n private authService: AuthenticationService,\r\n private interactionService: InteractionService,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n this.route.params\r\n .pipe(\r\n untilDestroyed(this)\r\n )\r\n // .observeOn(Scheduler.asap) // TODO: à voir : le changement de title doit être fait de façon synchrone pour ne pas planter le ChangeDetector\r\n .subscribe(params => {\r\n this.bonLivraisonCode = params.codeBonLivraison;\r\n if (this.bonLivraisonCode != null) {\r\n this.appDataService.changePageTitle(`Réception ${this.bonLivraisonCode}`);\r\n this.askToGetDetails();\r\n }\r\n }\r\n );\r\n\r\n this.appDataService.restaurant$\r\n .pipe(\r\n untilDestroyed(this)\r\n )\r\n .subscribe(\r\n restaurant => {\r\n if (restaurant != null) {\r\n this._currentRestaurantId = restaurant.id;\r\n }\r\n }\r\n );\r\n\r\n this.askLoadDetailsBLEmitter\r\n .pipe(\r\n untilDestroyed(this),\r\n debounceTime(500))\r\n .subscribe(\r\n () => {\r\n this.bonLivraisonService.getBonLivraison(this.bonLivraisonCode)\r\n .subscribe(\r\n bonLivraison => {\r\n if (bonLivraison.statut === BonLivraisonStatut.ALivrer) {\r\n this.router.navigate(['/bonlivraison/livraison/' + bonLivraison.code], { queryParams: {} });\r\n } else {\r\n this.isLoadingBonLivraison = false;\r\n this.detailsBonLivraison = bonLivraison;\r\n this._originalBonLivraisonQteLivreeCheckSum = this.bonLivraisonService.checkSumQteLivree(this.detailsBonLivraison);\r\n // console.log(success);\r\n this.updateCurrentRestaurantIfNeeded();\r\n }\r\n },\r\n (error: ErrorApiModel) => {\r\n this.isLoadingBonLivraison = false;\r\n if (error.Code === BonLivraisonApiErrorCodes.BonLivraisonNotFound) {\r\n this.interactionService.showSimpleMessage(`Réception ${this.bonLivraisonCode} inconnu`, 'Veuillez saisir un autre code.');\r\n this.router.navigate(['/bonlivraison'], { queryParams: {} });\r\n } else {\r\n const notifModel = new NotificationModel();\r\n notifModel.title = 'Erreur';\r\n notifModel.message = 'Erreur de chargement du bon : \\n' + error.Message;\r\n this.interactionService.showNotification(notifModel);\r\n }\r\n });\r\n }\r\n );\r\n\r\n this.askToGetDetails();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // mandatory (untildestroy)\r\n }\r\n\r\n private askToGetDetails() {\r\n this.isLoadingBonLivraison = true;\r\n this.askLoadDetailsBLEmitter.emit();\r\n }\r\n\r\n private updateCurrentRestaurantIfNeeded() {\r\n if (this._currentRestaurantId != null\r\n && this._currentRestaurantId != this.detailsBonLivraison.restaurantId) {\r\n this.authService.currentUser$\r\n .pipe(\r\n first(),\r\n filter(user => !!user),\r\n untilDestroyed(this)\r\n )\r\n .subscribe(user => {\r\n // find restaurantModel in user perimeter\r\n const bonLivraisonContrat = user.allContrats.find(c => c.id === this.detailsBonLivraison.contratId);\r\n const bonLivraisonResto = bonLivraisonContrat.restaurants.find(r => r.id === this.detailsBonLivraison.restaurantId);\r\n this.appDataService.changeContrat(bonLivraisonContrat).pipe(first()).subscribe();\r\n this.appDataService.changeRestaurant(bonLivraisonResto, true).pipe(first()).subscribe();\r\n });\r\n }\r\n }\r\n\r\n validate() {\r\n const notif: NotificationCustomModel = new NotificationCustomModel();\r\n notif.id = 1;\r\n notif.title = 'Valider le BL';\r\n notif.type = PopupValidationComponent;\r\n notif.fullScreen = false;\r\n notif.closeOnBackdropClick = false;\r\n const popupModel: PopupValidationModel = {\r\n bonLivraison: this.detailsBonLivraison,\r\n hasModification: this.hasChanged\r\n };\r\n notif.data = popupModel;\r\n notif.hasNoOverflow = true;\r\n\r\n this.interactionService.showNotification(notif);\r\n\r\n }\r\n\r\n public get isModifiable() {\r\n return ((this.detailsBonLivraison.peutReceptionner) || (this.detailsBonLivraison.peutMettreEnConformite));\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./details-bon-livraison.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../loader/loader.component.ngfactory\";\nimport * as i3 from \"../../loader/loader.component\";\nimport * as i4 from \"./composants-livres/composants-livres.component.ngfactory\";\nimport * as i5 from \"./composants-livres/composants-livres.component\";\nimport * as i6 from \"@angular/common\";\nimport * as i7 from \"../bon-livraison-info-header/bon-livraison-info-header.component.ngfactory\";\nimport * as i8 from \"../bon-livraison-info-header/bon-livraison-info-header.component\";\nimport * as i9 from \"../bonlivraison-info-panel/bonlivraison-info-panel.component.ngfactory\";\nimport * as i10 from \"../bonlivraison-info-panel/bonlivraison-info-panel.component\";\nimport * as i11 from \"../services/bon-livraison.service\";\nimport * as i12 from \"./details-bon-livraison.component\";\nimport * as i13 from \"@angular/router\";\nimport * as i14 from \"../../shared/services/application-data.service\";\nimport * as i15 from \"../../shared/services/authentication/authentication.service\";\nimport * as i16 from \"../../shared/services/interaction.service\";\nvar styles_DetailsBonLivraisonComponent = [i0.styles];\nvar RenderType_DetailsBonLivraisonComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_DetailsBonLivraisonComponent, data: {} });\nexport { RenderType_DetailsBonLivraisonComponent as RenderType_DetailsBonLivraisonComponent };\nfunction View_DetailsBonLivraisonComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loader-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement...\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_DetailsBonLivraisonComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"button\", [[\"class\", \"generic-button validate-button\"]], [[2, \"red-button\", null], [2, \"green-button\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.validate() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\" Valider \"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isValidate; var currVal_1 = _co.isValidate; _ck(_v, 0, 0, currVal_0, currVal_1); }); }\nfunction View_DetailsBonLivraisonComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"save-button\"], [\"title\", \"Valider\"]], [[2, \"red-button\", null], [2, \"green-button\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.validate() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"div\", [], null, null, null, null, null))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isValidate; var currVal_1 = _co.isValidate; _ck(_v, 0, 0, currVal_0, currVal_1); }); }\nfunction View_DetailsBonLivraisonComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 11, \"div\", [[\"class\", \"composant-section\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"div\", [[\"class\", \"composant-libelle\"]], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\"\", \"\"])), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [[\"class\", \"composant-quantite\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"])), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"div\", [[\"class\", \"composant-contenance\"]], null, null, null, null, null)), (_l()(), i1.ɵted(7, null, [\"x\", \"\"])), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"div\", [[\"class\", \"composant-mesure\"]], null, null, null, null, null)), (_l()(), i1.ɵted(9, null, [\"\", \"\"])), (_l()(), i1.ɵeld(10, 0, null, null, 2, \"div\", [[\"class\", \"composant-quantite-relative\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 1, \"app-composants-livres\", [], null, null, null, i4.View_ComposantsLivresComponent_0, i4.RenderType_ComposantsLivresComponent)), i1.ɵdid(12, 638976, null, 0, i5.ComposantsLivresComponent, [], { composant: [0, \"composant\"], isModifiable: [1, \"isModifiable\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_4 = _v.context.$implicit; var currVal_5 = _co.detailsBonLivraison.peutReceptionner; _ck(_v, 12, 0, currVal_4, currVal_5); }, function (_ck, _v) { var currVal_0 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_0); var currVal_1 = _v.context.$implicit.quantite; _ck(_v, 5, 0, currVal_1); var currVal_2 = _v.context.$implicit.contenance; _ck(_v, 7, 0, currVal_2); var currVal_3 = _v.context.$implicit.unite; _ck(_v, 9, 0, currVal_3); }); }\nfunction View_DetailsBonLivraisonComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"div\", [[\"class\", \"plat-libelle\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DetailsBonLivraisonComponent_8)), i1.ɵdid(4, 278528, null, 0, i6.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var currVal_1 = _v.context.$implicit.bonLivraisonComposants; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var currVal_0 = _v.context.$implicit.libelle; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_DetailsBonLivraisonComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"div\", [[\"class\", \"famille-plat-libelle\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DetailsBonLivraisonComponent_7)), i1.ɵdid(4, 278528, null, 0, i6.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var currVal_1 = _v.context.$implicit.bonLivraisonPlats; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var currVal_0 = _v.context.$implicit.libelle; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_DetailsBonLivraisonComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"prestation-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"div\", [[\"class\", \"prestation-libelle restaurant-type-background\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DetailsBonLivraisonComponent_6)), i1.ɵdid(4, 278528, null, 0, i6.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var currVal_1 = _v.context.$implicit.bonLivraisonFamillePlats; _ck(_v, 4, 0, currVal_1); }, function (_ck, _v) { var currVal_0 = _v.context.$implicit.libelle; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_DetailsBonLivraisonComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 13, \"div\", [[\"class\", \"details-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"div\", [[\"class\", \"right-buttons\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DetailsBonLivraisonComponent_3)), i1.ɵdid(3, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(4, 0, null, null, 2, \"div\", [[\"class\", \"buttons-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DetailsBonLivraisonComponent_4)), i1.ɵdid(6, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"app-bon-livraison-info-header\", [], null, null, null, i7.View_BonLivraisonInfoHeaderComponent_0, i7.RenderType_BonLivraisonInfoHeaderComponent)), i1.ɵdid(8, 114688, null, 0, i8.BonLivraisonInfoHeaderComponent, [], { bonLivraison: [0, \"bonLivraison\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DetailsBonLivraisonComponent_5)), i1.ɵdid(10, 278528, null, 0, i6.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(11, 0, null, null, 2, \"div\", [[\"class\", \"restaurant-type-background secondary\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"app-bonlivraison-info-panel\", [], null, null, null, i9.View_BonlivraisonInfoPanelComponent_0, i9.RenderType_BonlivraisonInfoPanelComponent)), i1.ɵdid(13, 638976, null, 0, i10.BonlivraisonInfoPanelComponent, [i11.BonLivraisonService], { bonLivraison: [0, \"bonLivraison\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isModifiable; _ck(_v, 3, 0, currVal_0); var currVal_1 = _co.isModifiable; _ck(_v, 6, 0, currVal_1); var currVal_2 = _co.detailsBonLivraison; _ck(_v, 8, 0, currVal_2); var currVal_3 = _co.detailsBonLivraison.bonLivraisonPrestations; _ck(_v, 10, 0, currVal_3); var currVal_4 = _co.detailsBonLivraison; _ck(_v, 13, 0, currVal_4); }, null); }\nexport function View_DetailsBonLivraisonComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_DetailsBonLivraisonComponent_1)), i1.ɵdid(1, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DetailsBonLivraisonComponent_2)), i1.ɵdid(3, 16384, null, 0, i6.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isLoadingBonLivraison; _ck(_v, 1, 0, currVal_0); var currVal_1 = (!_co.isLoadingBonLivraison && (_co.detailsBonLivraison != null)); _ck(_v, 3, 0, currVal_1); }, null); }\nexport function View_DetailsBonLivraisonComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-details-bon-livraison\", [], null, null, null, View_DetailsBonLivraisonComponent_0, RenderType_DetailsBonLivraisonComponent)), i1.ɵdid(1, 245760, null, 0, i12.DetailsBonLivraisonComponent, [i13.ActivatedRoute, i11.BonLivraisonService, i14.ApplicationDataService, i15.AuthenticationService, i16.InteractionService, i13.Router], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar DetailsBonLivraisonComponentNgFactory = i1.ɵccf(\"app-details-bon-livraison\", i12.DetailsBonLivraisonComponent, View_DetailsBonLivraisonComponent_Host_0, {}, {}, []);\nexport { DetailsBonLivraisonComponentNgFactory as DetailsBonLivraisonComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"@charset \\\"UTF-8\\\";[_nghost-%COMP%] .statut-dot[_ngcontent-%COMP%]::before{content:\\\"\\\";font-size:4em;display:inline-block;border:.05em solid transparent;position:relative;border-radius:.35em;margin-bottom:-.05em;margin-right:.1em}[_nghost-%COMP%] .statut-ALivrer.statut-dot[_ngcontent-%COMP%]::before{border-color:#ff9407}[_nghost-%COMP%] .statut-AReceptionner.statut-dot[_ngcontent-%COMP%]::before{border-color:#ff9407}[_nghost-%COMP%] .statut-Manque.statut-dot[_ngcontent-%COMP%]::before{border-color:#ff9407}[_nghost-%COMP%] .statut-Conforme.statut-dot[_ngcontent-%COMP%]::before{border-color:#28a745}[_nghost-%COMP%] .statut-AReceptionnerCloture.statut-dot[_ngcontent-%COMP%]::before{border-color:#b56000}[_nghost-%COMP%] .statut-ManqueCloture.statut-dot[_ngcontent-%COMP%]::before{border-color:#b56000}[_nghost-%COMP%] .statut-NonConforme.statut-dot[_ngcontent-%COMP%]::before{border-color:#dc3545}[_nghost-%COMP%] .generic-button[_ngcontent-%COMP%]{font-size:14px}[_nghost-%COMP%] .details-container[_ngcontent-%COMP%]{margin-bottom:80px}@media only screen and (min-width:970px){[_nghost-%COMP%] .details-container[_ngcontent-%COMP%]{margin-bottom:20px;padding-left:20px;padding-right:20px;max-width:900px;margin-left:auto;margin-right:auto}}[_nghost-%COMP%] .prestation-libelle[_ngcontent-%COMP%]{font-size:18pt;background-color:#f2f2f1;padding-left:5px;color:#fff}[_nghost-%COMP%] .famille-plat-libelle[_ngcontent-%COMP%]{font-size:18pt;background-color:#f2f2f1;padding-left:10px;margin-bottom:5px}[_nghost-%COMP%] .plat-libelle[_ngcontent-%COMP%]{font-size:24px;padding-left:15px}[_nghost-%COMP%] .composant-libelle[_ngcontent-%COMP%]{font-size:11pt;font-style:italic;-ms-flex-positive:1;flex-grow:1;margin:0 5px}[_nghost-%COMP%] .composant-quantite[_ngcontent-%COMP%]{margin-left:5px;width:35px;font-weight:600;font-size:18px;font-family:monospace;-ms-flex-negative:0;flex-shrink:0;text-align:right}[_nghost-%COMP%] .composant-contenance[_ngcontent-%COMP%]{margin-left:5px;min-width:45px;-ms-flex-negative:0;flex-shrink:0;font-family:monospace;font-size:16px}[_nghost-%COMP%] .composant-mesure[_ngcontent-%COMP%]{margin-left:5px;width:85px;margin-right:5px;-ms-flex-negative:0;flex-shrink:0}[_nghost-%COMP%] .composant-quantite-relative[_ngcontent-%COMP%]{width:105px;-ms-flex-negative:0;flex-shrink:0}[_nghost-%COMP%] .composant-section[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:baseline;align-items:baseline;margin:5px 0;max-width:800px}[_nghost-%COMP%] .right-buttons[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%]{position:fixed;bottom:10px;left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%);z-index:10}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .button-base[_ngcontent-%COMP%], [_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{float:left;position:relative;width:60px;height:60px;border-radius:35px;box-shadow:2px 2px 4px #5d5d5d}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{cursor:pointer}@media only screen and (min-width:970px){[_nghost-%COMP%] .right-buttons[_ngcontent-%COMP%]{display:block;-ms-flex-negative:0;flex-shrink:0;text-align:right;margin-bottom:5px}[_nghost-%COMP%] .right-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{font-size:14px;height:35px;vertical-align:top;margin-left:10px}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{display:none}}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{position:absolute;border-bottom:5px solid #fff;border-right:5px solid #fff;width:14px;height:29px;top:50%;left:50%;-ms-transform:translateX(-50%) translateY(-60%) rotate(45deg);transform:translateX(-50%) translateY(-60%) rotate(45deg)}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]:hover{background-color:#444}[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]:disabled{opacity:.8;cursor:not-allowed}[_nghost-%COMP%] [ng-reflect-restaurant-color].libelle-item-BL[_ngcontent-%COMP%]{color:#fff;padding:2px}[_nghost-%COMP%] [ng-reflect-restaurant-color].prestation-libelle[_ngcontent-%COMP%]{color:#fff;padding:2px}[_nghost-%COMP%] .collapsable[_ngcontent-%COMP%]{max-height:initial;visibility:visible;opacity:1;overflow:hidden}[_nghost-%COMP%] .collapsable.collapsed[_ngcontent-%COMP%]{max-height:0!important;height:0!important;margin:0!important;padding:0!important}[_nghost-%COMP%] .loader-container[_ngcontent-%COMP%]{margin-top:100px}[_nghost-%COMP%] .statut-dot[_ngcontent-%COMP%]::before{width:.15em;height:.15em}[_nghost-%COMP%] .date-expired[_ngcontent-%COMP%]{color:#e20035}\"];\nexport { styles as styles };\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{ prestation.libelle }}
\r\n
\r\n
{{ famillePlat.libelle }}
\r\n
\r\n
{{ plat.libelle }}
\r\n
\r\n
\r\n
{{ composant.libelle }}
\r\n
{{ composant.quantite }}
\r\n
x{{ composant.contenance }}
\r\n
{{ composant.unite }}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-circle-loader',\r\n templateUrl: './circle-loader.component.html',\r\n styleUrls: ['./circle-loader.component.scss']\r\n})\r\nexport class CircleLoaderComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./circle-loader.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"./circle-loader.component\";\nvar styles_CircleLoaderComponent = [i0.styles];\nvar RenderType_CircleLoaderComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_CircleLoaderComponent, data: {} });\nexport { RenderType_CircleLoaderComponent as RenderType_CircleLoaderComponent };\nexport function View_CircleLoaderComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"div\", [[\"class\", \"loader\"]], null, null, null, null, null))], null, null); }\nexport function View_CircleLoaderComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-circle-loader\", [], null, null, null, View_CircleLoaderComponent_0, RenderType_CircleLoaderComponent)), i1.ɵdid(1, 114688, null, 0, i2.CircleLoaderComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar CircleLoaderComponentNgFactory = i1.ɵccf(\"app-circle-loader\", i2.CircleLoaderComponent, View_CircleLoaderComponent_Host_0, {}, {}, []);\nexport { CircleLoaderComponentNgFactory as CircleLoaderComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"@-webkit-keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}[_nghost-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:100%;width:100%;-ms-flex-pack:center;justify-content:center}[_nghost-%COMP%] .loader[_ngcontent-%COMP%]{border-radius:50%;width:14px;height:14px;border:.25rem solid #969696;border-top-color:#fff;-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}\"];\nexport { styles as styles };\n","
\r\n
","\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { debounceTime, finalize, first } from 'rxjs/operators';\r\nimport { DiscussionMessageDocumentModel } from '../discussion/models/discussion-message-document.model';\r\nimport { FileTypeEnum } from '../discussion/models/file-type.enum';\r\nimport { DiscussionService } from '../discussion/services/discussion.service';\r\nimport { FileHelper } from '../shared/helpers/file.helper';\r\nimport { InteractionService } from '../shared/services/interaction.service';\r\n\r\nconst FILE_IMAGE_PATH = \"/assets/images/files/\";\r\nconst FILE_EXCEL = \"excel.png\";\r\nconst FILE_WORD = \"word.png\";\r\nconst FILE_PPT = \"powerpoint.png\";\r\nconst FILE_DEFAULT = \"file.png\";\r\nconst FILE_NOMINIATURE = \"nominiature.png\";\r\n\r\n@Component({\r\n selector: 'app-document-thumbnail',\r\n templateUrl: './document-thumbnail.component.html',\r\n styleUrls: ['./document-thumbnail.component.scss'],\r\n host: {\r\n \"(click)\": \"downloadDocument()\"\r\n }\r\n})\r\nexport class DocumentThumbnailComponent implements OnInit {\r\n\r\n @Input() document: DiscussionMessageDocumentModel;\r\n\r\n @Output('imageLoaded') imageLoadedEmitter: EventEmitter = new EventEmitter();\r\n\r\n imageSource: string;\r\n isLoading: boolean = true;\r\n isImage: boolean;\r\n isOther: boolean;\r\n\r\n\r\n constructor(private discussionService: DiscussionService, private interactionService: InteractionService) { }\r\n\r\n ngOnInit() {\r\n this.isImage = this.document && this.document.type == FileTypeEnum.Image;\r\n this.isOther = this.document && this.document.type == FileTypeEnum.Other;\r\n\r\n this.loadDocumentThumbnail();\r\n }\r\n\r\n imageLoaded() {\r\n this.isLoading = false;\r\n this.imageLoadedEmitter.emit(true);\r\n }\r\n\r\n\r\n loadDocumentThumbnail() {\r\n if (this.document.type == FileTypeEnum.Image) {\r\n if (this.document.hasMiniature) {\r\n this.imageSource = this.discussionService.getThumbnailSrc(this.document.id);\r\n }\r\n else {\r\n this.imageSource = `${FILE_IMAGE_PATH}${FILE_NOMINIATURE}`;\r\n }\r\n }\r\n else {\r\n let fileName = this.getFileNameFromType(this.document.type);\r\n this.imageSource = `${FILE_IMAGE_PATH}${fileName}`;\r\n }\r\n }\r\n\r\n getFileNameFromType(type: FileTypeEnum): string {\r\n switch (this.document.type) {\r\n case FileTypeEnum.Excel:\r\n return FILE_EXCEL;\r\n case FileTypeEnum.Word:\r\n return FILE_WORD;\r\n case FileTypeEnum.Powerpoint:\r\n return FILE_PPT;\r\n default:\r\n return FILE_DEFAULT;\r\n }\r\n }\r\n\r\n\r\n public downloadDocument() {\r\n if (this.isLoading) {\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n this.discussionService.getDocument(this.document.id).pipe(\r\n debounceTime(500),\r\n first(),\r\n finalize(() => {\r\n this.isLoading = false;\r\n }))\r\n .subscribe(fileresult => {\r\n FileHelper.saveFile(fileresult);\r\n },\r\n err => {\r\n this.interactionService.showSimpleMessage(\"Erreur\", \"Une erreur est survenue lors de l'extraction du document.\");\r\n });\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./document-thumbnail.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../circle-loader/circle-loader.component.ngfactory\";\nimport * as i3 from \"../circle-loader/circle-loader.component\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"./document-thumbnail.component\";\nimport * as i6 from \"../discussion/services/discussion.service\";\nimport * as i7 from \"../shared/services/interaction.service\";\nvar styles_DocumentThumbnailComponent = [i0.styles];\nvar RenderType_DocumentThumbnailComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_DocumentThumbnailComponent, data: {} });\nexport { RenderType_DocumentThumbnailComponent as RenderType_DocumentThumbnailComponent };\nfunction View_DocumentThumbnailComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"img\", [], [[8, \"src\", 4]], [[null, \"load\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"load\" === en)) {\n var pd_0 = (_co.imageLoaded() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.imageSource; _ck(_v, 0, 0, currVal_0); }); }\nfunction View_DocumentThumbnailComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-circle-loader\", [[\"class\", \"loader\"]], null, null, null, i2.View_CircleLoaderComponent_0, i2.RenderType_CircleLoaderComponent)), i1.ɵdid(1, 114688, null, 0, i3.CircleLoaderComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nfunction View_DocumentThumbnailComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"p\", [[\"class\", \"extension\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.document.extension; _ck(_v, 1, 0, currVal_0); }); }\nexport function View_DocumentThumbnailComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_DocumentThumbnailComponent_1)), i1.ɵdid(1, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DocumentThumbnailComponent_2)), i1.ɵdid(3, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [[\"class\", \"filename\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DocumentThumbnailComponent_3)), i1.ɵdid(7, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.imageSource; _ck(_v, 1, 0, currVal_0); var currVal_1 = _co.isLoading; _ck(_v, 3, 0, currVal_1); var currVal_3 = _co.isOther; _ck(_v, 7, 0, currVal_3); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.document.nomFichier; _ck(_v, 5, 0, currVal_2); }); }\nexport function View_DocumentThumbnailComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-document-thumbnail\", [], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).downloadDocument() !== false);\n ad = (pd_0 && ad);\n } return ad; }, View_DocumentThumbnailComponent_0, RenderType_DocumentThumbnailComponent)), i1.ɵdid(1, 114688, null, 0, i5.DocumentThumbnailComponent, [i6.DiscussionService, i7.InteractionService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar DocumentThumbnailComponentNgFactory = i1.ɵccf(\"app-document-thumbnail\", i5.DocumentThumbnailComponent, View_DocumentThumbnailComponent_Host_0, { document: \"document\" }, { imageLoadedEmitter: \"imageLoaded\" }, []);\nexport { DocumentThumbnailComponentNgFactory as DocumentThumbnailComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{display:block;position:relative;height:100px;margin:2px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background:#f5f5f5;border-radius:4px;overflow:hidden}[_nghost-%COMP%]:hover{cursor:pointer;box-shadow:1px 1px 3px #8d8d8d}[_nghost-%COMP%] *[_ngcontent-%COMP%]{transition:all .5s}[_nghost-%COMP%] .loader[_ngcontent-%COMP%]{z-index:10;background:rgba(45,45,45,.7)}[_nghost-%COMP%] img[_ngcontent-%COMP%]{max-width:100%;max-height:100%}[_nghost-%COMP%] app-circle-loader[_ngcontent-%COMP%]{position:absolute}[_nghost-%COMP%] p.extension[_ngcontent-%COMP%]{position:absolute;top:60%;padding:0;text-transform:uppercase;margin:0;font-weight:700;font-size:14px}[_nghost-%COMP%] .filename[_ngcontent-%COMP%]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;bottom:0;left:0;right:0;height:26px;font-size:14px;white-space:nowrap;overflow:hidden;line-height:26px;padding:0 8px;color:#e8e8e8;background:rgba(0,0,0,.45);text-overflow:ellipsis;font-weight:500}\"];\nexport { styles as styles };\n","\r\n\r\n\r\n\r\n\r\n
{{document.nomFichier}}
\r\n

{{document.extension}}

","import { FileUploader } from 'ng2-file-upload';\r\nimport { Directive, ElementRef, Input, ViewContainerRef, ChangeDetectorRef } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[takePhoto]',\r\n host: {\r\n '(click)': 'onClick($event)'\r\n }\r\n})\r\nexport class TakePhotoDirective {\r\n private _uploader: FileUploader;\r\n\r\n @Input()\r\n set uploader(uploader: FileUploader) {\r\n this._uploader = uploader;\r\n this._updateView();\r\n\r\n }\r\n constructor(private _viewContainer: ViewContainerRef,\r\n private _changeDetectorRef: ChangeDetectorRef) {\r\n this._updateView();\r\n }\r\n\r\n onClick(event: Event) {\r\n if (window.cordova)\r\n this._takePicture();\r\n }\r\n\r\n private _updateView() {\r\n if (!window.cordova) {\r\n this._viewContainer.clear(); //hide element\r\n }\r\n }\r\n /**\r\n * Prise de photo avec le plugin cordova-plugin-camera\r\n */\r\n private _takePicture() {\r\n const uploader = this._uploader;\r\n const changeDetectorRef = this._changeDetectorRef;\r\n navigator.camera.getPicture(\r\n (imageURI) => {\r\n // console.log(imageURI);\r\n window.resolveLocalFileSystemURL(imageURI,\r\n (fileEntry: FileEntry) => {\r\n // console.log(\"fileEntry is file? \" + fileEntry.isFile.toString());\r\n // console.log(\"fileEntry nativeURL: \" + fileEntry.nativeURL);\r\n fileEntry.file((file: File) => {\r\n // console.log(\"file: \" + file.name);\r\n // console.log(\"file type: \" + file.type);\r\n\r\n //HACK le File n'est pas la classe native File (écrasée par Cordova), il faut donc lire manuellement le fichier avant le charger en tant que File natif (window.NativeFile)\r\n let reader = new FileReader();\r\n reader.onloadend = function () {\r\n // console.log(\"Successful load write: \" + this.result);\r\n var nativeFile = new window.NativeFile([this.result], file.name, { type: file.type });\r\n // console.log(nativeFile);\r\n uploader.addToQueue([nativeFile]);\r\n //force angular to detect changes (reader.onloadend is out of angular zone)\r\n changeDetectorRef.detectChanges();\r\n };\r\n reader.readAsArrayBuffer(file);\r\n });\r\n });\r\n\r\n },\r\n err => { },\r\n {\r\n quality: 70,\r\n destinationType: Camera.DestinationType.FILE_URI\r\n }\r\n );\r\n\r\n }\r\n\r\n}","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\r\nimport { FileItem, FileUploader } from \"ng2-file-upload\";\r\n\r\n@Component({\r\n selector: 'app-file-tag-list',\r\n templateUrl: './file-tag-list.component.html',\r\n styleUrls: ['./file-tag-list.component.scss'],\r\n //changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class FileTagListComponent implements OnInit {\r\n @Input()\r\n readonly: boolean;\r\n\r\n @Input()\r\n uploader: FileUploader;\r\n\r\n constructor(private cd: ChangeDetectorRef) { }\r\n\r\n ngOnInit() {\r\n this.uploader.onAfterAddingFile = (fileItem: FileItem) => this.onAfterAddingFile(fileItem);\r\n }\r\n\r\n onAfterAddingFile(addedItem: FileItem) {\r\n let matchingItem: FileItem = null;\r\n this.cd.markForCheck();\r\n this.uploader.queue.forEach(item => {\r\n if (addedItem.file.size == item.file.size\r\n && addedItem.file.name == item.file.name\r\n && addedItem.file.type == item.file.type) {\r\n if (matchingItem) {\r\n // C'est la deuxième fois qu'on retrouve le fichier, c'est le dernier ajouté donc on enlève l'ancien\r\n matchingItem.remove();\r\n return;\r\n }\r\n\r\n matchingItem = item;\r\n }\r\n });\r\n }\r\n\r\n deleteItem(item: FileItem) {\r\n if (this.readonly) {\r\n return;\r\n }\r\n\r\n item.remove();\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./file-tag-list.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./file-tag-list.component\";\nvar styles_FileTagListComponent = [i0.styles];\nvar RenderType_FileTagListComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_FileTagListComponent, data: {} });\nexport { RenderType_FileTagListComponent as RenderType_FileTagListComponent };\nfunction View_FileTagListComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"tag-item\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.deleteItem(_v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"div\", [[\"class\", \"tag-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"div\", [[\"class\", \"filename\"]], [[8, \"title\", 0]], null, null, null, null)), (_l()(), i1.ɵted(3, null, [\" \", \" \"])), (_l()(), i1.ɵeld(4, 0, null, null, 0, \"img\", [[\"class\", \"delete\"], [\"src\", \"/assets/images/circle-delete.png\"]], null, null, null, null, null))], null, function (_ck, _v) { var currVal_0 = _v.context.$implicit.file.name; _ck(_v, 2, 0, currVal_0); var currVal_1 = _v.context.$implicit.file.name; _ck(_v, 3, 0, currVal_1); }); }\nexport function View_FileTagListComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_FileTagListComponent_1)), i1.ɵdid(1, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.uploader.queue; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_FileTagListComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-file-tag-list\", [], null, null, null, View_FileTagListComponent_0, RenderType_FileTagListComponent)), i1.ɵdid(1, 114688, null, 0, i3.FileTagListComponent, [i1.ChangeDetectorRef], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar FileTagListComponentNgFactory = i1.ɵccf(\"app-file-tag-list\", i3.FileTagListComponent, View_FileTagListComponent_Host_0, { readonly: \"readonly\", uploader: \"uploader\" }, {}, []);\nexport { FileTagListComponentNgFactory as FileTagListComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}[_nghost-%COMP%] .tag-item[_ngcontent-%COMP%]{max-width:120px;overflow-x:hidden;margin:2px 6px 6px 0}[_nghost-%COMP%] .tag-item[_ngcontent-%COMP%] .tag-container[_ngcontent-%COMP%]{padding:3px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:center;justify-content:center;background:#e6e6e6;border:1px solid #b6b6b6;border-radius:4px}[_nghost-%COMP%] .tag-item[_ngcontent-%COMP%] .tag-container[_ngcontent-%COMP%]:hover{background:#b8b8b8;border-color:#636363;cursor:pointer}[_nghost-%COMP%] .tag-item[_ngcontent-%COMP%] .tag-container[_ngcontent-%COMP%] .filename[_ngcontent-%COMP%]{-ms-flex:1;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[_nghost-%COMP%] .tag-item[_ngcontent-%COMP%] .tag-container[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{height:16px;margin:2px 0 0 3px}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n {{item.file.name}}\r\n
\r\n \r\n
\r\n
","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\r\nimport { RequalifierDiscussionModel } from './requalifier-discussion.model';\r\nimport { PopupCustomComponentGeneric } from 'src/app/popup-custom/popup-custom-content.component';\r\nimport { TypeInterventionModel, TypeMaintenanceModel } from '../models/type-intervention.model';\r\nimport { flatMap } from 'lodash';\r\nimport { NgForm, FormControl, FormGroup } from '@angular/forms';\r\nimport { DiscussionService } from '../services/discussion.service';\r\nimport { InteractionService } from 'src/app/shared/services/interaction.service';\r\nimport { ErrorApiModel } from 'src/app/shared/models/api/error/error.apimodel';\r\nimport { throttleTime, first, finalize } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-requalifier-discussion',\r\n templateUrl: './requalifier-discussion.component.html',\r\n styleUrls: ['./requalifier-discussion.component.scss']\r\n})\r\nexport class RequalifierDiscussionComponent extends PopupCustomComponentGeneric implements OnInit, OnDestroy {\r\n\r\n public isSending: boolean;\r\n\r\n //#region data property override\r\n private _data: any;\r\n public get data(): any {\r\n return this._data;\r\n }\r\n public set data(data: any) {\r\n if (data !== this._data) {\r\n this._data = data;\r\n this.loadModel();\r\n }\r\n }\r\n //#endregion\r\n\r\n @ViewChild('form', { static: true })\r\n public form: NgForm; // FormGroup\r\n\r\n /** Form values */\r\n private _selectedTypeIntervention: TypeInterventionModel;\r\n public get selectedTypeIntervention(): TypeInterventionModel {\r\n return this._selectedTypeIntervention;\r\n }\r\n public set selectedTypeIntervention(value: TypeInterventionModel) {\r\n this._selectedTypeIntervention = value;\r\n this.selectedTypeMaintenance = null;\r\n }\r\n\r\n private _selectedTypeMaintenance: TypeMaintenanceModel;\r\n public get selectedTypeMaintenance(): TypeMaintenanceModel {\r\n return this._selectedTypeMaintenance;\r\n }\r\n public set selectedTypeMaintenance(v: TypeMaintenanceModel) {\r\n this._selectedTypeMaintenance = v;\r\n }\r\n\r\n public get hasTypeInterventions(): boolean {\r\n return this.model.typeInterventionGroups && this.model.typeInterventionGroups.length > 0;\r\n }\r\n\r\n public get hasTypeMaintenances(): boolean {\r\n return this.selectedTypeIntervention\r\n && this.selectedTypeIntervention.typeMaintenances\r\n && this.selectedTypeIntervention.typeMaintenances.length > 0;\r\n }\r\n\r\n public get hasChanged(): boolean {\r\n return this.model.discussion\r\n // HACK : quick null-safe check\r\n && (`${this.model.discussion.typeInterventionId}-${this.model.discussion.typeMaintenanceId}` !== `${this.selectedTypeIntervention && this.selectedTypeIntervention.id}-${this.selectedTypeMaintenance && this.selectedTypeMaintenance.id}`)\r\n ;\r\n }\r\n\r\n constructor(private discussionService: DiscussionService, private interactionService: InteractionService) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n\r\n private loadModel() {\r\n const typeInterventions = flatMap(this.model.typeInterventionGroups, tg => tg.typeInterventions);\r\n const typeIntervention = typeInterventions\r\n .find(ti => ti.id === this.model.discussion.typeInterventionId);\r\n this._selectedTypeIntervention = typeIntervention;\r\n\r\n const typeMaintenances = flatMap(flatMap(typeInterventions, ti => ti.typeMaintenances), tmg => tmg.typeMaintenances);\r\n const typeMaintenance = typeMaintenances\r\n .find(tm => tm.id === this.model.discussion.typeMaintenanceId);\r\n\r\n this._selectedTypeMaintenance = typeMaintenance;\r\n }\r\n\r\n public requalifierDiscussion() {\r\n if (!this.validateForm() || this.isSending) {\r\n return;\r\n }\r\n this.isSending = true;\r\n\r\n this.discussionService\r\n .requalifierDiscussion(\r\n this.model.discussion.id,\r\n this.selectedTypeIntervention.id,\r\n this.selectedTypeMaintenance && this.selectedTypeMaintenance.id\r\n )\r\n .pipe(\r\n throttleTime(2000),\r\n first(),\r\n finalize(() => {\r\n this.isSending = false;\r\n })\r\n )\r\n .subscribe((success) => {\r\n this.model.onRequalificationSucceed();\r\n this.close();\r\n },\r\n (err: ErrorApiModel) => {\r\n this.interactionService.showSimpleMessage('Erreur', `Une erreur est survenue lors de la création d\\'une nouvelle demande : ${err.Message}`);\r\n });\r\n }\r\n\r\n public close() {\r\n this.emitter.next();\r\n }\r\n\r\n private validateForm(): boolean {\r\n this.validateAllFormFields(this.form.form);\r\n return this.form.valid;\r\n }\r\n\r\n private validateAllFormFields(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) {\r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","\r\nimport { AfterViewChecked, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { FileUploader } from 'ng2-file-upload';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { Subscription, Observable } from 'rxjs';\r\nimport { throttleTime, finalize, first, skipUntil, filter } from 'rxjs/operators';\r\nimport { AuthenticationService } from 'src/app/shared/services/authentication/authentication.service';\r\nimport { DocumentThumbnailComponent } from '../../document-thumbnail/document-thumbnail.component';\r\nimport { ApplicationDataService } from '../../shared/services/application-data.service';\r\nimport { InteractionService } from '../../shared/services/interaction.service';\r\nimport { DiscussionMessageModel } from '../models/discussion-message.model';\r\nimport { DiscussionStatusEnum } from '../models/discussion-status.enum';\r\nimport { DiscussionModel } from '../models/discussion.model';\r\nimport { DiscussionService } from '../services/discussion.service';\r\nimport { NotificationCustomModel } from 'src/app/shared/models/notification.model';\r\nimport { RequalifierDiscussionComponent } from '../requalifier-discussion/requalifier-discussion.component';\r\nimport { RequalifierDiscussionModel } from '../requalifier-discussion/requalifier-discussion.model';\r\nimport { TypeInterventionGroup } from '../models/type-intervention.model';\r\nimport { RestaurantModel } from 'src/app/shared/models/restaurant.model';\r\n\r\n@Component({\r\n selector: 'discussion-details',\r\n templateUrl: './discussion-details.component.html',\r\n styleUrls: ['./discussion-details.component.scss']\r\n})\r\nexport class DiscussionDetailsComponent implements OnInit, AfterViewChecked, OnDestroy {\r\n\r\n /** ViewChildren */\r\n @ViewChildren(DocumentThumbnailComponent) thumbnailComponents: QueryList;\r\n\r\n @ViewChild('messageList', { static: true }) messageListElement: ElementRef;\r\n\r\n /** Inputs Outputs */\r\n\r\n @Input()\r\n public typeInterventionGroups$: Observable;\r\n\r\n @Input()\r\n public restaurant: RestaurantModel;\r\n\r\n private _discussion: DiscussionModel;\r\n @Input()\r\n set discussion(val: DiscussionModel) {\r\n this.clearData();\r\n this.clearThumbnailsData();\r\n this._discussion = val;\r\n if (val != null) {\r\n this.isClosed = val.statut == DiscussionStatusEnum.Ferme;\r\n this.initialIsClosed = this.isClosed;\r\n this.openDiscussion(val.id);\r\n }\r\n }\r\n get discussion() {\r\n return this._discussion;\r\n }\r\n\r\n @Output()\r\n discussionClosed: EventEmitter = new EventEmitter();\r\n @Output()\r\n messageLuTriggered: EventEmitter = new EventEmitter();\r\n @Output()\r\n refreshDiscussionsRequired: EventEmitter<{ isClosed: boolean, discussionId: number }> = new EventEmitter<{ isClosed: boolean, discussionId: number }>();\r\n\r\n /** Props */\r\n public discussionMessages: DiscussionMessageModel[] = [];\r\n public isLoadingMessages: boolean;\r\n public isSendingMessage: boolean;\r\n private userId: string;\r\n\r\n /** Form data */\r\n public text: string;\r\n public isClosed: boolean;\r\n private initialIsClosed: boolean;\r\n private isScrollBottomRequired: boolean;\r\n public uploader: FileUploader = new FileUploader({});\r\n\r\n /** image loaded */\r\n imageLoadedSubs: Subscription[] = [];\r\n imageLoadedCount = 0;\r\n\r\n public get showTakePictureButton() {\r\n return window.cordova != null;\r\n }\r\n\r\n\r\n constructor(private authService: AuthenticationService,\r\n private appDataService: ApplicationDataService,\r\n private discussionService: DiscussionService,\r\n private interactionService: InteractionService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.authService.currentUser$\r\n .pipe(untilDestroyed(this))\r\n .subscribe(user => {\r\n this.userId = user && user.id;\r\n });\r\n }\r\n\r\n onThumbnailImageLoaded() {\r\n // lorsqu'une thumbnail est loadé, on incrémente le compteur, lorsque tous les ThumbnailComponent ont été loadé (image loaded venant de la balise img) on scroll en bas\r\n if (this.imageLoadedCount++ === this.thumbnailComponents.length - 1) {\r\n this.scrollBottomMessages();\r\n this.clearThumbnailsData();\r\n }\r\n }\r\n\r\n clearThumbnailsData() {\r\n this.imageLoadedCount = 0;\r\n this.imageLoadedSubs.forEach(sub => {\r\n sub.unsubscribe();\r\n });\r\n\r\n this.imageLoadedSubs = [];\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (this.isScrollBottomRequired) {\r\n this.scrollBottomMessages();\r\n this.isScrollBottomRequired = false;\r\n if (this.thumbnailComponents) {\r\n this.thumbnailComponents.forEach(thumbComponent => {\r\n this.imageLoadedSubs.push(thumbComponent.imageLoadedEmitter.subscribe(res => {\r\n this.onThumbnailImageLoaded();\r\n }));\r\n });\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // required (untilDestroyed)\r\n }\r\n\r\n openDiscussion(discussionId: number) {\r\n this.isLoadingMessages = true;\r\n this.discussionService.getDiscussionMessages(this.userId, discussionId).pipe(\r\n throttleTime(1000),\r\n first(),\r\n // delay(100000), //debug\r\n finalize(() => {\r\n this.isLoadingMessages = false;\r\n }))\r\n .subscribe(messages => {\r\n this.discussionMessages = messages;\r\n this.isScrollBottomRequired = true;\r\n // Dans 2 secondes, si la discussion est toujours ouverte et non lue, on envoit la requete http lireDiscussion\r\n if (!this._discussion.lu) {\r\n setTimeout(() => {\r\n this.trySendLireDiscussion();\r\n }, 2000);\r\n }\r\n },\r\n err => {\r\n this.interactionService.showSimpleMessage('Erreur', 'Une erreur est survenue lors du chargement de la discussion.');\r\n this.clearData();\r\n });\r\n }\r\n\r\n private trySendLireDiscussion() {\r\n if (this._discussion != null) {\r\n this.discussionService.lireDiscussion(this._discussion.id)\r\n .subscribe(b => {\r\n this.appDataService.discussionLuDecreaseCount(1);\r\n this.messageLuTriggered.next(this._discussion.id);\r\n });\r\n }\r\n }\r\n\r\n sendMessage() {\r\n if (this._discussion == null || this.isSendingMessage) {\r\n return;\r\n }\r\n\r\n if (!this.text) {\r\n this.interactionService.showSimpleMessage('Erreur', 'Le texte du message n\\'est pas renseigné !');\r\n return;\r\n }\r\n\r\n const files = this.uploader.queue.map(i => i._file);\r\n\r\n this.isSendingMessage = true;\r\n this.discussionService.sendNewMessage(this.userId, this._discussion.id, this.text, this.isClosed, files).pipe(\r\n throttleTime(1000),\r\n first(),\r\n finalize(() => {\r\n this.isSendingMessage = false;\r\n }))\r\n .subscribe(msg => {\r\n this.discussionMessages.push(msg);\r\n\r\n // le statut a changé donc on doit changer de liste en conséquence pour garder le selected\r\n if (this.initialIsClosed != this.isClosed) {\r\n this.refreshDiscussionsRequired.next({ isClosed: this.isClosed, discussionId: this._discussion.id });\r\n }\r\n\r\n this.text = '';\r\n this.uploader.clearQueue();\r\n this.isScrollBottomRequired = true;\r\n },\r\n err => {\r\n this.interactionService.showSimpleMessage('Erreur', 'Le message n\\'a pas pu être envoyé.');\r\n });\r\n }\r\n\r\n clearData() {\r\n this.discussionMessages = null;\r\n this._discussion = null;\r\n this.text = '';\r\n this.uploader.clearQueue();\r\n }\r\n\r\n clearOnlyForm() {\r\n this.text = '';\r\n this.uploader.clearQueue();\r\n this.isClosed = false;\r\n }\r\n\r\n close(event: any = null) {\r\n if (event != null) {\r\n event.preventDefault();\r\n }\r\n\r\n this.clearOnlyForm();\r\n this.discussionClosed.next();\r\n }\r\n\r\n scrollBottomMessages() {\r\n if (this.messageListElement != null) {\r\n const element = this.messageListElement.nativeElement;\r\n if (element != null) {\r\n element.scrollTop = element.scrollHeight;\r\n }\r\n }\r\n }\r\n\r\n requalifierDemande() {\r\n // TODO loader\r\n\r\n this.typeInterventionGroups$\r\n .pipe(\r\n filter(tiGroups => tiGroups !== undefined),\r\n first()\r\n )\r\n .subscribe(tiGroups => {\r\n const notif: NotificationCustomModel = new NotificationCustomModel();\r\n notif.id = 1;\r\n notif.title = 'Requalifier la demande';\r\n notif.type = RequalifierDiscussionComponent;\r\n notif.fullScreen = false;\r\n notif.closeOnBackdropClick = false;\r\n const popupModel: RequalifierDiscussionModel = {\r\n discussion: this._discussion,\r\n typeInterventionGroups: tiGroups,\r\n restaurant: this.restaurant,\r\n onRequalificationSucceed: () => {\r\n this.refreshDiscussionsRequired.next({ isClosed: this.isClosed, discussionId: this._discussion.id });\r\n }\r\n };\r\n notif.data = popupModel;\r\n notif.hasNoOverflow = true;\r\n\r\n this.interactionService.showNotification(notif);\r\n });\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./discussion-details.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../loader/loader.component.ngfactory\";\nimport * as i3 from \"../../loader/loader.component\";\nimport * as i4 from \"../../document-thumbnail/document-thumbnail.component.ngfactory\";\nimport * as i5 from \"../../document-thumbnail/document-thumbnail.component\";\nimport * as i6 from \"../services/discussion.service\";\nimport * as i7 from \"../../shared/services/interaction.service\";\nimport * as i8 from \"@angular/common\";\nimport * as i9 from \"@angular/forms\";\nimport * as i10 from \"../../shared/directives/takePhoto.directive\";\nimport * as i11 from \"../../file-tag-list/file-tag-list.component.ngfactory\";\nimport * as i12 from \"../../file-tag-list/file-tag-list.component\";\nimport * as i13 from \"ng2-file-upload/file-upload/file-select.directive\";\nimport * as i14 from \"../../shared/pipes/dateFormat.pipe\";\nimport * as i15 from \"./discussion-details.component\";\nimport * as i16 from \"../../shared/services/authentication/authentication.service\";\nimport * as i17 from \"../../shared/services/application-data.service\";\nvar styles_DiscussionDetailsComponent = [i0.styles];\nvar RenderType_DiscussionDetailsComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_DiscussionDetailsComponent, data: {} });\nexport { RenderType_DiscussionDetailsComponent as RenderType_DiscussionDetailsComponent };\nfunction View_DiscussionDetailsComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"button\", [[\"class\", \"generic-button btn-requalifier restaurant-type-background\"], [\"title\", \"Requalifier la demande\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.requalifierDemande() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"edit\"])), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Requalifier la demande\"]))], null, null); }\nfunction View_DiscussionDetailsComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"info-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement des messages...\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement des messages...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_DiscussionDetailsComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [[\"class\", \"user\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"- \", \"\"]))], null, function (_ck, _v) { var currVal_0 = _v.parent.context.$implicit.utilisateur; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_DiscussionDetailsComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-document-thumbnail\", [], [[8, \"title\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).downloadDocument() !== false);\n ad = (pd_0 && ad);\n } return ad; }, i4.View_DocumentThumbnailComponent_0, i4.RenderType_DocumentThumbnailComponent)), i1.ɵdid(1, 114688, [[1, 4]], 0, i5.DocumentThumbnailComponent, [i6.DiscussionService, i7.InteractionService], { document: [0, \"document\"] }, null)], function (_ck, _v) { var currVal_1 = _v.context.$implicit; _ck(_v, 1, 0, currVal_1); }, function (_ck, _v) { var currVal_0 = _v.context.$implicit.nomFichier; _ck(_v, 0, 0, currVal_0); }); }\nfunction View_DiscussionDetailsComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"documents\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionDetailsComponent_6)), i1.ɵdid(2, 278528, null, 0, i8.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var currVal_0 = _v.parent.context.$implicit.documents; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_DiscussionDetailsComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, \"div\", [[\"class\", \"message\"]], [[2, \"my-message\", null], [8, \"hidden\", 0]], null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 5, \"div\", [[\"class\", \"infos\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 2, \"span\", [[\"class\", \"date restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\"\", \"\"])), i1.ɵppd(4, 2), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionDetailsComponent_4)), i1.ɵdid(6, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(7, 0, null, null, 7, \"div\", [[\"class\", \"message-text secondary\"]], null, null, null, null, null)), i1.ɵprd(512, null, i8.ɵNgClassImpl, i8.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(9, 278528, null, 0, i8.NgClass, [i8.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(10, { \"restaurant-type-border\": 0, \"restaurant-type-background\": 1 }), (_l()(), i1.ɵeld(11, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(12, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionDetailsComponent_5)), i1.ɵdid(14, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var currVal_3 = _v.context.$implicit.fromOtherUser; _ck(_v, 6, 0, currVal_3); var currVal_4 = \"message-text secondary\"; var currVal_5 = _ck(_v, 10, 0, !_v.context.$implicit.fromOtherUser, !_v.context.$implicit.fromOtherUser); _ck(_v, 9, 0, currVal_4, currVal_5); var currVal_7 = (_v.context.$implicit.documents.length > 0); _ck(_v, 14, 0, currVal_7); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = !_v.context.$implicit.fromOtherUser; var currVal_1 = _co.isLoadingMessages; _ck(_v, 0, 0, currVal_0, currVal_1); var currVal_2 = i1.ɵunv(_v, 3, 0, _ck(_v, 4, 0, i1.ɵnov(_v.parent, 0), _v.context.$implicit.dateCreation, \"DD/MM/YYYY \\u00E0 HH:mm:ss\")); _ck(_v, 3, 0, currVal_2); var currVal_6 = _v.context.$implicit.texte; _ck(_v, 12, 0, currVal_6); }); }\nfunction View_DiscussionDetailsComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" 1 fichier \"]))], null, null); }\nfunction View_DiscussionDetailsComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\" \", \" fichiers \"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.uploader.queue.length; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_DiscussionDetailsComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 8, \"div\", [[\"class\", \"cloture\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 7, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 5, \"input\", [[\"name\", \"is-closed\"], [\"type\", \"checkbox\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 3).onChange($event.target.checked) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 3).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.isClosed = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(3, 16384, null, 0, i9.CheckboxControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i9.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i9.CheckboxControlValueAccessor]), i1.ɵdid(5, 671744, null, 0, i9.NgModel, [[2, i9.ControlContainer], [8, null], [8, null], [6, i9.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], isDisabled: [1, \"isDisabled\"], model: [2, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i9.NgControl, null, [i9.NgModel]), i1.ɵdid(7, 16384, null, 0, i9.NgControlStatus, [[4, i9.NgControl]], null, null), (_l()(), i1.ɵted(-1, null, [\" Cl\\u00F4turer \"]))], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"is-closed\"; var currVal_8 = _co.isSendingMessage; var currVal_9 = _co.isClosed; _ck(_v, 5, 0, currVal_7, currVal_8, currVal_9); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 7).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 7).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 7).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 7).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 7).ngClassValid; var currVal_5 = i1.ɵnov(_v, 7).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 7).ngClassPending; _ck(_v, 2, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nfunction View_DiscussionDetailsComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 16777216, null, null, 1, \"button\", [[\"class\", \"generic-button camera-button restaurant-type-background\"], [\"takePhoto\", \"\"], [\"type\", \"button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).onClick($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i10.TakePhotoDirective, [i1.ViewContainerRef, i1.ChangeDetectorRef], { uploader: [0, \"uploader\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.uploader; _ck(_v, 1, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isSendingMessage; _ck(_v, 0, 0, currVal_0); }); }\nfunction View_DiscussionDetailsComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 33, \"form\", [[\"class\", \"form-new-message \"], [\"novalidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 2).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 2).onReset() !== false);\n ad = (pd_1 && ad);\n } if ((\"submit\" === en)) {\n var pd_2 = (_co.sendMessage() !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i9.ɵangular_packages_forms_forms_z, [], null, null), i1.ɵdid(2, 4210688, null, 0, i9.NgForm, [[8, null], [8, null]], null, null), i1.ɵprd(2048, null, i9.ControlContainer, null, [i9.NgForm]), i1.ɵdid(4, 16384, null, 0, i9.NgControlStatusGroup, [[4, i9.ControlContainer]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionDetailsComponent_8)), i1.ɵdid(6, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionDetailsComponent_9)), i1.ɵdid(8, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(9, 0, null, null, 1, \"app-file-tag-list\", [], null, null, null, i11.View_FileTagListComponent_0, i11.RenderType_FileTagListComponent)), i1.ɵdid(10, 114688, null, 0, i12.FileTagListComponent, [i1.ChangeDetectorRef], { readonly: [0, \"readonly\"], uploader: [1, \"uploader\"] }, null), (_l()(), i1.ɵeld(11, 0, null, null, 7, \"textarea\", [[\"id\", \"new-message-text\"], [\"name\", \"message\"], [\"placeholder\", \"Message\"], [\"required\", \"\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 12)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 12).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 12)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 12)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.text = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(12, 16384, null, 0, i9.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i9.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(13, 16384, null, 0, i9.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i9.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i9.RequiredValidator]), i1.ɵprd(1024, null, i9.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i9.DefaultValueAccessor]), i1.ɵdid(16, 671744, null, 0, i9.NgModel, [[2, i9.ControlContainer], [6, i9.NG_VALIDATORS], [8, null], [6, i9.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], isDisabled: [1, \"isDisabled\"], model: [2, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i9.NgControl, null, [i9.NgModel]), i1.ɵdid(18, 16384, null, 0, i9.NgControlStatus, [[4, i9.NgControl]], null, null), (_l()(), i1.ɵeld(19, 0, null, null, 14, \"div\", [[\"class\", \"btn-row\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionDetailsComponent_10)), i1.ɵdid(21, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(22, 0, null, null, 11, \"div\", [[\"class\", \"right\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionDetailsComponent_11)), i1.ɵdid(24, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(25, 0, null, null, 0, \"button\", [[\"class\", \"generic-button upload-button restaurant-type-background\"], [\"type\", \"button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 32).click() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(26, 0, null, null, 2, \"button\", [[\"class\", \"generic-button red-tile-button cancel-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.close($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(27, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Annuler\"])), (_l()(), i1.ɵeld(29, 0, null, null, 2, \"button\", [[\"class\", \"generic-button green-tile-button send-button restaurant-type-background\"], [\"type\", \"submit\"]], [[8, \"disabled\", 0]], null, null, null, null)), (_l()(), i1.ɵeld(30, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(31, null, [\"\", \"\"])), (_l()(), i1.ɵeld(32, 0, [[\"fileInput\", 1]], null, 1, \"input\", [[\"capture\", \"true\"], [\"multiple\", \"\"], [\"name\", \"file-input\"], [\"ng2FileSelect\", \"\"], [\"type\", \"file\"]], [[8, \"disabled\", 0]], [[null, \"change\"]], function (_v, en, $event) { var ad = true; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 33).onChange() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(33, 16384, null, 0, i13.FileSelectDirective, [i1.ElementRef], { uploader: [0, \"uploader\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = (_co.uploader.queue.length == 1); _ck(_v, 6, 0, currVal_7); var currVal_8 = (_co.uploader.queue.length > 1); _ck(_v, 8, 0, currVal_8); var currVal_9 = _co.isSendingMessage; var currVal_10 = _co.uploader; _ck(_v, 10, 0, currVal_9, currVal_10); var currVal_19 = \"\"; _ck(_v, 13, 0, currVal_19); var currVal_20 = \"message\"; var currVal_21 = _co.isSendingMessage; var currVal_22 = _co.text; _ck(_v, 16, 0, currVal_20, currVal_21, currVal_22); var currVal_23 = (_co.discussion && _co.discussion.peutCloturer); _ck(_v, 21, 0, currVal_23); var currVal_24 = _co.showTakePictureButton; _ck(_v, 24, 0, currVal_24); var currVal_30 = _co.uploader; _ck(_v, 33, 0, currVal_30); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 4).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 4).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 4).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 4).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 4).ngClassValid; var currVal_5 = i1.ɵnov(_v, 4).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 4).ngClassPending; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_11 = (i1.ɵnov(_v, 13).required ? \"\" : null); var currVal_12 = i1.ɵnov(_v, 18).ngClassUntouched; var currVal_13 = i1.ɵnov(_v, 18).ngClassTouched; var currVal_14 = i1.ɵnov(_v, 18).ngClassPristine; var currVal_15 = i1.ɵnov(_v, 18).ngClassDirty; var currVal_16 = i1.ɵnov(_v, 18).ngClassValid; var currVal_17 = i1.ɵnov(_v, 18).ngClassInvalid; var currVal_18 = i1.ɵnov(_v, 18).ngClassPending; _ck(_v, 11, 0, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17, currVal_18); var currVal_25 = _co.isSendingMessage; _ck(_v, 25, 0, currVal_25); var currVal_26 = _co.isSendingMessage; _ck(_v, 26, 0, currVal_26); var currVal_27 = _co.isSendingMessage; _ck(_v, 29, 0, currVal_27); var currVal_28 = (_co.isSendingMessage ? \"Envoi en cours...\" : \"Envoyer\"); _ck(_v, 31, 0, currVal_28); var currVal_29 = _co.isSendingMessage; _ck(_v, 32, 0, currVal_29); }); }\nexport function View_DiscussionDetailsComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i14.DateFormatPipe, []), i1.ɵqud(671088640, 1, { thumbnailComponents: 1 }), i1.ɵqud(402653184, 2, { messageListElement: 0 }), (_l()(), i1.ɵeld(3, 0, [[2, 0], [\"messageList\", 1]], null, 26, \"div\", [[\"class\", \"messages-list\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 21, \"div\", [[\"class\", \"messages-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 17, \"div\", [[\"class\", \"messages-header-column\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 4, \"div\", [[\"class\", \"messages-header-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"i\", [[\"class\", \"material-icons restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"home\"])), (_l()(), i1.ɵeld(9, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(10, null, [\" \", \"\"])), (_l()(), i1.ɵeld(11, 0, null, null, 6, \"div\", [[\"class\", \"messages-header-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"i\", [[\"class\", \"material-icons restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"chevron_right\"])), (_l()(), i1.ɵeld(14, 0, null, null, 3, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(15, null, [\" \", \"\"])), (_l()(), i1.ɵeld(16, 0, null, null, 1, \"small\", [], null, null, null, null, null)), (_l()(), i1.ɵted(17, null, [\"\", \"\"])), (_l()(), i1.ɵeld(18, 0, null, null, 4, \"div\", [[\"class\", \"messages-header-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(19, 0, null, null, 1, \"i\", [[\"class\", \"material-icons restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"message\"])), (_l()(), i1.ɵeld(21, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(22, null, [\" \", \"\"])), (_l()(), i1.ɵeld(23, 0, null, null, 2, \"div\", [[\"class\", \"messages-header-column\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionDetailsComponent_1)), i1.ɵdid(25, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionDetailsComponent_2)), i1.ɵdid(27, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionDetailsComponent_3)), i1.ɵdid(29, 278528, null, 0, i8.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionDetailsComponent_7)), i1.ɵdid(31, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_4 = (_co.discussion && _co.discussion.peutRequalifier); _ck(_v, 25, 0, currVal_4); var currVal_5 = _co.isLoadingMessages; _ck(_v, 27, 0, currVal_5); var currVal_6 = _co.discussionMessages; _ck(_v, 29, 0, currVal_6); var currVal_7 = !_co.isLoadingMessages; _ck(_v, 31, 0, currVal_7); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.discussion && (((_co.discussion.restaurant + \" (\") + _co.discussion.contrat) + \")\")); _ck(_v, 10, 0, currVal_0); var currVal_1 = (_co.discussion && _co.discussion.typeIntervention); _ck(_v, 15, 0, currVal_1); var currVal_2 = ((_co.discussion && _co.discussion.typeMaintenance) ? (\" - \" + _co.discussion.typeMaintenance) : null); _ck(_v, 17, 0, currVal_2); var currVal_3 = (_co.discussion && _co.discussion.sujet); _ck(_v, 22, 0, currVal_3); }); }\nexport function View_DiscussionDetailsComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"discussion-details\", [], null, null, null, View_DiscussionDetailsComponent_0, RenderType_DiscussionDetailsComponent)), i1.ɵdid(1, 8634368, null, 0, i15.DiscussionDetailsComponent, [i16.AuthenticationService, i17.ApplicationDataService, i6.DiscussionService, i7.InteractionService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar DiscussionDetailsComponentNgFactory = i1.ɵccf(\"discussion-details\", i15.DiscussionDetailsComponent, View_DiscussionDetailsComponent_Host_0, { typeInterventionGroups$: \"typeInterventionGroups$\", restaurant: \"restaurant\", discussion: \"discussion\" }, { discussionClosed: \"discussionClosed\", messageLuTriggered: \"messageLuTriggered\", refreshDiscussionsRequired: \"refreshDiscussionsRequired\" }, []);\nexport { DiscussionDetailsComponentNgFactory as DiscussionDetailsComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] *[_ngcontent-%COMP%], [_nghost-%COMP%] [_ngcontent-%COMP%]:after, [_nghost-%COMP%] [_ngcontent-%COMP%]:before{box-sizing:border-box}[_nghost-%COMP%] .page-container[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%]{padding:10px}@media only screen and (max-width:767px){[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:calc(100% - 57px);overflow-y:auto}[_nghost-%COMP%] .page-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{overflow:auto;overflow-x:hidden}[_nghost-%COMP%] discussion-details[_ngcontent-%COMP%]{position:fixed;top:57px;right:0;bottom:0;left:0;transition:all .3s ease-in-out;-ms-transform:translateX(100%);transform:translateX(100%)}[_nghost-%COMP%] .page-container.messages-visible[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%]{position:fixed;left:50%;bottom:5px;-ms-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%;width:60px;height:60px;box-shadow:2px 2px 4px #000;z-index:10}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]{height:40px;width:40px}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]:after, [_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]:before{width:20px}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:none}}@media only screen and (min-width:768px){[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{min-height:300px;max-height:730px;display:-ms-flexbox;display:flex}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%]{-ms-flex-preferred-size:400px;flex-basis:400px;-ms-flex-negative:0;flex-shrink:0;overflow:auto;position:relative}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%]{padding:0}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%]{float:right}}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{display:block;text-align:left;margin:0 0 15px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{overflow:hidden;margin:0 0 10px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group-date[_ngcontent-%COMP%]{float:left;padding:0 5px 0 0;width:50%}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group-date[_ngcontent-%COMP%] + .form-group-date[_ngcontent-%COMP%]{padding:0 0 0 5px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .label-radio[_ngcontent-%COMP%]{display:inline-block;overflow:hidden;cursor:pointer}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .label-radio[_ngcontent-%COMP%] + .label-radio[_ngcontent-%COMP%]{margin:0 0 0 30px}[_nghost-%COMP%] .filter-group[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}[_nghost-%COMP%] .filter-on-contrat-filter[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .filter-on-contrat-filter[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] #search-text[_ngcontent-%COMP%]{background:url(/assets/images/loupe.png) calc(100% - 10px) 50% no-repeat #fff;box-sizing:border-box;border:1px solid gray;font-size:18px;padding:3px 10px;width:100%}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%]{background:#fafafa}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%], [_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] select[_ngcontent-%COMP%], [_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{background-color:#fff;border:1px solid #d1d1d1;display:block;margin:0;padding:10px;width:100%}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{font-family:josefin;font-size:1em}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{-ms-flex-item-align:start;align-self:flex-start;height:32px;width:32px;position:relative}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{border-top:2px solid #fff;border-right:2px solid #fff;width:14px;height:14px;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-ms-transform:rotate(-135deg);transform:rotate(-135deg);display:inline-block;position:absolute;top:9px;left:11px}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .send-button[_ngcontent-%COMP%]{-ms-flex-item-align:end;align-self:flex-end}[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{background:#fff;border-top:1px solid #d1d1d1;-ms-flex-positive:1;flex-grow:1}@media only screen and (min-width:768px){[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%]{margin:0 0 20px;width:400px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin:0 0 15px}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{border:1px solid #d1d1d1}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%]{border-right:1px solid #d1d1d1}}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{font-size:14px;list-style:none;margin:0;padding:0}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li.no-discussion[_ngcontent-%COMP%]{padding:20px}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{cursor:pointer;border-bottom:1px solid #d1d1d1}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li[_ngcontent-%COMP%] div.discussion-history-border[_ngcontent-%COMP%]{padding:15px;position:relative;border-left:5px solid transparent}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li[_ngcontent-%COMP%] div.discussion-history-border[_ngcontent-%COMP%]:hover{background:#e6e6e6}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .info-container[_ngcontent-%COMP%]{position:absolute;background:#fff;z-index:10}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-restaurant[_ngcontent-%COMP%]{font-size:17px;margin:0}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-sujet[_ngcontent-%COMP%], [_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-type[_ngcontent-%COMP%]{font-size:17px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-sujet[_ngcontent-%COMP%]{color:#b3b3b3;font-size:16px;margin:0 0 4px}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .restaurant-type-background .topic-sujet{color:#838383}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .date[_ngcontent-%COMP%]{color:#aebf2f;position:absolute;top:2px;right:8px}[_nghost-%COMP%] discussion-details[_ngcontent-%COMP%]{-ms-flex:1 1 0%;flex:1 1 0%;overflow:auto}[_nghost-%COMP%] .page-container.messages-visible[_ngcontent-%COMP%] discussion-details[_ngcontent-%COMP%]{visibility:visible;-ms-transform:translateX(0);transform:translateX(0)}[_nghost-%COMP%] .ie11-max-height-fix-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}[_nghost-%COMP%]{background:#fff;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch;overflow:auto;visibility:hidden}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%]{-ms-flex:1 1 0%;flex:1 1 0%;overflow-y:auto;overflow-x:hidden;padding:12px}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .info-container[_ngcontent-%COMP%]{height:80%}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .messages-header[_ngcontent-%COMP%]{margin-bottom:5px;margin-top:0;border-bottom:1px solid #d1d1d1;padding-bottom:5px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .messages-header[_ngcontent-%COMP%] .messages-header-item[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-weight:600}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .messages-header[_ngcontent-%COMP%] .messages-header-item[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{margin-right:3px}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .messages-header-column[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .messages-header-column[_ngcontent-%COMP%]:first-child{-ms-flex-positive:1;flex-grow:1}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .messages-header-column[_ngcontent-%COMP%]:not(:first-child){-ms-flex-negative:1;flex-shrink:1;justify-items:center;-ms-flex-pack:center;justify-content:center}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .btn-requalifier[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message[_ngcontent-%COMP%]{float:left;clear:both}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message[_ngcontent-%COMP%] + .message[_ngcontent-%COMP%]{margin:20px 0 0}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message[_ngcontent-%COMP%] .date[_ngcontent-%COMP%]{color:#aebf2f;font-weight:700;display:block;margin:0 0 5px}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message[_ngcontent-%COMP%] .message-text[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;clear:both;background:#ececec;border-color:#ececec;border-radius:10px;font-size:17px;margin:0;padding:10px;position:relative;white-space:pre-wrap;line-height:1}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message[_ngcontent-%COMP%] .message-text[_ngcontent-%COMP%] .documents[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:6px}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message[_ngcontent-%COMP%] .message-text[_ngcontent-%COMP%] .documents[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{min-width:100px}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message[_ngcontent-%COMP%] .message-text[_ngcontent-%COMP%]:before{content:\\\"\\\";display:block;height:0;width:0;border-style:solid;border-width:5px 4px 5px 0;border-color:transparent;border-right-color:inherit;position:absolute;top:10px;left:0;-ms-transform:translateX(-100%);transform:translateX(-100%)}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message[_ngcontent-%COMP%] .infos[_ngcontent-%COMP%]{clear:both}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message[_ngcontent-%COMP%] .infos[_ngcontent-%COMP%] .date[_ngcontent-%COMP%]{float:left;margin-right:2px}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message[_ngcontent-%COMP%] .infos[_ngcontent-%COMP%] .user[_ngcontent-%COMP%]{font-size:16px;font-weight:700}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message.my-message[_ngcontent-%COMP%]{float:right}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message.my-message[_ngcontent-%COMP%] .message-text[_ngcontent-%COMP%] .documents[_ngcontent-%COMP%]{-ms-flex-direction:row-reverse;flex-direction:row-reverse}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message.my-message[_ngcontent-%COMP%] .message-text[_ngcontent-%COMP%]{background:#eff3d5}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message.my-message[_ngcontent-%COMP%] .message-text[_ngcontent-%COMP%]:before{left:auto;right:0;-ms-transform:rotate(180deg) translateX(-100%);transform:rotate(180deg) translateX(-100%)}[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .message.my-message[_ngcontent-%COMP%] .infos[_ngcontent-%COMP%]{float:right}.form-new-message[_ngcontent-%COMP%]{border-top:1px solid #d1d1d1;padding:20px}.form-new-message[_ngcontent-%COMP%] textarea#new-message-text[_ngcontent-%COMP%]{width:100%;height:50px}@media only screen and (min-width:768px){[_nghost-%COMP%] .messages-list[_ngcontent-%COMP%] .btn-requalifier[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:inline}.form-new-message[_ngcontent-%COMP%] textarea#new-message-text[_ngcontent-%COMP%]{height:95px}}.form-new-message[_ngcontent-%COMP%] .btn-row[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.form-new-message[_ngcontent-%COMP%] .btn-row[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.form-new-message[_ngcontent-%COMP%] .btn-row[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .camera-button[_ngcontent-%COMP%], .form-new-message[_ngcontent-%COMP%] .btn-row[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .cancel-button[_ngcontent-%COMP%], .form-new-message[_ngcontent-%COMP%] .btn-row[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{margin-right:6px}.form-new-message[_ngcontent-%COMP%] .btn-row[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] input[type=file][_ngcontent-%COMP%]{display:none}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n
home {{ discussion && (discussion.restaurant + ' (' + discussion.contrat + ')') }}
\r\n
chevron_right {{ discussion && discussion.typeIntervention }}{{ discussion && discussion.typeMaintenance ? (' - ' + discussion.typeMaintenance) : null }}
\r\n
message {{ discussion && discussion.sujet }}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{msg.dateCreation | dateFormat:'DD/MM/YYYY à HH:mm:ss'}}\r\n - {{msg.utilisateur}}\r\n
\r\n
\r\n {{msg.texte}}\r\n
0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n 1 fichier\r\n
\r\n
1\"> {{uploader.queue.length}} fichiers\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","\nimport { Component, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { FileUploader } from 'ng2-file-upload';\nimport { debounceTime, finalize, first } from 'rxjs/operators';\nimport { InteractionService } from '../../shared/services/interaction.service';\nimport { TypeInterventionModel, TypeMaintenanceModel, TypeInterventionGroup } from '../models/type-intervention.model';\nimport { DiscussionService } from '../services/discussion.service';\nimport { RestaurantModel } from 'src/app/shared/models/restaurant.model';\nimport { ErrorApiModel } from 'src/app/shared/models/api/error/error.apimodel';\nimport { FormGroup, NgForm, FormControl } from '@angular/forms';\n\n@Component({\n selector: 'new-discussion',\n templateUrl: './new-discussion.component.html',\n styleUrls: ['./new-discussion.component.scss'],\n})\nexport class NewDiscussionComponent implements OnInit, OnDestroy {\n\n @Input()\n public typeInterventionGroups: TypeInterventionGroup[];\n\n @Input()\n public isLoadingTypeInterventions: boolean;\n\n @Input()\n public restaurant: RestaurantModel;\n\n @Output()\n public newDiscussionCreated: EventEmitter = new EventEmitter();\n\n @HostBinding('class.new-discussion-visible') public isOpen: boolean = false;\n\n @ViewChild('form', { static: true })\n public form: NgForm; // FormGroup\n\n /** Form values */\n private _selectedTypeIntervention: TypeInterventionModel;\n public get selectedTypeIntervention(): TypeInterventionModel {\n return this._selectedTypeIntervention;\n }\n public set selectedTypeIntervention(value: TypeInterventionModel) {\n this._selectedTypeIntervention = value;\n this.selectedTypeMaintenance = null;\n\n // Si il n'y a qu'une seule TypeMaintenance, on la sélectionne automatiquement\n if (this._selectedTypeIntervention\n && this._selectedTypeIntervention.typeMaintenances\n && this._selectedTypeIntervention.typeMaintenances.length === 1\n && this._selectedTypeIntervention.typeMaintenances[0].typeMaintenances\n && this._selectedTypeIntervention.typeMaintenances[0].typeMaintenances.length === 1) {\n this.selectedTypeMaintenance = this._selectedTypeIntervention.typeMaintenances[0].typeMaintenances[0];\n }\n }\n\n private _oldSelectedTypeMaintenance: TypeMaintenanceModel\n\n private _selectedTypeMaintenance: TypeMaintenanceModel;\n public get selectedTypeMaintenance(): TypeMaintenanceModel {\n return this._selectedTypeMaintenance;\n }\n public set selectedTypeMaintenance(v: TypeMaintenanceModel) {\n this._selectedTypeMaintenance = v;\n\n // Initialisation par défaut de l'objet / message\n if (this._selectedTypeMaintenance) {\n const hasChangedDefaultObjet = (this._oldSelectedTypeMaintenance && this._oldSelectedTypeMaintenance.libelle) !== this.objet;\n const hasChangedDefaultMessage = (this._oldSelectedTypeMaintenance && this._oldSelectedTypeMaintenance.templateMessage) !== this.description;\n\n if (!this.objet || !hasChangedDefaultObjet) {\n this.objet = this._selectedTypeMaintenance.libelle;\n }\n if (!this.description || !hasChangedDefaultMessage) {\n this.description = this._selectedTypeMaintenance.templateMessage;\n }\n }\n\n if (v != null) {\n this._oldSelectedTypeMaintenance = v;\n }\n }\n\n public objet: string = '';\n public description: string = '';\n public uploader: FileUploader = new FileUploader({});\n\n public get showTakePictureButton() {\n return window.cordova != null;\n }\n /** Display */\n public get isTypeInterventionsVisible(): boolean {\n return this.typeInterventionGroups && this.typeInterventionGroups.length > 0;\n }\n\n public get isTypeMaintenancesVisible(): boolean {\n return this.selectedTypeIntervention\n && this.selectedTypeIntervention.typeMaintenances\n && this.selectedTypeIntervention.typeMaintenances.length > 0;\n }\n\n public get isDescriptionObligatoire(): boolean {\n if (this.selectedTypeMaintenance) {\n return this.selectedTypeMaintenance.descriptionObligatoire;\n }\n\n return this.selectedTypeIntervention && !!this.selectedTypeIntervention.descriptionObligatoire;\n }\n\n public isSending: boolean;\n\n constructor(private discussionService: DiscussionService, private interactionService: InteractionService) { }\n\n /** Implementations */\n ngOnInit() {\n }\n\n ngOnDestroy() {\n }\n\n /** Methods */\n cleanForm() {\n this.selectedTypeIntervention = null;\n this.selectedTypeMaintenance = null;\n this.objet = '';\n this.description = '';\n this.uploader.cancelAll();\n this.uploader.clearQueue();\n }\n\n sendNewDiscussion() {\n if (!this.validateForm() || this.isSending) {\n return;\n }\n this.isSending = true;\n\n const files = this.uploader.queue.map(i => {\n // console.log(i._file);\n return i._file;\n });\n\n const maintenanceId = this.selectedTypeMaintenance != null ? this.selectedTypeMaintenance.id : null;\n this.discussionService\n .sendNewDiscussion(this.restaurant.cuisineCentraleId, this.restaurant.id, this.selectedTypeIntervention.id, this.objet, this.description, files, maintenanceId).pipe(\n debounceTime(1000),\n first(),\n finalize(() => {\n this.isSending = false;\n }))\n .subscribe((success) => {\n this.cleanForm();\n this.newDiscussionCreated.next();\n this.close();\n },\n (err: ErrorApiModel) => {\n this.interactionService.showSimpleMessage('Erreur', `Une erreur est survenue lors de la création d\\'une nouvelle demande : ${err.Message}`);\n });\n }\n\n /** Open/Close */\n open() {\n this.isOpen = true;\n }\n\n close(event: any = null) {\n if (event) {\n event.preventDefault();\n }\n\n this.cleanForm();\n this.isOpen = false;\n }\n\n private validateForm(): boolean {\n this.validateAllFormFields(this.form.form);\n return this.form.valid;\n }\n\n private validateAllFormFields(formGroup: FormGroup) {\n Object.keys(formGroup.controls).forEach(field => {\n const control = formGroup.get(field);\n if (control instanceof FormControl) {\n control.markAsTouched({ onlySelf: true });\n } else if (control instanceof FormGroup) {\n this.validateAllFormFields(control);\n }\n });\n }\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./new-discussion.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"../../loader/loader.component.ngfactory\";\nimport * as i5 from \"../../loader/loader.component\";\nimport * as i6 from \"../../shared/directives/takePhoto.directive\";\nimport * as i7 from \"../../file-tag-list/file-tag-list.component.ngfactory\";\nimport * as i8 from \"../../file-tag-list/file-tag-list.component\";\nimport * as i9 from \"ng2-file-upload/file-upload/file-select.directive\";\nimport * as i10 from \"./new-discussion.component\";\nimport * as i11 from \"../services/discussion.service\";\nimport * as i12 from \"../../shared/services/interaction.service\";\nvar styles_NewDiscussionComponent = [i0.styles];\nvar RenderType_NewDiscussionComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_NewDiscussionComponent, data: {} });\nexport { RenderType_NewDiscussionComponent as RenderType_NewDiscussionComponent };\nfunction View_NewDiscussionComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i2.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i2.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i2.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_NewDiscussionComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"optgroup\", [], [[8, \"label\", 0]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_3)), i1.ɵdid(2, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var currVal_1 = _v.context.$implicit.typeInterventions; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_0 = i1.ɵinlineInterpolate(1, \"\", _v.context.$implicit.groupe, \"\"); _ck(_v, 0, 0, currVal_0); }); }\nfunction View_NewDiscussionComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"select\", [[\"name\", \"type-intervention\"], [\"required\", \"\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 1).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedTypeIntervention = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i2.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵdid(2, 16384, null, 0, i2.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i2.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i2.RequiredValidator]), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.SelectControlValueAccessor]), i1.ɵdid(5, 671744, null, 0, i2.NgModel, [[2, i2.ControlContainer], [6, i2.NG_VALIDATORS], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], isDisabled: [1, \"isDisabled\"], model: [2, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(7, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_2)), i1.ɵdid(9, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_8 = \"\"; _ck(_v, 2, 0, currVal_8); var currVal_9 = \"type-intervention\"; var currVal_10 = _co.isSending; var currVal_11 = _co.selectedTypeIntervention; _ck(_v, 5, 0, currVal_9, currVal_10, currVal_11); var currVal_12 = _co.typeInterventionGroups; _ck(_v, 9, 0, currVal_12); }, function (_ck, _v) { var currVal_0 = (i1.ɵnov(_v, 2).required ? \"\" : null); var currVal_1 = i1.ɵnov(_v, 7).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 7).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 7).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 7).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 7).ngClassValid; var currVal_6 = i1.ɵnov(_v, 7).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 7).ngClassPending; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); }); }\nfunction View_NewDiscussionComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement des types...\"]], null, null, null, i4.View_LoaderComponent_0, i4.RenderType_LoaderComponent)), i1.ɵdid(1, 114688, null, 0, i5.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement des types...\"; _ck(_v, 1, 0, currVal_0); }, null); }\nfunction View_NewDiscussionComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"p\", [[\"class\", \"error-message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Aucun type n'est disponible pour ce contrat, veuillez contacter un administrateur.\"]))], null, null); }\nfunction View_NewDiscussionComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i2.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i2.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i2.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_NewDiscussionComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"optgroup\", [], [[8, \"label\", 0]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_9)), i1.ɵdid(2, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var currVal_1 = _v.context.$implicit.typeMaintenances; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_0 = i1.ɵinlineInterpolate(1, \"\", _v.context.$implicit.groupe, \"\"); _ck(_v, 0, 0, currVal_0); }); }\nfunction View_NewDiscussionComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"error-message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"La cat\\u00E9gorie est requise.\"]))], null, null); }\nfunction View_NewDiscussionComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cat\\u00E9gorie\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"name\", \"selectedTypeMaintenance\"], [\"required\", \"\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedTypeMaintenance = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i2.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵdid(5, 16384, null, 0, i2.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i2.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i2.RequiredValidator]), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.SelectControlValueAccessor]), i1.ɵdid(8, 671744, [[\"typeMaintenanceCtrl\", 4]], 0, i2.NgModel, [[2, i2.ControlContainer], [6, i2.NG_VALIDATORS], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], isDisabled: [1, \"isDisabled\"], model: [2, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(10, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_8)), i1.ɵdid(12, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_10)), i1.ɵdid(14, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_8 = \"\"; _ck(_v, 5, 0, currVal_8); var currVal_9 = \"selectedTypeMaintenance\"; var currVal_10 = _co.isSending; var currVal_11 = _co.selectedTypeMaintenance; _ck(_v, 8, 0, currVal_9, currVal_10, currVal_11); var currVal_12 = _co.selectedTypeIntervention.typeMaintenances; _ck(_v, 12, 0, currVal_12); var currVal_13 = (((((i1.ɵnov(_v.parent.parent, 2).submitted || i1.ɵnov(_v.parent.parent, 2).dirty) || i1.ɵnov(_v.parent.parent, 2).touched) || i1.ɵnov(_v.parent.parent, 2).invalid) && i1.ɵnov(_v, 8).invalid) && (i1.ɵnov(_v, 8).dirty || i1.ɵnov(_v, 8).touched)); _ck(_v, 14, 0, currVal_13); }, function (_ck, _v) { var currVal_0 = (i1.ɵnov(_v, 5).required ? \"\" : null); var currVal_1 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 10).ngClassValid; var currVal_6 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); }); }\nfunction View_NewDiscussionComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"1 fichier\"]))], null, null); }\nfunction View_NewDiscussionComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \" fichiers\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.uploader.queue.length; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_NewDiscussionComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 16777216, null, null, 1, \"button\", [[\"class\", \"generic-button camera-button restaurant-type-background\"], [\"takePhoto\", \"\"], [\"type\", \"button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).onClick($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i6.TakePhotoDirective, [i1.ViewContainerRef, i1.ChangeDetectorRef], { uploader: [0, \"uploader\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.uploader; _ck(_v, 1, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isSending; _ck(_v, 0, 0, currVal_0); }); }\nfunction View_NewDiscussionComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 40, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_7)), i1.ɵdid(2, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 10, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Objet\"])), (_l()(), i1.ɵeld(6, 0, null, null, 7, \"input\", [[\"name\", \"objet\"], [\"placeholder\", \"Objet\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 7)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 7).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 7)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 7)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.objet = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(7, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(8, 16384, null, 0, i2.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i2.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i2.RequiredValidator]), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.DefaultValueAccessor]), i1.ɵdid(11, 671744, null, 0, i2.NgModel, [[2, i2.ControlContainer], [6, i2.NG_VALIDATORS], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], isDisabled: [1, \"isDisabled\"], model: [2, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(13, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(14, 0, null, null, 8, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 7, \"textarea\", [[\"name\", \"description\"], [\"placeholder\", \"Description\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 16)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 16).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 16)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 16)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.description = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(16, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(17, 16384, null, 0, i2.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i2.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i2.RequiredValidator]), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.DefaultValueAccessor]), i1.ɵdid(20, 671744, null, 0, i2.NgModel, [[2, i2.ControlContainer], [6, i2.NG_VALIDATORS], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], isDisabled: [1, \"isDisabled\"], model: [2, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(22, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_11)), i1.ɵdid(24, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_12)), i1.ɵdid(26, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(27, 0, null, null, 1, \"app-file-tag-list\", [], null, null, null, i7.View_FileTagListComponent_0, i7.RenderType_FileTagListComponent)), i1.ɵdid(28, 114688, null, 0, i8.FileTagListComponent, [i1.ChangeDetectorRef], { uploader: [0, \"uploader\"] }, null), (_l()(), i1.ɵeld(29, 0, null, null, 11, \"div\", [[\"class\", \"btn-row\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_13)), i1.ɵdid(31, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(32, 0, null, null, 0, \"button\", [[\"class\", \"generic-button upload-button restaurant-type-background\"], [\"type\", \"button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 39).click() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(33, 0, null, null, 2, \"button\", [[\"class\", \"generic-button red-tile-button cancel-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.close($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(34, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Annuler\"])), (_l()(), i1.ɵeld(36, 0, null, null, 2, \"button\", [[\"class\", \"generic-button green-tile-button send-button restaurant-type-background\"], [\"type\", \"submit\"]], [[8, \"disabled\", 0]], null, null, null, null)), (_l()(), i1.ɵeld(37, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(38, null, [\"\", \"\"])), (_l()(), i1.ɵeld(39, 0, [[\"fileInput\", 1]], null, 1, \"input\", [[\"multiple\", \"\"], [\"name\", \"file-input\"], [\"ng2FileSelect\", \"\"], [\"type\", \"file\"]], null, [[null, \"change\"]], function (_v, en, $event) { var ad = true; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 40).onChange() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(40, 16384, null, 0, i9.FileSelectDirective, [i1.ElementRef], { uploader: [0, \"uploader\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isTypeMaintenancesVisible; _ck(_v, 2, 0, currVal_0); var currVal_9 = \"\"; _ck(_v, 8, 0, currVal_9); var currVal_10 = \"objet\"; var currVal_11 = _co.isSending; var currVal_12 = _co.objet; _ck(_v, 11, 0, currVal_10, currVal_11, currVal_12); var currVal_21 = (_co.isDescriptionObligatoire ? true : null); _ck(_v, 17, 0, currVal_21); var currVal_22 = \"description\"; var currVal_23 = _co.isSending; var currVal_24 = _co.description; _ck(_v, 20, 0, currVal_22, currVal_23, currVal_24); var currVal_25 = (_co.uploader.queue.length == 1); _ck(_v, 24, 0, currVal_25); var currVal_26 = (_co.uploader.queue.length > 1); _ck(_v, 26, 0, currVal_26); var currVal_27 = _co.uploader; _ck(_v, 28, 0, currVal_27); var currVal_28 = _co.showTakePictureButton; _ck(_v, 31, 0, currVal_28); var currVal_33 = _co.uploader; _ck(_v, 40, 0, currVal_33); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = (i1.ɵnov(_v, 8).required ? \"\" : null); var currVal_2 = i1.ɵnov(_v, 13).ngClassUntouched; var currVal_3 = i1.ɵnov(_v, 13).ngClassTouched; var currVal_4 = i1.ɵnov(_v, 13).ngClassPristine; var currVal_5 = i1.ɵnov(_v, 13).ngClassDirty; var currVal_6 = i1.ɵnov(_v, 13).ngClassValid; var currVal_7 = i1.ɵnov(_v, 13).ngClassInvalid; var currVal_8 = i1.ɵnov(_v, 13).ngClassPending; _ck(_v, 6, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8); var currVal_13 = (i1.ɵnov(_v, 17).required ? \"\" : null); var currVal_14 = i1.ɵnov(_v, 22).ngClassUntouched; var currVal_15 = i1.ɵnov(_v, 22).ngClassTouched; var currVal_16 = i1.ɵnov(_v, 22).ngClassPristine; var currVal_17 = i1.ɵnov(_v, 22).ngClassDirty; var currVal_18 = i1.ɵnov(_v, 22).ngClassValid; var currVal_19 = i1.ɵnov(_v, 22).ngClassInvalid; var currVal_20 = i1.ɵnov(_v, 22).ngClassPending; _ck(_v, 15, 0, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17, currVal_18, currVal_19, currVal_20); var currVal_29 = _co.isSending; _ck(_v, 32, 0, currVal_29); var currVal_30 = _co.isSending; _ck(_v, 33, 0, currVal_30); var currVal_31 = _co.isSending; _ck(_v, 36, 0, currVal_31); var currVal_32 = (_co.isSending ? \"Envoi...\" : \"Envoyer\"); _ck(_v, 38, 0, currVal_32); }); }\nfunction View_NewDiscussionComponent_14(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"div\", [[\"class\", \"btn-row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 2, \"button\", [[\"class\", \"generic-button red-tile-button cancel-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.close($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Annuler\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isSending; _ck(_v, 2, 0, currVal_0); }); }\nexport function View_NewDiscussionComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { form: 0 }), (_l()(), i1.ɵeld(1, 0, null, null, 27, \"form\", [[\"autocomplete\", \"off\"], [\"class\", \"form-new-discussion form-discussion\"], [\"ngNativeValidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 2).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 2).onReset() !== false);\n ad = (pd_1 && ad);\n } if ((\"submit\" === en)) {\n var pd_2 = (_co.sendNewDiscussion() !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(2, 4210688, [[1, 4], [\"form\", 4]], 0, i2.NgForm, [[8, null], [8, null]], null, null), i1.ɵprd(2048, null, i2.ControlContainer, null, [i2.NgForm]), i1.ɵdid(4, 16384, null, 0, i2.NgControlStatusGroup, [[4, i2.ControlContainer]], null, null), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"span\", [[\"class\", \"close\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.close() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"\\u00D7\"])), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"h2\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Nouvelle demande / r\\u00E9clamation\"])), (_l()(), i1.ɵeld(9, 0, null, null, 4, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Restaurant : \"])), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"span\", [[\"class\", \"form-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(13, null, [\"\", \"\"])), (_l()(), i1.ɵeld(14, 0, null, null, 8, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Type\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_1)), i1.ɵdid(18, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_4)), i1.ɵdid(20, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_5)), i1.ɵdid(22, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(23, 0, null, null, 5, null, null, null, null, null, null, null)), i1.ɵdid(24, 16384, null, 0, i3.NgSwitch, [], { ngSwitch: [0, \"ngSwitch\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_6)), i1.ɵdid(26, 278528, null, 0, i3.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i3.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NewDiscussionComponent_14)), i1.ɵdid(28, 278528, null, 0, i3.NgSwitchCase, [i1.ViewContainerRef, i1.TemplateRef, i3.NgSwitch], { ngSwitchCase: [0, \"ngSwitchCase\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_8 = _co.isTypeInterventionsVisible; _ck(_v, 18, 0, currVal_8); var currVal_9 = _co.isLoadingTypeInterventions; _ck(_v, 20, 0, currVal_9); var currVal_10 = (!_co.isTypeInterventionsVisible && !_co.isLoadingTypeInterventions); _ck(_v, 22, 0, currVal_10); var currVal_11 = (_co.isTypeInterventionsVisible && (_co.selectedTypeIntervention != null)); _ck(_v, 24, 0, currVal_11); var currVal_12 = true; _ck(_v, 26, 0, currVal_12); var currVal_13 = false; _ck(_v, 28, 0, currVal_13); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 4).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 4).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 4).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 4).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 4).ngClassValid; var currVal_5 = i1.ɵnov(_v, 4).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 4).ngClassPending; _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_7 = _co.restaurant.name; _ck(_v, 13, 0, currVal_7); }); }\nexport function View_NewDiscussionComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"new-discussion\", [], [[2, \"new-discussion-visible\", null]], null, null, View_NewDiscussionComponent_0, RenderType_NewDiscussionComponent)), i1.ɵdid(1, 245760, null, 0, i10.NewDiscussionComponent, [i11.DiscussionService, i12.InteractionService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 1).isOpen; _ck(_v, 0, 0, currVal_0); }); }\nvar NewDiscussionComponentNgFactory = i1.ɵccf(\"new-discussion\", i10.NewDiscussionComponent, View_NewDiscussionComponent_Host_0, { typeInterventionGroups: \"typeInterventionGroups\", isLoadingTypeInterventions: \"isLoadingTypeInterventions\", restaurant: \"restaurant\" }, { newDiscussionCreated: \"newDiscussionCreated\" }, []);\nexport { NewDiscussionComponentNgFactory as NewDiscussionComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] *[_ngcontent-%COMP%], [_nghost-%COMP%] [_ngcontent-%COMP%]:after, [_nghost-%COMP%] [_ngcontent-%COMP%]:before{box-sizing:border-box}[_nghost-%COMP%] .page-container[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%]{padding:10px}@media only screen and (max-width:767px){[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:calc(100% - 57px);overflow-y:auto}[_nghost-%COMP%] .page-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{overflow:auto;overflow-x:hidden}[_nghost-%COMP%] discussion-details[_ngcontent-%COMP%]{position:fixed;top:57px;right:0;bottom:0;left:0;transition:all .3s ease-in-out;-ms-transform:translateX(100%);transform:translateX(100%)}[_nghost-%COMP%] .page-container.messages-visible[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%]{position:fixed;left:50%;bottom:5px;-ms-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%;width:60px;height:60px;box-shadow:2px 2px 4px #000;z-index:10}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]{height:40px;width:40px}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]:after, [_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]:before{width:20px}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:none}}@media only screen and (min-width:768px){[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{min-height:300px;max-height:730px;display:-ms-flexbox;display:flex}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%]{-ms-flex-preferred-size:400px;flex-basis:400px;-ms-flex-negative:0;flex-shrink:0;overflow:auto;position:relative}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%]{padding:0}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%]{float:right}}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{display:block;text-align:left;margin:0 0 15px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{overflow:hidden;margin:0 0 10px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group-date[_ngcontent-%COMP%]{float:left;padding:0 5px 0 0;width:50%}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group-date[_ngcontent-%COMP%] + .form-group-date[_ngcontent-%COMP%]{padding:0 0 0 5px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .label-radio[_ngcontent-%COMP%]{display:inline-block;overflow:hidden;cursor:pointer}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .label-radio[_ngcontent-%COMP%] + .label-radio[_ngcontent-%COMP%]{margin:0 0 0 30px}[_nghost-%COMP%] .filter-group[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}[_nghost-%COMP%] .filter-on-contrat-filter[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .filter-on-contrat-filter[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] #search-text[_ngcontent-%COMP%]{background:url(/assets/images/loupe.png) calc(100% - 10px) 50% no-repeat #fff;box-sizing:border-box;border:1px solid gray;font-size:18px;padding:3px 10px;width:100%}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%], [_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%]{background:#fafafa}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%], [_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] select[_ngcontent-%COMP%], [_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], [_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%], [_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] select[_ngcontent-%COMP%], [_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{background-color:#fff;border:1px solid #d1d1d1;display:block;margin:0;padding:10px;width:100%}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], [_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{font-family:josefin;font-size:1em}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%], [_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{-ms-flex-item-align:start;align-self:flex-start;height:32px;width:32px;position:relative}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%], [_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{border-top:2px solid #fff;border-right:2px solid #fff;width:14px;height:14px;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-ms-transform:rotate(-135deg);transform:rotate(-135deg);display:inline-block;position:absolute;top:9px;left:11px}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .send-button[_ngcontent-%COMP%], [_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] .send-button[_ngcontent-%COMP%]{-ms-flex-item-align:end;align-self:flex-end}[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{background:#fff;border-top:1px solid #d1d1d1;-ms-flex-positive:1;flex-grow:1}@media only screen and (min-width:768px){[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%]{margin:0 0 20px;width:400px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin:0 0 15px}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%], [_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{border:1px solid #d1d1d1}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%]{border-right:1px solid #d1d1d1}}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{font-size:14px;list-style:none;margin:0;padding:0}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li.no-discussion[_ngcontent-%COMP%]{padding:20px}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{cursor:pointer;border-bottom:1px solid #d1d1d1}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li[_ngcontent-%COMP%] div.discussion-history-border[_ngcontent-%COMP%]{padding:15px;position:relative;border-left:5px solid transparent}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li[_ngcontent-%COMP%] div.discussion-history-border[_ngcontent-%COMP%]:hover{background:#e6e6e6}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .info-container[_ngcontent-%COMP%]{position:absolute;background:#fff;z-index:10}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-restaurant[_ngcontent-%COMP%]{font-size:17px;margin:0}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-sujet[_ngcontent-%COMP%], [_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-type[_ngcontent-%COMP%]{font-size:17px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-sujet[_ngcontent-%COMP%]{color:#b3b3b3;font-size:16px;margin:0 0 4px}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .restaurant-type-background .topic-sujet{color:#838383}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .date[_ngcontent-%COMP%]{color:#aebf2f;position:absolute;top:2px;right:8px}[_nghost-%COMP%] discussion-details[_ngcontent-%COMP%]{-ms-flex:1 1 0%;flex:1 1 0%;overflow:auto}[_nghost-%COMP%] .page-container.messages-visible[_ngcontent-%COMP%] discussion-details[_ngcontent-%COMP%]{visibility:visible;-ms-transform:translateX(0);transform:translateX(0)}[_nghost-%COMP%] .ie11-max-height-fix-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}[_nghost-%COMP%]{display:block;opacity:0;visibility:hidden;position:fixed;top:57px;right:0;bottom:0;left:0;transition:all .3s ease-in-out}.new-discussion-visible[_nghost-%COMP%]{opacity:1;visibility:visible}[_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%]{padding:10px;height:100%}[_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{cursor:pointer;display:none;font-size:40px;line-height:0;position:absolute;top:20px;right:20px}[_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{text-transform:uppercase}[_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin:0 0 20px}[_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{height:180px}[_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] .btn-row[_ngcontent-%COMP%]{margin-top:8px;display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end}[_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] .btn-row[_ngcontent-%COMP%] .camera-button[_ngcontent-%COMP%], [_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] .btn-row[_ngcontent-%COMP%] .cancel-button[_ngcontent-%COMP%], [_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] .btn-row[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{margin-right:6px}[_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] .btn-row[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{display:none}@media only screen and (min-width:768px){[_nghost-%COMP%]{background:rgba(0,0,0,.5);top:0}[_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:20px;width:500px;height:auto}[_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] .form-new-discussion[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin-top:0}}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{display:block;color:#e20035;font-size:14px;-webkit-animation-name:slidein;animation-name:slidein;-webkit-animation-duration:.4s;animation-duration:.4s;white-space:nowrap}@-webkit-keyframes slidein{0%{transform:translateX(-2em);opacity:0}100%{transform:translateX(0);opacity:1}}@keyframes slidein{0%{transform:translateX(-2em);opacity:0}100%{transform:translateX(0);opacity:1}}\"];\nexport { styles as styles };\n","
\r\n\r\n ×\r\n\r\n

Nouvelle demande / réclamation

\r\n
\r\n {{ restaurant.name }}\r\n
\r\n
\r\n \r\n \r\n \r\n

Aucun type n'est disponible pour ce contrat, veuillez contacter un administrateur.

\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
La catégorie est requise.
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
1 fichier
\r\n
1\">{{uploader.queue.length}} fichiers
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","\r\nimport { Component, EventEmitter, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { orderBy, flatMap } from 'lodash';\r\nimport * as moment from 'moment';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { finalize, first, throttleTime } from 'rxjs/operators';\r\nimport { DatePickerInfo } from '../date-input/date-input.component';\r\nimport { ContratModel } from '../shared/models/contrat.model';\r\nimport { RestaurantModel } from '../shared/models/restaurant.model';\r\nimport { LogoRouteService } from '../shared/services/api/logo/logo-route.service';\r\nimport { ApplicationDataService } from '../shared/services/application-data.service';\r\nimport { AuthenticationService } from '../shared/services/authentication/authentication.service';\r\nimport { InteractionService } from '../shared/services/interaction.service';\r\nimport { DiscussionDetailsComponent } from './discussion-details/discussion-details.component';\r\nimport { DiscussionModel } from './models/discussion.model';\r\nimport { TypeInterventionModel, TypeInterventionGroup } from './models/type-intervention.model';\r\nimport { NewDiscussionComponent } from './new-discussion/new-discussion.component';\r\nimport { DiscussionService } from './services/discussion.service';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-Discussion',\r\n templateUrl: './discussion.component.html',\r\n styleUrls: ['./discussion.component.scss']\r\n})\r\nexport class DiscussionComponent implements OnInit, OnDestroy {\r\n @ViewChild(NewDiscussionComponent, { static: true })\r\n newDiscussionComponent: NewDiscussionComponent;\r\n\r\n @ViewChild(DiscussionDetailsComponent, { static: true })\r\n discussionDetailsComponent: DiscussionDetailsComponent;\r\n\r\n private askLoadDiscussionsEmitter: EventEmitter = new EventEmitter();\r\n\r\n\r\n /** Contrat/Restaurant fields */\r\n public contrat: ContratModel;\r\n public logoContratUrl: string = '';\r\n public restaurant: RestaurantModel;\r\n\r\n /** Search fields */\r\n public searchText: string;\r\n public startDate: Date;\r\n public endDate: Date;\r\n public dateCalendarData: DatePickerInfo;\r\n public filterOnContrat: boolean;\r\n public showFilterOnContrat: boolean = false;\r\n\r\n /** Type Interventions */\r\n public typeInterventionGroups$ = new BehaviorSubject(undefined);\r\n public get isLoadingTypeInterventions(): boolean {\r\n return this.typeInterventionGroups$.value === undefined;\r\n }\r\n\r\n /** Discussions */\r\n public selectedDiscussion: DiscussionModel;\r\n public currentDiscussions: DiscussionModel[];\r\n public isLoadingFilters: boolean;\r\n public isLoadingDiscussions: boolean;\r\n\r\n /** getter/setter */\r\n private _blockLoadDicussionOnIsOuvertChange: boolean;\r\n private _isOuvertSelected = true;\r\n public get isOuvertSelected(): boolean {\r\n return this._isOuvertSelected;\r\n }\r\n\r\n public set isOuvertSelected(value: boolean) {\r\n this._isOuvertSelected = value;\r\n if (!this._blockLoadDicussionOnIsOuvertChange) {\r\n this.askLoadDiscussions();\r\n }\r\n }\r\n\r\n constructor(\r\n private router: Router,\r\n private appDataService: ApplicationDataService,\r\n private discussionService: DiscussionService,\r\n private interactionService: InteractionService,\r\n private logoService: LogoRouteService,\r\n private authenticationService: AuthenticationService\r\n ) { }\r\n\r\n /** Implementations */\r\n ngOnInit() {\r\n // Init search\r\n this.startDate = moment().add(-1, 'month').toDate();\r\n this.endDate = moment().toDate();\r\n\r\n this.dateCalendarData = {\r\n minDate: moment().add(-10, 'year').toDate(),\r\n maxDate: moment().endOf('month').toDate()\r\n };\r\n\r\n // On recherche les DateDebut/fin via l'api unreadCount\r\n this.isLoadingFilters = true;\r\n this.discussionService.getUnreadCount()\r\n .pipe(\r\n untilDestroyed(this)\r\n )\r\n .subscribe(result => {\r\n this.startDate = moment.min(moment(result.minDate), moment(this.startDate)).toDate();\r\n this.endDate = moment.max(moment(result.maxDate), moment(this.endDate)).toDate();\r\n\r\n this.isLoadingFilters = false;\r\n // on demande ensuite le chargement des discussions\r\n this.askLoadDiscussions();\r\n });\r\n\r\n // On ne passe que par askLoadDiscussions() et non loadDiscussions() pour avoir du debounce\r\n this.askLoadDiscussionsEmitter\r\n .pipe(\r\n untilDestroyed(this),\r\n throttleTime(500)\r\n )\r\n .subscribe(() => {\r\n this.loadDiscussions();\r\n });\r\n\r\n this.authenticationService.currentUser$\r\n .pipe(untilDestroyed(this))\r\n .subscribe(user => {\r\n this.showFilterOnContrat = user && user.allContrats.length > 1;\r\n });\r\n\r\n this.appDataService.contrat$\r\n .pipe(untilDestroyed(this))\r\n .subscribe(contrat => {\r\n this.contrat = contrat;\r\n this.loadTypeInterventions();\r\n if (contrat) {\r\n this.logoContratUrl = this.logoService.GetPicture2Url(contrat.id, contrat.cuisineCentraleId);\r\n }\r\n });\r\n\r\n this.appDataService.restaurant$\r\n .pipe(untilDestroyed(this))\r\n .subscribe(restaurant => {\r\n this.restaurant = restaurant;\r\n });\r\n\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.askLoadDiscussionsEmitter.unsubscribe();\r\n }\r\n\r\n /** Type interventions */\r\n private loadTypeInterventions() {\r\n this.typeInterventionGroups$.next(undefined);\r\n if (this.contrat == null) {\r\n return;\r\n }\r\n\r\n this.discussionService.getTypeInterventionsForContrat(this.contrat.cuisineCentraleId, this.contrat.id)\r\n .subscribe(typeInterventionGroups => {\r\n this.typeInterventionGroups$.next(typeInterventionGroups);\r\n },\r\n err => {\r\n this.interactionService.showSimpleMessage('Erreur', 'Nous n\\'avons pas réussi à récupérer les types d\\'interventions.');\r\n });\r\n }\r\n\r\n askLoadDiscussions() {\r\n this.askLoadDiscussionsEmitter.next();\r\n }\r\n\r\n /** Discussions */\r\n loadDiscussions(preselectDiscussionId: number = null) {\r\n if (this.filterOnContrat && this.contrat == null) {\r\n return;\r\n }\r\n\r\n this.selectedDiscussion = null;\r\n this.isLoadingDiscussions = true;\r\n\r\n const task = this.filterOnContrat\r\n ? this.discussionService.getDiscussions(\r\n this._isOuvertSelected,\r\n this.contrat.cuisineCentraleId,\r\n this.contrat.id,\r\n this.restaurant.id,\r\n this.startDate,\r\n this.endDate,\r\n this.searchText)\r\n : this.discussionService.getDiscussions(\r\n this._isOuvertSelected,\r\n null, // pas de filtre sur Cuisine/Contrat/Resto\r\n null,\r\n null,\r\n this.startDate,\r\n this.endDate,\r\n this.searchText);\r\n\r\n task\r\n .pipe(\r\n first(),\r\n finalize(() => {\r\n this.isLoadingDiscussions = false;\r\n })\r\n )\r\n .subscribe(discussions => {\r\n this.currentDiscussions = orderBy(discussions, ['dateModification'], ['desc']);\r\n\r\n if (preselectDiscussionId != null) {\r\n this.selectedDiscussion = this.currentDiscussions.find(d => d.id === preselectDiscussionId);\r\n } else {\r\n this.selectedDiscussion = null;\r\n }\r\n },\r\n err => {\r\n this.currentDiscussions = [];\r\n this.interactionService.showSimpleMessage('Erreur', 'Nous n\\'avons pas réussi à récupérer les discussions. Veuillez réessayer.');\r\n });\r\n }\r\n\r\n /** New discussion */\r\n showNewDiscussion() {\r\n this.newDiscussionComponent.open();\r\n }\r\n\r\n onNewDiscussionCreated() {\r\n // force endDate filter at today then reload Discussions\r\n this.endDate = moment().toDate();\r\n this._isOuvertSelected = true;\r\n this.loadDiscussions();\r\n }\r\n\r\n onDiscussionClick(discussion: DiscussionModel) {\r\n // Pour l'affichage du selected\r\n this.selectedDiscussion = discussion;\r\n }\r\n\r\n onDiscussionClosed() {\r\n this.selectedDiscussion = null;\r\n }\r\n\r\n onRefreshDiscussionsRequired(data: { isClosed: boolean, discussionId: number }) {\r\n this._blockLoadDicussionOnIsOuvertChange = true;\r\n this.isOuvertSelected = !data.isClosed;\r\n this._blockLoadDicussionOnIsOuvertChange = false;\r\n this.loadDiscussions(data.discussionId);\r\n }\r\n\r\n onMessageLuTriggered(discussionId: number) {\r\n const discussion = this.currentDiscussions.find(d => d.id == discussionId);\r\n if (discussion != null) {\r\n discussion.lu = true;\r\n }\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./discussion.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../loader/loader.component.ngfactory\";\nimport * as i3 from \"../loader/loader.component\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"../date-input/date-input.component.ngfactory\";\nimport * as i6 from \"../shared/pipes/error-pretty-date.pipe\";\nimport * as i7 from \"../date-input/date-input.component\";\nimport * as i8 from \"@angular/common\";\nimport * as i9 from \"./discussion-details/discussion-details.component.ngfactory\";\nimport * as i10 from \"./discussion-details/discussion-details.component\";\nimport * as i11 from \"../shared/services/authentication/authentication.service\";\nimport * as i12 from \"../shared/services/application-data.service\";\nimport * as i13 from \"./services/discussion.service\";\nimport * as i14 from \"../shared/services/interaction.service\";\nimport * as i15 from \"../shared/pipes/dateFormat.pipe\";\nimport * as i16 from \"./new-discussion/new-discussion.component.ngfactory\";\nimport * as i17 from \"./new-discussion/new-discussion.component\";\nimport * as i18 from \"./discussion.component\";\nimport * as i19 from \"@angular/router\";\nimport * as i20 from \"../shared/services/api/logo/logo-route.service\";\nvar styles_DiscussionComponent = [i0.styles];\nvar RenderType_DiscussionComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_DiscussionComponent, data: {} });\nexport { RenderType_DiscussionComponent as RenderType_DiscussionComponent };\nfunction View_DiscussionComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Pr\\u00E9paration du formulaire...\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Pr\\u00E9paration du formulaire...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_DiscussionComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"h2\", [[\"class\", \"title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Filtrer les sujets\"])), (_l()(), i1.ɵeld(2, 0, null, null, 58, \"div\", [[\"class\", \"actions-filters\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 6, \"div\", [[\"class\", \"form-group search-text-filter\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 5, \"input\", [[\"id\", \"search-text\"], [\"name\", \"search-text\"], [\"placeholder\", \"Rechercher\"], [\"type\", \"text\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 5)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 5).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 5)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 5)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.searchText = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(5, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i4.DefaultValueAccessor]), i1.ɵdid(7, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(9, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(10, 0, null, null, 16, \"div\", [[\"class\", \"form-group dates-filter\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 7, \"div\", [[\"class\", \"form-group-date\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 6, \"app-date-input\", [[\"id\", \"start-date\"], [\"name\", \"start-date\"], [\"placeholder\", \"D\\u00E9but\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.startDate = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i5.View_DateInputComponent_0, i5.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i6.ErrorPrettyDatePipe, i6.ErrorPrettyDatePipe, []), i1.ɵdid(14, 4243456, null, 0, i7.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i7.DateInputComponent]), i1.ɵdid(16, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(18, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(19, 0, null, null, 7, \"div\", [[\"class\", \"form-group-date\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 6, \"app-date-input\", [[\"id\", \"end-date\"], [\"name\", \"end-date\"], [\"placeholder\", \"Fin\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"ngModelChange\" === en)) {\n var pd_0 = ((_co.endDate = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i5.View_DateInputComponent_0, i5.RenderType_DateInputComponent)), i1.ɵprd(4608, null, i6.ErrorPrettyDatePipe, i6.ErrorPrettyDatePipe, []), i1.ɵdid(22, 4243456, null, 0, i7.DateInputComponent, [i1.ElementRef, i1.Renderer2], { calendarInfo: [0, \"calendarInfo\"], placeholder: [1, \"placeholder\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i7.DateInputComponent]), i1.ɵdid(24, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(26, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(27, 0, null, null, 27, \"div\", [[\"class\", \"form-group other filter-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(28, 0, null, null, 22, \"div\", [[\"class\", \"is-ouvert-filter\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(29, 0, null, null, 10, \"label\", [[\"class\", \"label-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(30, 0, null, null, 6, \"input\", [[\"name\", \"type\"], [\"type\", \"radio\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 31)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 31).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 31)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 31)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 32).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 32).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_co.isOuvertSelected = $event) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(31, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(32, 212992, null, 0, i4.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i4.ɵangular_packages_forms_forms_o, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i4.DefaultValueAccessor, i4.RadioControlValueAccessor]), i1.ɵdid(34, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(36, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(37, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(38, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cl\\u00F4tur\\u00E9s\"])), (_l()(), i1.ɵeld(40, 0, null, null, 10, \"label\", [[\"class\", \"label-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(41, 0, null, null, 6, \"input\", [[\"name\", \"type\"], [\"type\", \"radio\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"], [null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 42)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 42).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 42)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 42)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"change\" === en)) {\n var pd_4 = (i1.ɵnov(_v, 43).onChange() !== false);\n ad = (pd_4 && ad);\n } if ((\"blur\" === en)) {\n var pd_5 = (i1.ɵnov(_v, 43).onTouched() !== false);\n ad = (pd_5 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_6 = ((_co.isOuvertSelected = $event) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(42, 16384, null, 0, i4.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i4.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(43, 212992, null, 0, i4.RadioControlValueAccessor, [i1.Renderer2, i1.ElementRef, i4.ɵangular_packages_forms_forms_o, i1.Injector], { name: [0, \"name\"], value: [1, \"value\"] }, null), i1.ɵprd(1024, null, i4.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i4.DefaultValueAccessor, i4.RadioControlValueAccessor]), i1.ɵdid(45, 671744, null, 0, i4.NgModel, [[8, null], [8, null], [8, null], [6, i4.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i4.NgControl, null, [i4.NgModel]), i1.ɵdid(47, 16384, null, 0, i4.NgControlStatus, [[4, i4.NgControl]], null, null), (_l()(), i1.ɵeld(48, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(49, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Ouverts\"])), (_l()(), i1.ɵeld(51, 0, null, null, 3, \"div\", [[\"class\", \"filter-on-contrat-filter\"]], [[8, \"hidden\", 0]], null, null, null, null)), (_l()(), i1.ɵeld(52, 0, null, null, 0, \"input\", [[\"id\", \"chkContratFilter\"], [\"type\", \"checkbox\"]], [[8, \"checked\", 0]], [[null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n _co.filterOnContrat = !$event.target.checked;\n var pd_0 = (_co.askLoadDiscussions() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(53, 0, null, null, 1, \"label\", [[\"for\", \"chkContratFilter\"]], [[8, \"title\", 0]], null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Tous mes contrats\"])), (_l()(), i1.ɵeld(55, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button search-button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.askLoadDiscussions() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Rechercher\"])), (_l()(), i1.ɵeld(57, 0, null, null, 3, \"button\", [[\"class\", \"generic-button red-button plus-button new-button restaurant-type-background\"]], [[8, \"hidden\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.showNewDiscussion() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(58, 0, null, null, 0, \"span\", [[\"class\", \"plus\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(59, 0, null, null, 1, \"span\", [[\"class\", \"text\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Nouveau\"]))], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"search-text\"; var currVal_8 = _co.searchText; _ck(_v, 7, 0, currVal_7, currVal_8); var currVal_16 = _co.dateCalendarData; var currVal_17 = \"D\\u00E9but\"; _ck(_v, 14, 0, currVal_16, currVal_17); var currVal_18 = \"start-date\"; var currVal_19 = _co.startDate; _ck(_v, 16, 0, currVal_18, currVal_19); var currVal_27 = _co.dateCalendarData; var currVal_28 = \"Fin\"; _ck(_v, 22, 0, currVal_27, currVal_28); var currVal_29 = \"end-date\"; var currVal_30 = _co.endDate; _ck(_v, 24, 0, currVal_29, currVal_30); var currVal_38 = \"type\"; var currVal_39 = false; _ck(_v, 32, 0, currVal_38, currVal_39); var currVal_40 = \"type\"; var currVal_41 = _co.isOuvertSelected; _ck(_v, 34, 0, currVal_40, currVal_41); var currVal_49 = \"type\"; var currVal_50 = true; _ck(_v, 43, 0, currVal_49, currVal_50); var currVal_51 = \"type\"; var currVal_52 = _co.isOuvertSelected; _ck(_v, 45, 0, currVal_51, currVal_52); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 9).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 9).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 9).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 9).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 9).ngClassValid; var currVal_5 = i1.ɵnov(_v, 9).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 9).ngClassPending; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_9 = i1.ɵnov(_v, 18).ngClassUntouched; var currVal_10 = i1.ɵnov(_v, 18).ngClassTouched; var currVal_11 = i1.ɵnov(_v, 18).ngClassPristine; var currVal_12 = i1.ɵnov(_v, 18).ngClassDirty; var currVal_13 = i1.ɵnov(_v, 18).ngClassValid; var currVal_14 = i1.ɵnov(_v, 18).ngClassInvalid; var currVal_15 = i1.ɵnov(_v, 18).ngClassPending; _ck(_v, 12, 0, currVal_9, currVal_10, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15); var currVal_20 = i1.ɵnov(_v, 26).ngClassUntouched; var currVal_21 = i1.ɵnov(_v, 26).ngClassTouched; var currVal_22 = i1.ɵnov(_v, 26).ngClassPristine; var currVal_23 = i1.ɵnov(_v, 26).ngClassDirty; var currVal_24 = i1.ɵnov(_v, 26).ngClassValid; var currVal_25 = i1.ɵnov(_v, 26).ngClassInvalid; var currVal_26 = i1.ɵnov(_v, 26).ngClassPending; _ck(_v, 20, 0, currVal_20, currVal_21, currVal_22, currVal_23, currVal_24, currVal_25, currVal_26); var currVal_31 = i1.ɵnov(_v, 36).ngClassUntouched; var currVal_32 = i1.ɵnov(_v, 36).ngClassTouched; var currVal_33 = i1.ɵnov(_v, 36).ngClassPristine; var currVal_34 = i1.ɵnov(_v, 36).ngClassDirty; var currVal_35 = i1.ɵnov(_v, 36).ngClassValid; var currVal_36 = i1.ɵnov(_v, 36).ngClassInvalid; var currVal_37 = i1.ɵnov(_v, 36).ngClassPending; _ck(_v, 30, 0, currVal_31, currVal_32, currVal_33, currVal_34, currVal_35, currVal_36, currVal_37); var currVal_42 = i1.ɵnov(_v, 47).ngClassUntouched; var currVal_43 = i1.ɵnov(_v, 47).ngClassTouched; var currVal_44 = i1.ɵnov(_v, 47).ngClassPristine; var currVal_45 = i1.ɵnov(_v, 47).ngClassDirty; var currVal_46 = i1.ɵnov(_v, 47).ngClassValid; var currVal_47 = i1.ɵnov(_v, 47).ngClassInvalid; var currVal_48 = i1.ɵnov(_v, 47).ngClassPending; _ck(_v, 41, 0, currVal_42, currVal_43, currVal_44, currVal_45, currVal_46, currVal_47, currVal_48); var currVal_53 = !_co.showFilterOnContrat; _ck(_v, 51, 0, currVal_53); var currVal_54 = !_co.filterOnContrat; _ck(_v, 52, 0, currVal_54); var currVal_55 = i1.ɵinlineInterpolate(1, \"'Tous mes contrats' ou seulement le contrat s\\u00E9lectionn\\u00E9 actuellement (\", _co.contrat.libelle, \")\"); _ck(_v, 53, 0, currVal_55); var currVal_56 = i1.ɵnov(_v.parent, 16).isOpen; _ck(_v, 57, 0, currVal_56); }); }\nfunction View_DiscussionComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"info-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement...\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_DiscussionComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"li\", [[\"class\", \"no-discussion\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Aucune demande \"]))], null, null); }\nfunction View_DiscussionComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 20, \"li\", [[\"class\", \"discussion-history\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onDiscussionClick(_v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵprd(512, null, i8.ɵNgClassImpl, i8.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(2, 278528, null, 0, i8.NgClass, [i8.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(3, { \"restaurant-type-background\": 0, \"secondary\": 1, \"restaurant-type-border\": 2 }), (_l()(), i1.ɵeld(4, 0, null, null, 16, \"div\", [[\"class\", \"discussion-history-border\"]], null, null, null, null, null)), i1.ɵprd(512, null, i8.ɵNgClassImpl, i8.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(6, 278528, null, 0, i8.NgClass, [i8.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(7, { \"restaurant-type-border\": 0 }), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"h2\", [[\"class\", \"topic-restaurant\"]], [[8, \"title\", 0]], null, null, null, null)), (_l()(), i1.ɵted(9, null, [\"\", \"\"])), (_l()(), i1.ɵeld(10, 0, null, null, 3, \"p\", [[\"class\", \"topic-type\"]], null, null, null, null, null)), (_l()(), i1.ɵted(11, null, [\"\", \"\"])), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"small\", [], null, null, null, null, null)), (_l()(), i1.ɵted(13, null, [\"\", \"\"])), (_l()(), i1.ɵeld(14, 0, null, null, 1, \"p\", [[\"class\", \"topic-sujet\"]], null, null, null, null, null)), (_l()(), i1.ɵted(15, null, [\" \", \"\"])), (_l()(), i1.ɵeld(16, 0, null, null, 4, \"span\", [[\"class\", \"date restaurant-type-color\"]], [[8, \"title\", 0]], null, null, null, null)), i1.ɵppd(17, 2), i1.ɵppd(18, 2), (_l()(), i1.ɵted(19, null, [\"\", \"\"])), i1.ɵppd(20, 2)], function (_ck, _v) { var _co = _v.component; var currVal_0 = \"discussion-history\"; var currVal_1 = _ck(_v, 3, 0, (_v.context.$implicit == _co.selectedDiscussion), true, !_v.context.$implicit.lu); _ck(_v, 2, 0, currVal_0, currVal_1); var currVal_2 = \"discussion-history-border\"; var currVal_3 = _ck(_v, 7, 0, !_v.context.$implicit.lu); _ck(_v, 6, 0, currVal_2, currVal_3); }, function (_ck, _v) { var currVal_4 = (((_v.context.$implicit.restaurant + \" (\") + _v.context.$implicit.contrat) + \")\"); _ck(_v, 8, 0, currVal_4); var currVal_5 = _v.context.$implicit.restaurant; _ck(_v, 9, 0, currVal_5); var currVal_6 = _v.context.$implicit.typeIntervention; _ck(_v, 11, 0, currVal_6); var currVal_7 = (_v.context.$implicit.typeMaintenance ? (\" - \" + _v.context.$implicit.typeMaintenance) : null); _ck(_v, 13, 0, currVal_7); var currVal_8 = _v.context.$implicit.sujet; _ck(_v, 15, 0, currVal_8); var currVal_9 = ((((\"Cr\\u00E9ation le \" + i1.ɵunv(_v, 16, 0, _ck(_v, 17, 0, i1.ɵnov(_v.parent.parent, 0), _v.context.$implicit.dateCreation, \"DD/MM/YYYY \\u00E0 HH:mm:ss\"))) + \"\\n\\rModification le \") + i1.ɵunv(_v, 16, 0, _ck(_v, 18, 0, i1.ɵnov(_v.parent.parent, 0), _v.context.$implicit.dateModification, \"DD/MM/YYYY \\u00E0 HH:mm:ss\"))) + \"\\n\\r\"); _ck(_v, 16, 0, currVal_9); var currVal_10 = i1.ɵunv(_v, 19, 0, _ck(_v, 20, 0, i1.ɵnov(_v.parent.parent, 0), _v.context.$implicit.dateModification, \"DD/MM/YYYY HH:mm\")); _ck(_v, 19, 0, currVal_10); }); }\nfunction View_DiscussionComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 10, \"div\", [[\"class\", \"discussion-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 7, \"div\", [[\"class\", \"topics-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 6, \"ul\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionComponent_4)), i1.ɵdid(4, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionComponent_5)), i1.ɵdid(6, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionComponent_6)), i1.ɵdid(8, 278528, null, 0, i8.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(9, 0, null, null, 1, \"discussion-details\", [], null, [[null, \"discussionClosed\"], [null, \"refreshDiscussionsRequired\"], [null, \"messageLuTriggered\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"discussionClosed\" === en)) {\n var pd_0 = (_co.onDiscussionClosed() !== false);\n ad = (pd_0 && ad);\n } if ((\"refreshDiscussionsRequired\" === en)) {\n var pd_1 = (_co.onRefreshDiscussionsRequired($event) !== false);\n ad = (pd_1 && ad);\n } if ((\"messageLuTriggered\" === en)) {\n var pd_2 = (_co.onMessageLuTriggered($event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, i9.View_DiscussionDetailsComponent_0, i9.RenderType_DiscussionDetailsComponent)), i1.ɵdid(10, 8634368, [[2, 4]], 0, i10.DiscussionDetailsComponent, [i11.AuthenticationService, i12.ApplicationDataService, i13.DiscussionService, i14.InteractionService], { typeInterventionGroups$: [0, \"typeInterventionGroups$\"], restaurant: [1, \"restaurant\"], discussion: [2, \"discussion\"] }, { discussionClosed: \"discussionClosed\", messageLuTriggered: \"messageLuTriggered\", refreshDiscussionsRequired: \"refreshDiscussionsRequired\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isLoadingDiscussions; _ck(_v, 4, 0, currVal_0); var currVal_1 = (!_co.currentDiscussions || (_co.currentDiscussions.length == 0)); _ck(_v, 6, 0, currVal_1); var currVal_2 = _co.currentDiscussions; _ck(_v, 8, 0, currVal_2); var currVal_3 = _co.typeInterventionGroups$; var currVal_4 = _co.restaurant; var currVal_5 = _co.selectedDiscussion; _ck(_v, 10, 0, currVal_3, currVal_4, currVal_5); }, null); }\nexport function View_DiscussionComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i15.DateFormatPipe, []), i1.ɵqud(402653184, 1, { newDiscussionComponent: 0 }), i1.ɵqud(402653184, 2, { discussionDetailsComponent: 0 }), (_l()(), i1.ɵeld(3, 0, null, null, 14, \"div\", [[\"class\", \"main-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 0, \"div\", [[\"class\", \"ribbon\"]], [[4, \"background-image\", null]], null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 12, \"div\", [[\"class\", \"page-container\"]], [[2, \"messages-visible\", null]], null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Demandes / R\\u00E9clamations\"])), (_l()(), i1.ɵeld(8, 0, null, null, 3, \"div\", [[\"class\", \"actions-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionComponent_1)), i1.ɵdid(10, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"], ngIfElse: [1, \"ngIfElse\"] }, null), (_l()(), i1.ɵand(0, [[\"displayFiltersTemplate\", 2]], null, 0, null, View_DiscussionComponent_2)), (_l()(), i1.ɵeld(12, 0, null, null, 2, \"div\", [[\"class\", \"ie11-max-height-fix-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DiscussionComponent_3)), i1.ɵdid(14, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(15, 0, null, null, 2, \"new-discussion\", [], [[2, \"new-discussion-visible\", null]], [[null, \"newDiscussionCreated\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"newDiscussionCreated\" === en)) {\n var pd_0 = (_co.onNewDiscussionCreated() !== false);\n ad = (pd_0 && ad);\n } return ad; }, i16.View_NewDiscussionComponent_0, i16.RenderType_NewDiscussionComponent)), i1.ɵdid(16, 245760, [[1, 4], [\"newDiscussionComponent\", 4]], 0, i17.NewDiscussionComponent, [i13.DiscussionService, i14.InteractionService], { typeInterventionGroups: [0, \"typeInterventionGroups\"], isLoadingTypeInterventions: [1, \"isLoadingTypeInterventions\"], restaurant: [2, \"restaurant\"] }, { newDiscussionCreated: \"newDiscussionCreated\" }), i1.ɵpid(131072, i8.AsyncPipe, [i1.ChangeDetectorRef])], function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.isLoadingFilters; var currVal_3 = i1.ɵnov(_v, 11); _ck(_v, 10, 0, currVal_2, currVal_3); var currVal_4 = !_co.isLoadingFilters; _ck(_v, 14, 0, currVal_4); var currVal_6 = i1.ɵunv(_v, 16, 0, i1.ɵnov(_v, 17).transform(_co.typeInterventionGroups$)); var currVal_7 = _co.isLoadingTypeInterventions; var currVal_8 = _co.restaurant; _ck(_v, 16, 0, currVal_6, currVal_7, currVal_8); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((\"url(\" + _co.logoContratUrl) + \")\"); _ck(_v, 4, 0, currVal_0); var currVal_1 = (_co.selectedDiscussion != null); _ck(_v, 5, 0, currVal_1); var currVal_5 = i1.ɵnov(_v, 16).isOpen; _ck(_v, 15, 0, currVal_5); }); }\nexport function View_DiscussionComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-Discussion\", [], null, null, null, View_DiscussionComponent_0, RenderType_DiscussionComponent)), i1.ɵdid(1, 245760, null, 0, i18.DiscussionComponent, [i19.Router, i12.ApplicationDataService, i13.DiscussionService, i14.InteractionService, i20.LogoRouteService, i11.AuthenticationService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar DiscussionComponentNgFactory = i1.ɵccf(\"app-Discussion\", i18.DiscussionComponent, View_DiscussionComponent_Host_0, {}, {}, []);\nexport { DiscussionComponentNgFactory as DiscussionComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] *[_ngcontent-%COMP%], [_nghost-%COMP%] [_ngcontent-%COMP%]:after, [_nghost-%COMP%] [_ngcontent-%COMP%]:before{box-sizing:border-box}[_nghost-%COMP%] .page-container[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%]{padding:10px}@media only screen and (max-width:767px){[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:calc(100% - 57px);overflow-y:auto}[_nghost-%COMP%] .page-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{overflow:auto;overflow-x:hidden}[_nghost-%COMP%] discussion-details[_ngcontent-%COMP%]{position:fixed;top:57px;right:0;bottom:0;left:0;transition:all .3s ease-in-out;-ms-transform:translateX(100%);transform:translateX(100%)}[_nghost-%COMP%] .page-container.messages-visible[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%]{position:fixed;left:50%;bottom:5px;-ms-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%;width:60px;height:60px;box-shadow:2px 2px 4px #000;z-index:10}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]{height:40px;width:40px}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]:after, [_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]:before{width:20px}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:none}}@media only screen and (min-width:768px){[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{min-height:300px;max-height:730px;display:-ms-flexbox;display:flex}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%]{-ms-flex-preferred-size:400px;flex-basis:400px;-ms-flex-negative:0;flex-shrink:0;overflow:auto;position:relative}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%]{padding:0}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%]{float:right}}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{display:block;text-align:left;margin:0 0 15px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{overflow:hidden;margin:0 0 10px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group-date[_ngcontent-%COMP%]{float:left;padding:0 5px 0 0;width:50%}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group-date[_ngcontent-%COMP%] + .form-group-date[_ngcontent-%COMP%]{padding:0 0 0 5px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .label-radio[_ngcontent-%COMP%]{display:inline-block;overflow:hidden;cursor:pointer}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .label-radio[_ngcontent-%COMP%] + .label-radio[_ngcontent-%COMP%]{margin:0 0 0 30px}[_nghost-%COMP%] .filter-group[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}[_nghost-%COMP%] .filter-on-contrat-filter[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .filter-on-contrat-filter[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] #search-text[_ngcontent-%COMP%]{background:url(/assets/images/loupe.png) calc(100% - 10px) 50% no-repeat #fff;box-sizing:border-box;border:1px solid gray;font-size:18px;padding:3px 10px;width:100%}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%]{background:#fafafa}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%], [_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] select[_ngcontent-%COMP%], [_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{background-color:#fff;border:1px solid #d1d1d1;display:block;margin:0;padding:10px;width:100%}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{font-family:josefin;font-size:1em}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{-ms-flex-item-align:start;align-self:flex-start;height:32px;width:32px;position:relative}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{border-top:2px solid #fff;border-right:2px solid #fff;width:14px;height:14px;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-ms-transform:rotate(-135deg);transform:rotate(-135deg);display:inline-block;position:absolute;top:9px;left:11px}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .send-button[_ngcontent-%COMP%]{-ms-flex-item-align:end;align-self:flex-end}[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{background:#fff;border-top:1px solid #d1d1d1;-ms-flex-positive:1;flex-grow:1}@media only screen and (min-width:768px){[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%]{margin:0 0 20px;width:400px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin:0 0 15px}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{border:1px solid #d1d1d1}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%]{border-right:1px solid #d1d1d1}}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{font-size:14px;list-style:none;margin:0;padding:0}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li.no-discussion[_ngcontent-%COMP%]{padding:20px}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{cursor:pointer;border-bottom:1px solid #d1d1d1}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li[_ngcontent-%COMP%] div.discussion-history-border[_ngcontent-%COMP%]{padding:15px;position:relative;border-left:5px solid transparent}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li[_ngcontent-%COMP%] div.discussion-history-border[_ngcontent-%COMP%]:hover{background:#e6e6e6}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .info-container[_ngcontent-%COMP%]{position:absolute;background:#fff;z-index:10}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-restaurant[_ngcontent-%COMP%]{font-size:17px;margin:0}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-sujet[_ngcontent-%COMP%], [_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-type[_ngcontent-%COMP%]{font-size:17px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-sujet[_ngcontent-%COMP%]{color:#b3b3b3;font-size:16px;margin:0 0 4px}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .restaurant-type-background .topic-sujet{color:#838383}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .date[_ngcontent-%COMP%]{color:#aebf2f;position:absolute;top:2px;right:8px}[_nghost-%COMP%] discussion-details[_ngcontent-%COMP%]{-ms-flex:1 1 0%;flex:1 1 0%;overflow:auto}[_nghost-%COMP%] .page-container.messages-visible[_ngcontent-%COMP%] discussion-details[_ngcontent-%COMP%]{visibility:visible;-ms-transform:translateX(0);transform:translateX(0)}[_nghost-%COMP%] .ie11-max-height-fix-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}\"];\nexport { styles as styles };\n","
\r\n
\r\n\r\n
\r\n

Demandes / Réclamations

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n

Filtrer les sujets

\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n Aucune demande\r\n
  • \r\n
  • \r\n
    \r\n

    {{ discussion.restaurant }}

    \r\n

    {{ discussion.typeIntervention }}{{ discussion.typeMaintenance ? (' - ' + discussion.typeMaintenance) : null }}

    \r\n

    {{ discussion.sujet }}

    \r\n {{ discussion.dateModification | dateFormat:'DD/MM/YYYY HH:mm' }}\r\n
    \r\n
  • \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./requalifier-discussion.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"./requalifier-discussion.component\";\nimport * as i5 from \"../services/discussion.service\";\nimport * as i6 from \"../../shared/services/interaction.service\";\nvar styles_RequalifierDiscussionComponent = [i0.styles];\nvar RenderType_RequalifierDiscussionComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_RequalifierDiscussionComponent, data: {} });\nexport { RenderType_RequalifierDiscussionComponent as RenderType_RequalifierDiscussionComponent };\nfunction View_RequalifierDiscussionComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Cat\\u00E9gorie : \"])), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"span\", [[\"class\", \"form-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(4, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.model.discussion.typeMaintenance; _ck(_v, 4, 0, currVal_0); }); }\nfunction View_RequalifierDiscussionComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i2.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i2.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i2.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_RequalifierDiscussionComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"optgroup\", [], [[8, \"label\", 0]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RequalifierDiscussionComponent_4)), i1.ɵdid(2, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var currVal_1 = _v.context.$implicit.typeInterventions; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_0 = i1.ɵinlineInterpolate(1, \"\", _v.context.$implicit.groupe, \"\"); _ck(_v, 0, 0, currVal_0); }); }\nfunction View_RequalifierDiscussionComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Nouveau type\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"name\", \"type-intervention\"], [\"required\", \"\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedTypeIntervention = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i2.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵdid(5, 16384, null, 0, i2.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i2.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i2.RequiredValidator]), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.SelectControlValueAccessor]), i1.ɵdid(8, 671744, null, 0, i2.NgModel, [[2, i2.ControlContainer], [6, i2.NG_VALIDATORS], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], isDisabled: [1, \"isDisabled\"], model: [2, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(10, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RequalifierDiscussionComponent_3)), i1.ɵdid(12, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_8 = \"\"; _ck(_v, 5, 0, currVal_8); var currVal_9 = \"type-intervention\"; var currVal_10 = _co.isSending; var currVal_11 = _co.selectedTypeIntervention; _ck(_v, 8, 0, currVal_9, currVal_10, currVal_11); var currVal_12 = _co.model.typeInterventionGroups; _ck(_v, 12, 0, currVal_12); }, function (_ck, _v) { var currVal_0 = (i1.ɵnov(_v, 5).required ? \"\" : null); var currVal_1 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 10).ngClassValid; var currVal_6 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); }); }\nfunction View_RequalifierDiscussionComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"form-group error-message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Aucun type n'est disponible pour ce contrat, veuillez contacter un administrateur.\"]))], null, null); }\nfunction View_RequalifierDiscussionComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i2.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i2.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i2.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_RequalifierDiscussionComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"optgroup\", [], [[8, \"label\", 0]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RequalifierDiscussionComponent_8)), i1.ɵdid(2, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var currVal_1 = _v.context.$implicit.typeMaintenances; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_0 = i1.ɵinlineInterpolate(1, \"\", _v.context.$implicit.groupe, \"\"); _ck(_v, 0, 0, currVal_0); }); }\nfunction View_RequalifierDiscussionComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"error-message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"La cat\\u00E9gorie est requise.\"]))], null, null); }\nfunction View_RequalifierDiscussionComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Nouvelle cat\\u00E9gorie\"])), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"select\", [[\"name\", \"selectedTypeMaintenance\"], [\"required\", \"\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.selectedTypeMaintenance = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i2.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵdid(5, 16384, null, 0, i2.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i2.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i2.RequiredValidator]), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.SelectControlValueAccessor]), i1.ɵdid(8, 671744, [[\"typeMaintenanceCtrl\", 4]], 0, i2.NgModel, [[2, i2.ControlContainer], [6, i2.NG_VALIDATORS], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], isDisabled: [1, \"isDisabled\"], model: [2, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(10, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RequalifierDiscussionComponent_7)), i1.ɵdid(12, 278528, null, 0, i3.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RequalifierDiscussionComponent_9)), i1.ɵdid(14, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_8 = \"\"; _ck(_v, 5, 0, currVal_8); var currVal_9 = \"selectedTypeMaintenance\"; var currVal_10 = _co.isSending; var currVal_11 = _co.selectedTypeMaintenance; _ck(_v, 8, 0, currVal_9, currVal_10, currVal_11); var currVal_12 = _co.selectedTypeIntervention.typeMaintenances; _ck(_v, 12, 0, currVal_12); var currVal_13 = (((((i1.ɵnov(_v.parent, 2).submitted || i1.ɵnov(_v.parent, 2).dirty) || i1.ɵnov(_v.parent, 2).touched) || i1.ɵnov(_v.parent, 2).invalid) && i1.ɵnov(_v, 8).invalid) && (i1.ɵnov(_v, 8).dirty || i1.ɵnov(_v, 8).touched)); _ck(_v, 14, 0, currVal_13); }, function (_ck, _v) { var currVal_0 = (i1.ɵnov(_v, 5).required ? \"\" : null); var currVal_1 = i1.ɵnov(_v, 10).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 10).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 10).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 10).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 10).ngClassValid; var currVal_6 = i1.ɵnov(_v, 10).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 10).ngClassPending; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); }); }\nexport function View_RequalifierDiscussionComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { form: 0 }), (_l()(), i1.ɵeld(1, 0, null, null, 37, \"form\", [[\"autocomplete\", \"off\"], [\"class\", \"form-requalifier-discussion form-discussion\"], [\"ngNativeValidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 2).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 2).onReset() !== false);\n ad = (pd_1 && ad);\n } if ((\"submit\" === en)) {\n var pd_2 = (_co.requalifierDiscussion() !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(2, 4210688, [[1, 4], [\"form\", 4]], 0, i2.NgForm, [[8, null], [8, null]], null, null), i1.ɵprd(2048, null, i2.ControlContainer, null, [i2.NgForm]), i1.ɵdid(4, 16384, null, 0, i2.NgControlStatusGroup, [[4, i2.ControlContainer]], null, null), (_l()(), i1.ɵeld(5, 0, null, null, 4, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Restaurant : \"])), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"span\", [[\"class\", \"form-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(9, null, [\"\", \"\"])), (_l()(), i1.ɵeld(10, 0, null, null, 7, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 4, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Type : \"])), (_l()(), i1.ɵeld(14, 0, null, null, 1, \"span\", [[\"class\", \"form-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(15, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RequalifierDiscussionComponent_1)), i1.ɵdid(17, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(18, 0, null, null, 4, \"div\", [[\"class\", \"form-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(19, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Objet : \"])), (_l()(), i1.ɵeld(21, 0, null, null, 1, \"span\", [[\"class\", \"form-value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(22, null, [\"\", \"\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RequalifierDiscussionComponent_2)), i1.ɵdid(24, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"], ngIfElse: [1, \"ngIfElse\"] }, null), (_l()(), i1.ɵand(0, [[\"noTypeInterventionTemplate\", 2]], null, 0, null, View_RequalifierDiscussionComponent_5)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RequalifierDiscussionComponent_6)), i1.ɵdid(27, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(28, 0, null, null, 10, \"div\", [[\"class\", \"btn-row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(29, 0, null, null, 4, \"button\", [[\"class\", \"generic-button cancel-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.close() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(30, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"cancel\"])), (_l()(), i1.ɵeld(32, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Annuler\"])), (_l()(), i1.ɵeld(34, 0, null, null, 4, \"button\", [[\"class\", \"generic-button restaurant-type-background\"], [\"type\", \"submit\"]], [[8, \"disabled\", 0]], null, null, null, null)), (_l()(), i1.ɵeld(35, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"edit\"])), (_l()(), i1.ɵeld(37, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(38, null, [\" Valider\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_9 = _co.model.discussion.typeMaintenanceId; _ck(_v, 17, 0, currVal_9); var currVal_11 = _co.hasTypeInterventions; var currVal_12 = i1.ɵnov(_v, 25); _ck(_v, 24, 0, currVal_11, currVal_12); var currVal_13 = _co.hasTypeMaintenances; _ck(_v, 27, 0, currVal_13); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 4).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 4).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 4).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 4).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 4).ngClassValid; var currVal_5 = i1.ɵnov(_v, 4).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 4).ngClassPending; _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_7 = _co.model.restaurant.name; _ck(_v, 9, 0, currVal_7); var currVal_8 = _co.model.discussion.typeIntervention; _ck(_v, 15, 0, currVal_8); var currVal_10 = _co.model.discussion.sujet; _ck(_v, 22, 0, currVal_10); var currVal_14 = _co.isSending; _ck(_v, 29, 0, currVal_14); var currVal_15 = ((_co.isSending || !_co.hasChanged) || !_co.hasTypeInterventions); _ck(_v, 34, 0, currVal_15); var currVal_16 = (_co.isSending ? \"...\" : \"\"); _ck(_v, 38, 0, currVal_16); }); }\nexport function View_RequalifierDiscussionComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-requalifier-discussion\", [], null, null, null, View_RequalifierDiscussionComponent_0, RenderType_RequalifierDiscussionComponent)), i1.ɵdid(1, 245760, null, 0, i4.RequalifierDiscussionComponent, [i5.DiscussionService, i6.InteractionService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar RequalifierDiscussionComponentNgFactory = i1.ɵccf(\"app-requalifier-discussion\", i4.RequalifierDiscussionComponent, View_RequalifierDiscussionComponent_Host_0, {}, {}, []);\nexport { RequalifierDiscussionComponentNgFactory as RequalifierDiscussionComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] *[_ngcontent-%COMP%], [_nghost-%COMP%] [_ngcontent-%COMP%]:after, [_nghost-%COMP%] [_ngcontent-%COMP%]:before{box-sizing:border-box}[_nghost-%COMP%] .page-container[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%]{padding:10px}@media only screen and (max-width:767px){[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:calc(100% - 57px);overflow-y:auto}[_nghost-%COMP%] .page-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{overflow:auto;overflow-x:hidden}[_nghost-%COMP%] discussion-details[_ngcontent-%COMP%]{position:fixed;top:57px;right:0;bottom:0;left:0;transition:all .3s ease-in-out;-ms-transform:translateX(100%);transform:translateX(100%)}[_nghost-%COMP%] .page-container.messages-visible[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%]{position:fixed;left:50%;bottom:5px;-ms-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%;width:60px;height:60px;box-shadow:2px 2px 4px #000;z-index:10}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]{height:40px;width:40px}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]:after, [_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .plus[_ngcontent-%COMP%]:before{width:20px}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:none}}@media only screen and (min-width:768px){[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{min-height:300px;max-height:730px;display:-ms-flexbox;display:flex}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%]{-ms-flex-preferred-size:400px;flex-basis:400px;-ms-flex-negative:0;flex-shrink:0;overflow:auto;position:relative}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%]{padding:0}[_nghost-%COMP%] .actions-container[_ngcontent-%COMP%] .new-button[_ngcontent-%COMP%]{float:right}}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{display:block;text-align:left;margin:0 0 15px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{overflow:hidden;margin:0 0 10px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group-date[_ngcontent-%COMP%]{float:left;padding:0 5px 0 0;width:50%}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group-date[_ngcontent-%COMP%] + .form-group-date[_ngcontent-%COMP%]{padding:0 0 0 5px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .label-radio[_ngcontent-%COMP%]{display:inline-block;overflow:hidden;cursor:pointer}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .label-radio[_ngcontent-%COMP%] + .label-radio[_ngcontent-%COMP%]{margin:0 0 0 30px}[_nghost-%COMP%] .filter-group[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}[_nghost-%COMP%] .filter-on-contrat-filter[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .filter-on-contrat-filter[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] #search-text[_ngcontent-%COMP%]{background:url(/assets/images/loupe.png) calc(100% - 10px) 50% no-repeat #fff;box-sizing:border-box;border:1px solid gray;font-size:18px;padding:3px 10px;width:100%}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%]{background:#fafafa}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%], [_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] select[_ngcontent-%COMP%], [_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{background-color:#fff;border:1px solid #d1d1d1;display:block;margin:0;padding:10px;width:100%}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{font-family:josefin;font-size:1em}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{-ms-flex-item-align:start;align-self:flex-start;height:32px;width:32px;position:relative}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{border-top:2px solid #fff;border-right:2px solid #fff;width:14px;height:14px;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-ms-transform:rotate(-135deg);transform:rotate(-135deg);display:inline-block;position:absolute;top:9px;left:11px}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .send-button[_ngcontent-%COMP%]{-ms-flex-item-align:end;align-self:flex-end}[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{background:#fff;border-top:1px solid #d1d1d1;-ms-flex-positive:1;flex-grow:1}@media only screen and (min-width:768px){[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%]{margin:0 0 20px;width:400px}[_nghost-%COMP%] .actions-filters[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin:0 0 15px}[_nghost-%COMP%] .form-discussion[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .discussion-container[_ngcontent-%COMP%]{border:1px solid #d1d1d1}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%]{border-right:1px solid #d1d1d1}[_nghost-%COMP%] h2[_ngcontent-%COMP%]{margin-top:0}}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{font-size:14px;list-style:none;margin:0;padding:0}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li.no-discussion[_ngcontent-%COMP%]{padding:20px}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{cursor:pointer;border-bottom:1px solid #d1d1d1}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li[_ngcontent-%COMP%] div.discussion-history-border[_ngcontent-%COMP%]{padding:15px;position:relative;border-left:5px solid transparent}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] li[_ngcontent-%COMP%] div.discussion-history-border[_ngcontent-%COMP%]:hover{background:#e6e6e6}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .info-container[_ngcontent-%COMP%]{position:absolute;background:#fff;z-index:10}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-restaurant[_ngcontent-%COMP%]{font-size:17px;margin:0}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-sujet[_ngcontent-%COMP%], [_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-type[_ngcontent-%COMP%]{font-size:17px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .topic-sujet[_ngcontent-%COMP%]{color:#b3b3b3;font-size:16px;margin:0 0 4px}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .restaurant-type-background .topic-sujet{color:#838383}[_nghost-%COMP%] .topics-container[_ngcontent-%COMP%] .date[_ngcontent-%COMP%]{color:#aebf2f;position:absolute;top:2px;right:8px}[_nghost-%COMP%] discussion-details[_ngcontent-%COMP%]{-ms-flex:1 1 0%;flex:1 1 0%;overflow:auto}[_nghost-%COMP%] .page-container.messages-visible[_ngcontent-%COMP%] discussion-details[_ngcontent-%COMP%]{visibility:visible;-ms-transform:translateX(0);transform:translateX(0)}[_nghost-%COMP%] .ie11-max-height-fix-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}[_nghost-%COMP%] h2[_ngcontent-%COMP%]{text-transform:uppercase}[_nghost-%COMP%] .form-requalifier-discussion[_ngcontent-%COMP%] > .form-group[_ngcontent-%COMP%]{margin:0 0 20px}[_nghost-%COMP%] .btn-row[_ngcontent-%COMP%]{margin-top:8px;display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end}[_nghost-%COMP%] .btn-row[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{margin-right:6px}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{display:block;color:#e20035;font-size:14px;-webkit-animation-name:slidein;animation-name:slidein;-webkit-animation-duration:.4s;animation-duration:.4s;white-space:nowrap}@-webkit-keyframes slidein{0%{transform:translateX(-2em);opacity:0}100%{transform:translateX(0);opacity:1}}@keyframes slidein{0%{transform:translateX(-2em);opacity:0}100%{transform:translateX(0);opacity:1}}\"];\nexport { styles as styles };\n","
\r\n
\r\n {{ this.model.restaurant.name }}\r\n
\r\n
\r\n
\r\n {{ this.model.discussion.typeIntervention }}\r\n
\r\n
\r\n {{ this.model.discussion.typeMaintenance }}\r\n
\r\n
\r\n
\r\n {{ this.model.discussion.sujet }}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
Aucun type n'est disponible pour ce contrat, veuillez contacter un administrateur.
\r\n
\r\n\r\n
\r\n \r\n \r\n
La catégorie est requise.
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./popup-search-code-barre.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../loader/loader.component.ngfactory\";\nimport * as i3 from \"../../loader/loader.component\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"@angular/forms\";\nimport * as i6 from \"../../shared/directives/restaurant-type-color.directive\";\nimport * as i7 from \"./popup-search-code-barre.component\";\nimport * as i8 from \"../services/bon-livraison.service\";\nimport * as i9 from \"@angular/router\";\nimport * as i10 from \"../../shared/services/interaction.service\";\nvar styles_PopupSearchCodeBarreComponent = [i0.styles];\nvar RenderType_PopupSearchCodeBarreComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_PopupSearchCodeBarreComponent, data: {} });\nexport { RenderType_PopupSearchCodeBarreComponent as RenderType_PopupSearchCodeBarreComponent };\nfunction View_PopupSearchCodeBarreComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loader-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement...\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nexport function View_PopupSearchCodeBarreComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { _inputCodeBarre: 0 }), i1.ɵqud(402653184, 2, { _barcodeScanner: 0 }), (_l()(), i1.ɵeld(2, 0, null, null, 27, \"div\", [[\"class\", \"main-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupSearchCodeBarreComponent_1)), i1.ɵdid(4, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 24, \"form\", [[\"ngNativeValidate\", \"\"], [\"style\", \"text-align: center;\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngSubmit\"], [null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 6).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 6).onReset() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngSubmit\" === en)) {\n var pd_2 = (_co.searchBonLivraison() !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(6, 4210688, null, 0, i5.NgForm, [[8, null], [8, null]], null, { ngSubmit: \"ngSubmit\" }), i1.ɵprd(2048, null, i5.ControlContainer, null, [i5.NgForm]), i1.ɵdid(8, 16384, null, 0, i5.NgControlStatusGroup, [[4, i5.ControlContainer]], null, null), (_l()(), i1.ɵeld(9, 0, null, null, 1, \"h4\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Veuillez scanner ou saisir le code-barre du bon de livraison :\"])), (_l()(), i1.ɵeld(11, 0, [[2, 0], [\"barcodeScanner\", 1]], null, 0, \"div\", [[\"class\", \"scanner\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 12, \"div\", [[\"class\", \"input-section\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(13, 0, null, null, 1, \"span\", [[\"class\", \"code-cuisine\"]], null, null, null, null, null)), (_l()(), i1.ɵted(14, null, [\"\", \"\"])), (_l()(), i1.ɵeld(15, 0, null, null, 1, \"span\", [[\"class\", \"union-barre\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"-\"])), (_l()(), i1.ɵeld(17, 0, [[1, 0], [\"inputCodeBarre\", 1]], null, 7, \"input\", [[\"autocomplete\", \"off\"], [\"class\", \"input-code-barre\"], [\"name\", \"codeBarre\"], [\"placeholder\", \"Code Barre\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 18)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 18).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 18)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 18)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.codeBarre = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(18, 16384, null, 0, i5.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i5.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(19, 16384, null, 0, i5.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i5.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i5.RequiredValidator]), i1.ɵprd(1024, null, i5.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i5.DefaultValueAccessor]), i1.ɵdid(22, 671744, null, 0, i5.NgModel, [[2, i5.ControlContainer], [6, i5.NG_VALIDATORS], [8, null], [6, i5.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i5.NgControl, null, [i5.NgModel]), i1.ɵdid(24, 16384, null, 0, i5.NgControlStatus, [[4, i5.NgControl]], null, null), (_l()(), i1.ɵeld(25, 0, null, null, 4, \"div\", [[\"class\", \"button-section\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(26, 0, null, null, 3, \"button\", [[\"class\", \"generic-button btn-large\"], [\"type\", \"submit\"]], null, null, null, null, null)), i1.ɵdid(27, 16384, null, 0, i6.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(28, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵted(-1, null, [\"Rechercher\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isLoading; _ck(_v, 4, 0, currVal_0); var currVal_17 = \"\"; _ck(_v, 19, 0, currVal_17); var currVal_18 = \"codeBarre\"; var currVal_19 = _co.codeBarre; _ck(_v, 22, 0, currVal_18, currVal_19); var currVal_20 = _ck(_v, 28, 0, _co.data.currentType, true); _ck(_v, 27, 0, currVal_20); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 8).ngClassValid; var currVal_6 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 5, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); var currVal_8 = _co.data.cuisineCode; _ck(_v, 14, 0, currVal_8); var currVal_9 = (i1.ɵnov(_v, 19).required ? \"\" : null); var currVal_10 = i1.ɵnov(_v, 24).ngClassUntouched; var currVal_11 = i1.ɵnov(_v, 24).ngClassTouched; var currVal_12 = i1.ɵnov(_v, 24).ngClassPristine; var currVal_13 = i1.ɵnov(_v, 24).ngClassDirty; var currVal_14 = i1.ɵnov(_v, 24).ngClassValid; var currVal_15 = i1.ɵnov(_v, 24).ngClassInvalid; var currVal_16 = i1.ɵnov(_v, 24).ngClassPending; _ck(_v, 17, 0, currVal_9, currVal_10, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16); }); }\nexport function View_PopupSearchCodeBarreComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-popup-search-code-barre\", [], null, null, null, View_PopupSearchCodeBarreComponent_0, RenderType_PopupSearchCodeBarreComponent)), i1.ɵdid(1, 4440064, null, 0, i7.PopupSearchCodeBarreComponent, [i8.BonLivraisonService, i9.Router, i10.InteractionService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar PopupSearchCodeBarreComponentNgFactory = i1.ɵccf(\"app-popup-search-code-barre\", i7.PopupSearchCodeBarreComponent, View_PopupSearchCodeBarreComponent_Host_0, {}, {}, []);\nexport { PopupSearchCodeBarreComponentNgFactory as PopupSearchCodeBarreComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] > .loader-container[_ngcontent-%COMP%]{position:absolute;background-color:rgba(255,255,255,.9);height:100%;width:100%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}[_nghost-%COMP%] .input-section[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;-ms-flex-pack:center;justify-content:center;margin-bottom:24px;width:100%}[_nghost-%COMP%] .input-code-barre[_ngcontent-%COMP%]{font-size:18pt;width:200px;-ms-flex-negative:0;flex-shrink:0;border:1px solid #7b7979;border-radius:5px;padding:5px;font-family:monospace}[_nghost-%COMP%] .input-code-barre[_ngcontent-%COMP%]:valid{text-transform:uppercase}[_nghost-%COMP%] .code-cuisine[_ngcontent-%COMP%]{height:50px;font-size:18pt;font-family:monospace}[_nghost-%COMP%] .union-barre[_ngcontent-%COMP%]{height:50px;font-size:20pt;margin-left:10px;margin-right:10px}[_nghost-%COMP%] .btn-large[_ngcontent-%COMP%]{width:150px;height:40px;font-size:14px}[_nghost-%COMP%] .scanner[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .scanner[_ngcontent-%COMP%] canvas[_ngcontent-%COMP%], [_nghost-%COMP%] .scanner[_ngcontent-%COMP%] video[_ngcontent-%COMP%]{max-width:100%;width:100%}[_nghost-%COMP%] .scanner[_ngcontent-%COMP%] canvas.drawingBuffer[_ngcontent-%COMP%]{position:absolute;left:0;top:0}\"];\nexport { styles as styles };\n","
\r\n
\r\n \r\n
\r\n
\r\n

Veuillez scanner ou saisir le code-barre du bon de livraison :

\r\n
\r\n
\r\n {{ data.cuisineCode }}\r\n -\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./popup-validation.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../loader/loader.component.ngfactory\";\nimport * as i3 from \"../../../loader/loader.component\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"@angular/forms\";\nimport * as i6 from \"./popup-validation.component\";\nimport * as i7 from \"../../services/bon-livraison.service\";\nimport * as i8 from \"@angular/router\";\nimport * as i9 from \"../../../shared/services/interaction.service\";\nvar styles_PopupValidationComponent = [i0.styles];\nvar RenderType_PopupValidationComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_PopupValidationComponent, data: {} });\nexport { RenderType_PopupValidationComponent as RenderType_PopupValidationComponent };\nfunction View_PopupValidationComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loader-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement...\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_PopupValidationComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 8, \"div\", [[\"class\", \"presentation-manque\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"div\", [[\"class\", \"quantite-manque\"]], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\"\", \"\"])), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [[\"class\", \"contenance-manque\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"x\", \"\"])), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"div\", [[\"class\", \"unite-manque\"]], null, null, null, null, null)), (_l()(), i1.ɵted(7, null, [\"\", \"\"])), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"div\", [[\"class\", \"libelle-manque\"]], null, null, null, null, null)), (_l()(), i1.ɵted(9, null, [\"\", \"\"]))], null, function (_ck, _v) { var currVal_0 = ((_v.context.$implicit.quantiteLivreeRelative > 0) ? (\"+\" + _v.context.$implicit.quantiteLivreeRelative) : _v.context.$implicit.quantiteLivreeRelative); _ck(_v, 3, 0, currVal_0); var currVal_1 = _v.context.$implicit.contenance; _ck(_v, 5, 0, currVal_1); var currVal_2 = _v.context.$implicit.unite; _ck(_v, 7, 0, currVal_2); var currVal_3 = _v.context.$implicit.libelle; _ck(_v, 9, 0, currVal_3); }); }\nfunction View_PopupValidationComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"container-manques\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"MANQUES\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_4)), i1.ɵdid(4, 278528, null, 0, i4.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.manques; _ck(_v, 4, 0, currVal_0); }, null); }\nfunction View_PopupValidationComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 8, \"div\", [[\"class\", \"presentation-manque\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"div\", [[\"class\", \"quantite-manque\"]], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\"\", \"\"])), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [[\"class\", \"contenance-manque\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"x\", \"\"])), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"div\", [[\"class\", \"unite-manque\"]], null, null, null, null, null)), (_l()(), i1.ɵted(7, null, [\"\", \"\"])), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"div\", [[\"class\", \"libelle-manque\"]], null, null, null, null, null)), (_l()(), i1.ɵted(9, null, [\"\", \"\"]))], null, function (_ck, _v) { var currVal_0 = ((_v.context.$implicit.quantiteLivreeRelative > 0) ? (\"+\" + _v.context.$implicit.quantiteLivreeRelative) : _v.context.$implicit.quantiteLivreeRelative); _ck(_v, 3, 0, currVal_0); var currVal_1 = _v.context.$implicit.contenance; _ck(_v, 5, 0, currVal_1); var currVal_2 = _v.context.$implicit.unite; _ck(_v, 7, 0, currVal_2); var currVal_3 = _v.context.$implicit.libelle; _ck(_v, 9, 0, currVal_3); }); }\nfunction View_PopupValidationComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"container-excedents\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"EXCEDENTS\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_6)), i1.ɵdid(4, 278528, null, 0, i4.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.excedents; _ck(_v, 4, 0, currVal_0); }, null); }\nfunction View_PopupValidationComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"container-reception-nofault\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Vous n'avez pas d\\u00E9clar\\u00E9 de manque sur cette livraison.\"]))], null, null); }\nfunction View_PopupValidationComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 6, \"div\", [[\"class\", \"container-reception\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_3)), i1.ɵdid(2, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_5)), i1.ɵdid(4, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_7)), i1.ɵdid(6, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.hasManques; _ck(_v, 2, 0, currVal_0); var currVal_1 = _co.hasExcedents; _ck(_v, 4, 0, currVal_1); var currVal_2 = !_co.hasComposantFaults; _ck(_v, 6, 0, currVal_2); }, null); }\nfunction View_PopupValidationComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"container-conformite\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Veuillez indiquer la conformit\\u00E9 de la livraison :\"]))], null, null); }\nfunction View_PopupValidationComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"label\", [[\"class\", \"non-conformite-item\"]], [[8, \"htmlFor\", 0], [2, \"selected\", null]], null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"input\", [[\"type\", \"checkbox\"]], [[8, \"checked\", 0], [8, \"value\", 0], [8, \"id\", 0]], [[null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (_co.toggleNonConformite($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], null, function (_ck, _v) { var currVal_0 = i1.ɵinlineInterpolate(1, \"nc-\", _v.context.$implicit.nonConformite.bonLivraisonTypeNonConformiteId, \"\"); var currVal_1 = _v.context.$implicit.selected; _ck(_v, 0, 0, currVal_0, currVal_1); var currVal_2 = _v.context.$implicit.selected; var currVal_3 = _v.context.$implicit.nonConformite.bonLivraisonTypeNonConformiteId; var currVal_4 = i1.ɵinlineInterpolate(1, \"nc-\", _v.context.$implicit.nonConformite.bonLivraisonTypeNonConformiteId, \"\"); _ck(_v, 1, 0, currVal_2, currVal_3, currVal_4); var currVal_5 = _v.context.$implicit.nonConformite.libelle; _ck(_v, 3, 0, currVal_5); }); }\nfunction View_PopupValidationComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"error-message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Une non-conformit\\u00E9 est requise.\"]))], null, null); }\nfunction View_PopupValidationComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 9, \"div\", [[\"class\", \"container-conformite-non-conforme\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Vous d\\u00E9clarez cette livraison non-conforme.\"])), (_l()(), i1.ɵeld(3, 0, null, null, 0, \"br\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Veuillez pr\\u00E9ciser le type de non-conformit\\u00E9 :\"])), (_l()(), i1.ɵeld(5, 0, null, null, 2, \"div\", [[\"class\", \"container-non-conformites restaurant-type-background secondary\"]], [[2, \"invalid\", null]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_10)), i1.ɵdid(7, 278528, null, 0, i4.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_11)), i1.ɵdid(9, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.nonConformites; _ck(_v, 7, 0, currVal_1); var currVal_2 = (((i1.ɵnov(_v.parent, 3).submitted || i1.ɵnov(_v.parent, 3).dirty) || i1.ɵnov(_v.parent, 3).touched) && !_co.hasNonConformite); _ck(_v, 9, 0, currVal_2); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (((i1.ɵnov(_v.parent, 3).submitted || i1.ɵnov(_v.parent, 3).dirty) || i1.ɵnov(_v.parent, 3).touched) && !_co.hasNonConformite); _ck(_v, 5, 0, currVal_0); }); }\nfunction View_PopupValidationComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"label\", [[\"for\", \"commentaire\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"COMMENTAIRE\"]))], null, null); }\nfunction View_PopupValidationComponent_15(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"error-message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Le commentaire est requis.\"]))], null, null); }\nfunction View_PopupValidationComponent_16(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"error-message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Le commentaire doit contenir au moins 3 caract\\u00E8res.\"]))], null, null); }\nfunction View_PopupValidationComponent_14(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_15)), i1.ɵdid(2, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_16)), i1.ɵdid(4, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var currVal_0 = i1.ɵnov(_v.parent, 9).errors[\"required\"]; _ck(_v, 2, 0, currVal_0); var currVal_1 = i1.ɵnov(_v.parent, 9).errors[\"minlength\"]; _ck(_v, 4, 0, currVal_1); }, null); }\nfunction View_PopupValidationComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, \"div\", [[\"class\", \"commentaire-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_13)), i1.ɵdid(2, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 9, \"textarea\", [[\"autocomplete\", \"off\"], [\"minlength\", \"3\"], [\"name\", \"commentaireControl\"], [\"placeholder\", \"Veuillez indiquer un commentaire\"]], [[1, \"required\", 0], [1, \"minlength\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"focus\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 4)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 4)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.commentaire = $event) !== false);\n ad = (pd_4 && ad);\n } if ((\"focus\" === en)) {\n var pd_5 = (_co.scrollToElement(i1.ɵnov(_v.parent, 18)) !== false);\n ad = (pd_5 && ad);\n } if ((\"input\" === en)) {\n var pd_6 = (_co.scrollToElement(i1.ɵnov(_v.parent, 18)) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i5.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i5.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(5, 16384, null, 0, i5.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵdid(6, 540672, null, 0, i5.MinLengthValidator, [], { minlength: [0, \"minlength\"] }, null), i1.ɵprd(1024, null, i5.NG_VALIDATORS, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i5.RequiredValidator, i5.MinLengthValidator]), i1.ɵprd(1024, null, i5.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i5.DefaultValueAccessor]), i1.ɵdid(9, 671744, [[\"commentaireControl\", 4]], 0, i5.NgModel, [[2, i5.ControlContainer], [6, i5.NG_VALIDATORS], [8, null], [6, i5.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i5.NgControl, null, [i5.NgModel]), i1.ɵdid(11, 16384, null, 0, i5.NgControlStatus, [[4, i5.NgControl]], null, null), (_l()(), i1.ɵted(-1, null, [\" \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_14)), i1.ɵdid(14, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (!_co.showNonConformePrompt && _co.hasManques); _ck(_v, 2, 0, currVal_0); var currVal_10 = _co.isCommentaireRequired; _ck(_v, 5, 0, currVal_10); var currVal_11 = \"3\"; _ck(_v, 6, 0, currVal_11); var currVal_12 = \"commentaireControl\"; var currVal_13 = _co.commentaire; _ck(_v, 9, 0, currVal_12, currVal_13); var currVal_14 = (((i1.ɵnov(_v.parent, 3).submitted || i1.ɵnov(_v.parent, 3).dirty) || i1.ɵnov(_v.parent, 3).touched) && !i1.ɵnov(_v, 9).valid); _ck(_v, 14, 0, currVal_14); }, function (_ck, _v) { var currVal_1 = (i1.ɵnov(_v, 5).required ? \"\" : null); var currVal_2 = (i1.ɵnov(_v, 6).minlength ? i1.ɵnov(_v, 6).minlength : null); var currVal_3 = i1.ɵnov(_v, 11).ngClassUntouched; var currVal_4 = i1.ɵnov(_v, 11).ngClassTouched; var currVal_5 = i1.ɵnov(_v, 11).ngClassPristine; var currVal_6 = i1.ɵnov(_v, 11).ngClassDirty; var currVal_7 = i1.ɵnov(_v, 11).ngClassValid; var currVal_8 = i1.ɵnov(_v, 11).ngClassInvalid; var currVal_9 = i1.ɵnov(_v, 11).ngClassPending; _ck(_v, 3, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9); }); }\nfunction View_PopupValidationComponent_17(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"error-container\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\" \", \" \"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.erreurValidationMessage; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_PopupValidationComponent_18(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"button\", [[\"class\", \"generic-button revoke-button red-button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = ((_co.showNonConformePrompt = true) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Non conforme\"]))], null, null); }\nfunction View_PopupValidationComponent_19(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"button\", [[\"class\", \"generic-button revoke-button red-button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.DeclarerConformite(false) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Non conforme\"]))], null, null); }\nfunction View_PopupValidationComponent_20(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"button\", [[\"class\", \"generic-button validate-button green-button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.DeclarerConformite(true) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Conforme\"]))], null, null); }\nfunction View_PopupValidationComponent_21(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"button\", [[\"class\", \"generic-button restaurant-type-background\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.DeclarerManque() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"D\\u00E9clarer le manque\"]))], null, null); }\nexport function View_PopupValidationComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { form: 0 }), (_l()(), i1.ɵeld(1, 0, null, null, 25, \"form\", [[\"class\", \"main-container\"], [\"novalidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 3).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 3).onReset() !== false);\n ad = (pd_1 && ad);\n } return ad; }, null, null)), i1.ɵdid(2, 16384, null, 0, i5.ɵangular_packages_forms_forms_z, [], null, null), i1.ɵdid(3, 4210688, [[1, 4], [\"form\", 4]], 0, i5.NgForm, [[8, null], [8, null]], null, null), i1.ɵprd(2048, null, i5.ControlContainer, null, [i5.NgForm]), i1.ɵdid(5, 16384, null, 0, i5.NgControlStatusGroup, [[4, i5.ControlContainer]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_1)), i1.ɵdid(7, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_2)), i1.ɵdid(9, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_8)), i1.ɵdid(11, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_9)), i1.ɵdid(13, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_12)), i1.ɵdid(15, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_17)), i1.ɵdid(17, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(18, 0, [[\"buttonContainer\", 1]], null, 8, \"div\", [[\"class\", \"button-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_18)), i1.ɵdid(20, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_19)), i1.ɵdid(22, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_20)), i1.ɵdid(24, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupValidationComponent_21)), i1.ɵdid(26, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.isLoading; _ck(_v, 7, 0, currVal_7); var currVal_8 = _co.allowReception; _ck(_v, 9, 0, currVal_8); var currVal_9 = (_co.allowConformite && !_co.showNonConformePrompt); _ck(_v, 11, 0, currVal_9); var currVal_10 = _co.showNonConformePrompt; _ck(_v, 13, 0, currVal_10); var currVal_11 = (_co.showNonConformePrompt || (_co.allowReception && _co.hasManques)); _ck(_v, 15, 0, currVal_11); var currVal_12 = (_co.erreurValidationMessage != \"\"); _ck(_v, 17, 0, currVal_12); var currVal_13 = (_co.allowConformite && !_co.showNonConformePrompt); _ck(_v, 20, 0, currVal_13); var currVal_14 = _co.showNonConformePrompt; _ck(_v, 22, 0, currVal_14); var currVal_15 = (_co.allowConformite && !_co.showNonConformePrompt); _ck(_v, 24, 0, currVal_15); var currVal_16 = _co.forceReceptionOnly; _ck(_v, 26, 0, currVal_16); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 5).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 5).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 5).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 5).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 5).ngClassValid; var currVal_5 = i1.ɵnov(_v, 5).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 5).ngClassPending; _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }); }\nexport function View_PopupValidationComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-popup-validation\", [], null, null, null, View_PopupValidationComponent_0, RenderType_PopupValidationComponent)), i1.ɵdid(1, 245760, null, 0, i6.PopupValidationComponent, [i7.BonLivraisonService, i8.Router, i9.InteractionService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar PopupValidationComponentNgFactory = i1.ɵccf(\"app-popup-validation\", i6.PopupValidationComponent, View_PopupValidationComponent_Host_0, {}, {}, []);\nexport { PopupValidationComponentNgFactory as PopupValidationComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] > .loader-container[_ngcontent-%COMP%]{position:absolute;background-color:rgba(255,255,255,.9);height:100%;width:100%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}[_nghost-%COMP%] .container-reception[_ngcontent-%COMP%]{width:auto;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}[_nghost-%COMP%] .container-reception[_ngcontent-%COMP%] .container-reception-nofault[_ngcontent-%COMP%]{line-height:0}[_nghost-%COMP%] .button-container[_ngcontent-%COMP%]{margin-top:20px;-ms-flex-item-align:end;align-self:flex-end;text-align:right}[_nghost-%COMP%] .button-container[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]:not(:last-child){margin-right:10px}[_nghost-%COMP%] .presentation-manque[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-flow:row;flex-flow:row}[_nghost-%COMP%] .presentation-manque[_ngcontent-%COMP%] .quantite-manque[_ngcontent-%COMP%]{-ms-flex-negative:0;flex-shrink:0;width:25px;text-align:center;font-family:monospace}[_nghost-%COMP%] .presentation-manque[_ngcontent-%COMP%] .contenance-manque[_ngcontent-%COMP%]{-ms-flex-negative:0;flex-shrink:0;width:50px;text-align:center;font-family:monospace}[_nghost-%COMP%] .presentation-manque[_ngcontent-%COMP%] .unite-manque[_ngcontent-%COMP%]{-ms-flex-negative:0;flex-shrink:0;width:90px}[_nghost-%COMP%] .presentation-manque[_ngcontent-%COMP%] .libelle-manque[_ngcontent-%COMP%]{-ms-flex-positive:1;flex-grow:1}[_nghost-%COMP%] .affichage-valider[_ngcontent-%COMP%]{position:relative;width:100%;height:160px}[_nghost-%COMP%] .affichage-valider[_ngcontent-%COMP%] .cocheValidate-rouge[_ngcontent-%COMP%]{position:absolute;border-bottom:10px solid #d8043c;border-right:10px solid #d8043c;width:42px;height:87px;top:50%;left:50%;-ms-transform:translateX(-50%) translateY(-60%) rotate(45deg);transform:translateX(-50%) translateY(-60%) rotate(45deg)}[_nghost-%COMP%] .affichage-valider[_ngcontent-%COMP%] .cocheValidate-verte[_ngcontent-%COMP%]{position:absolute;border-bottom:10px solid #afc104;border-right:10px solid #afc104;width:42px;height:87px;top:50%;left:50%;-ms-transform:translateX(-50%) translateY(-60%) rotate(45deg);transform:translateX(-50%) translateY(-60%) rotate(45deg)}[_nghost-%COMP%] .affichage-valider[_ngcontent-%COMP%] .message-reception[_ngcontent-%COMP%]{font-size:20pt}[_nghost-%COMP%] .error-container[_ngcontent-%COMP%]{color:#e20035;font-size:16px}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{display:block;color:#e20035;font-size:14px;-webkit-animation-name:slidein;animation-name:slidein;-webkit-animation-duration:.4s;animation-duration:.4s;white-space:nowrap}@-webkit-keyframes slidein{0%{transform:translateX(-100%);opacity:0}100%{transform:translateX(0);opacity:1}}@keyframes slidein{0%{transform:translateX(-100%);opacity:0}100%{transform:translateX(0);opacity:1}}[_nghost-%COMP%] .commentaire-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding:5px;width:80%;margin:5px;border:1px solid #c7c7c7;min-height:50px}[_nghost-%COMP%] .commentaire-container[_ngcontent-%COMP%] textarea.ng-invalid[_ngcontent-%COMP%]{border:1px solid #e20035}[_nghost-%COMP%] .generic-button[_ngcontent-%COMP%]{margin-right:10px;margin-top:10px;font-size:14px;min-width:160px;height:40px}[_nghost-%COMP%] .container-conformite-non-conforme[_ngcontent-%COMP%]{margin-bottom:20px}[_nghost-%COMP%] .container-conformite-non-conforme[_ngcontent-%COMP%] > h3[_ngcontent-%COMP%]{line-height:25px;margin-top:0}[_nghost-%COMP%] .container-non-conformites[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}[_nghost-%COMP%] .container-non-conformites.invalid[_ngcontent-%COMP%]{border:1px solid #e20035;margin:-1px -1px 5px}[_nghost-%COMP%] .container-non-conformites[_ngcontent-%COMP%] .non-conformite-item[_ngcontent-%COMP%]{line-height:40px;font-size:20px;background-color:#fff}[_nghost-%COMP%] .container-non-conformites[_ngcontent-%COMP%] .non-conformite-item[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{width:24px;height:24px;vertical-align:sub;margin-right:10px}[_nghost-%COMP%] .container-non-conformites[_ngcontent-%COMP%] .non-conformite-item.selected[_ngcontent-%COMP%]{background-color:rgba(255,255,255,.5)}[_nghost-%COMP%] .container-non-conformites[_ngcontent-%COMP%] .non-conformite-item[_ngcontent-%COMP%]:hover{cursor:pointer;background-color:rgba(255,255,255,.7)}\"];\nexport { styles as styles };\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

MANQUES

\r\n
\r\n
\r\n
{{ composant.quantiteLivreeRelative > 0 ? '+' + composant.quantiteLivreeRelative : composant.quantiteLivreeRelative }}
\r\n
x{{ composant.contenance }}
\r\n
{{ composant.unite }}
\r\n
{{ composant.libelle }}
\r\n
\r\n
\r\n
\r\n
\r\n

EXCEDENTS

\r\n
\r\n
\r\n
{{ composant.quantiteLivreeRelative > 0 ? '+' + composant.quantiteLivreeRelative : composant.quantiteLivreeRelative }}
\r\n
x{{ composant.contenance }}
\r\n
{{ composant.unite }}
\r\n
{{ composant.libelle }}
\r\n
\r\n
\r\n
\r\n
\r\n

Vous n'avez pas déclaré de manque sur cette livraison.

\r\n
\r\n
\r\n\r\n
\r\n

Veuillez indiquer la conformité de la livraison :

\r\n
\r\n\r\n
\r\n

Vous déclarez cette livraison non-conforme.
Veuillez préciser le type de non-conformité :

\r\n \r\n \r\n
\r\n \r\n
\r\n
Une non-conformité est requise.
\r\n\r\n
\r\n\r\n
\r\n

\r\n \r\n \r\n
\r\n
Le commentaire est requis.
\r\n
Le commentaire doit contenir au moins 3 caractères.
\r\n
\r\n
\r\n\r\n
\r\n {{ erreurValidationMessage }}\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2, ViewChild, NgZone, ViewEncapsulation } from '@angular/core';\r\nimport SignaturePad, { IOptions as ISignaturePadOptions, IPointGroup } from 'signature_pad';\r\nimport { fromEvent } from 'rxjs';\r\nimport { outsideZone } from 'src/app/shared/rx/operators/outsideZone.operator';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\n// import SignaturePad, { IOptions as ISignaturePadOptions, IPointGroup } from 'signature_pad_bj';\r\n\r\n// Inspiré de https://github.com/BioPhoton/angular-signature-pad/blob/master/src/libs/angular-signature-pad/src/components/signature-pad/signature-pad.component.ts\r\n// et https://github.com/wulfsolter/angular2-signaturepad/blob/master/signature-pad.ts\r\n\r\n@Component({\r\n selector: 'app-livraison-signature',\r\n templateUrl: './livraison-signature.component.html',\r\n styleUrls: ['./livraison-signature.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LivraisonSignatureComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @ViewChild('signatureCanvas', { static: true })\r\n private canvasRef: ElementRef;\r\n\r\n private canvas: HTMLCanvasElement;\r\n\r\n private container: HTMLElement;\r\n\r\n private signaturePad: SignaturePad;\r\n\r\n private _disabled: boolean;\r\n public get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n @Input()\r\n public set disabled(disabled: boolean) {\r\n this._disabled = disabled;\r\n this.renderViewDisabled();\r\n }\r\n private options: ISignaturePadOptions = {\r\n onEnd: (event) => {\r\n this.value = this.toData();\r\n this.valueChange.emit(this.value);\r\n }\r\n };\r\n\r\n private _value: IPointGroup[];\r\n public get value(): IPointGroup[] {\r\n return this._value;\r\n }\r\n @Input()\r\n public set value(value: IPointGroup[]) {\r\n this._value = value;\r\n this.renderViewValue(this._value);\r\n }\r\n\r\n @Output()\r\n public valueChange: EventEmitter = new EventEmitter();\r\n\r\n constructor(private ngZone: NgZone,\r\n private renderer: Renderer2) {\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeSignaturePad();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // handle resize\r\n this.resizeSignaturePad();\r\n\r\n fromEvent(window, 'resize').pipe(\r\n outsideZone(this.ngZone),\r\n untilDestroyed(this),\r\n ).subscribe(event => {\r\n this.resizeSignaturePad();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.signaturePad) {\r\n this.signaturePad.off(); // cleanup internal document events subscriptions\r\n }\r\n }\r\n\r\n private resizeSignaturePad = (): void => {\r\n if (!this.canvas) {\r\n return;\r\n }\r\n\r\n this.resizeCanvas();\r\n\r\n // When the width or height of a canvas gets modified,\r\n // it will be automatically cleared by the browser.\r\n // How ever the data of the signature are still stores in the model value => this.value.\r\n // Because of this we have to reassign the value from this.value to the signaturePad.\r\n this.renderViewValue(this.value);\r\n\r\n }\r\n\r\n private renderViewValue(signatureData: IPointGroup[]) {\r\n if (!this.signaturePad) {\r\n return;\r\n }\r\n\r\n if (signatureData && signatureData.constructor === [].constructor) {\r\n this.signaturePad.fromData([...signatureData]);\r\n // } else if (signatureData && typeof signatureData === 'string') {\r\n // this.fromDataURL(signatureData);\r\n } else {\r\n this.signaturePad.clear();\r\n }\r\n }\r\n\r\n private renderViewDisabled() {\r\n if (!this.canvas) {\r\n return;\r\n }\r\n\r\n this.renderer.setProperty(this.canvas, 'disabled', this.disabled);\r\n\r\n if (this.disabled) {\r\n this.renderer.addClass(this.canvas, 'disabled');\r\n this.signaturePad.off();\r\n } else {\r\n this.renderer.removeClass(this.canvas, 'disabled');\r\n this.signaturePad.on();\r\n }\r\n }\r\n\r\n protected initializeSignaturePad() {\r\n this.canvas = this.canvasRef.nativeElement;\r\n this.container = this.canvas.parentElement;\r\n this.container.className = this.container.className + ' signature-pad';\r\n\r\n this.signaturePad = new SignaturePad(this.canvas, this.options);\r\n // // onBegin\r\n // this.signaturePad.onBegin = this.onBeginWrapper;\r\n // // onEnd\r\n // this.signaturePad.onEnd = this.onEndWrapper;\r\n this.renderViewDisabled();\r\n }\r\n\r\n public resizeCanvas(): void {\r\n if (!this.canvas) {\r\n return;\r\n }\r\n // // When zoomed out to less than 100%, for some very strange reason,\r\n // // some browsers report devicePixelRatio as less than 1\r\n // // and only part of the canvas is cleared then.\r\n // const ratio: number = Math.max(window.devicePixelRatio || 1, 1);\r\n // const canvas: any = this.canvas; // this.signaturePad._canvas;\r\n // canvas.width = canvas.offsetWidth * ratio;\r\n // canvas.height = canvas.offsetHeight * ratio;\r\n // canvas.getContext('2d').scale(ratio, ratio);\r\n // // When the width or height of a canvas gets modified,\r\n // // it will be automatically cleared by the browser.\r\n // // So we have to call signaturePad.clear() to make sure\r\n // // that signaturePad.isEmpty() returns correct value in this case.\r\n // this.signaturePad.clear();\r\n\r\n interface ICssWidthHeight {\r\n top: number; bottom: number; left: number; right: number; fullHeight: number; fullWidth: number;\r\n }\r\n\r\n // When zoomed out to less than 100%, for some very strange reason,\r\n // some browsers report devicePixelRatio as less than 1\r\n // and only part of the canvas is cleared then.\r\n // So we will have at least 1 as ration.\r\n // const ratio = 1; // @TODO fix offset on ratios > 1. => Math.max(window.devicePixelRatio || 1, 1);\r\n\r\n // // information needed to calculate the available width and height\r\n // const canvasStyles = window.getComputedStyle(this.canvas, null);\r\n // const canvasBorder: ICssWidthHeight = {} as ICssWidthHeight;\r\n // canvasBorder.top = parseInt(canvasStyles.borderTopWidth, null) || 0;\r\n // canvasBorder.bottom = parseInt(canvasStyles.borderBottomWidth, null) || 0;\r\n // canvasBorder.left = parseInt(canvasStyles.borderLeftWidth, null) || 0;\r\n // canvasBorder.right = parseInt(canvasStyles.borderRightWidth, null) || 0;\r\n // canvasBorder.fullHeight = canvasBorder.top + canvasBorder.bottom;\r\n // canvasBorder.fullWidth = canvasBorder.left + canvasBorder.right;\r\n\r\n // const containerStyles = window.getComputedStyle(this.container, null);\r\n // const parentPadding: ICssWidthHeight = {} as ICssWidthHeight;\r\n // parentPadding.top = parseInt(containerStyles.paddingTop, null) || 0;\r\n // parentPadding.bottom = parseInt(containerStyles.paddingBottom, null) || 0;\r\n // parentPadding.left = parseInt(containerStyles.paddingLeft, null) || 0;\r\n // parentPadding.right = parseInt(containerStyles.paddingRight, null) || 0;\r\n // parentPadding.fullHeight = parentPadding.top + parentPadding.bottom;\r\n // parentPadding.fullWidth = parentPadding.left + parentPadding.right;\r\n\r\n // const withToSubtract = parentPadding.fullWidth + canvasBorder.fullWidth;\r\n // const heightToSubtract = parentPadding.fullHeight + canvasBorder.fullHeight;\r\n\r\n // // resize canvas\r\n\r\n // // get most right point of signature\r\n // let signatureWidth = 0;\r\n // const signatureData = this.toData();\r\n // if (this.value && [].constructor === this.value.constructor) {\r\n // signatureWidth = signatureData\r\n // .reduce((concated, arr) => concated.concat(arr), [])\r\n // .reduce((mR, segment) => mR < segment.x ? segment.x : mR, 0);\r\n // }\r\n\r\n // // get most left point of signature\r\n // let signatureHeight = 0;\r\n // if (this.value && [].constructor === this.value.constructor) {\r\n // signatureHeight = signatureData\r\n // .reduce((concated, arr) => concated.concat(arr), [])\r\n // .reduce((mL, segment) => mL < segment.y ? segment.y : mL, 0);\r\n // }\r\n\r\n // // calc new width and height\r\n // const newCanvasWidth = Math.max(this.container.clientWidth, signatureWidth);\r\n // const newCanvasHeight = Math.max(this.container.clientHeight, signatureHeight);\r\n\r\n // // adopt canvas scales\r\n // this.canvas.width = (newCanvasWidth - withToSubtract) * ratio;\r\n // this.canvas.height = (newCanvasHeight - heightToSubtract - 6) * ratio; // @TODO find the 6px\r\n // this.canvas.getContext('2d').scale(ratio, ratio);\r\n\r\n // // adopt show/hide scroll of vertical canvas container\r\n // this.container.style.overflowX = 'inherit';\r\n // if (this.canvas.width + withToSubtract > this.container.clientWidth) {\r\n // this.container.style.overflowX = 'scroll';\r\n // }\r\n\r\n // // adopt show/hide scroll of horizontal canvas container\r\n // this.container.style.overflowY = 'inherit';\r\n // if (this.canvas.height > this.container.clientHeight) {\r\n // this.container.style.overflowY = 'scroll';\r\n // }\r\n\r\n // When the width or height of a canvas gets modified,\r\n // it will be automatically cleared by the browser.\r\n // So we have to call signaturePad.clear() to make sure\r\n // that signaturePad.isEmpty() returns correct value in this case.\r\n this.signaturePad.clear();\r\n }\r\n\r\n // Returns signature image as an array of point groups\r\n public toData(): IPointGroup[] {\r\n return this.signaturePad.toData();\r\n }\r\n\r\n // Draws signature image from an array of point groups\r\n public fromData(points: IPointGroup[]): void {\r\n this.signaturePad.fromData(points);\r\n }\r\n\r\n // Returns signature image as data URL (see https://mdn.io/todataurl for the list of possible paramters)\r\n public toDataURL(imageType?: string, quality?: number): string {\r\n return this.signaturePad.toDataURL(imageType, quality); // save image as data URL\r\n }\r\n\r\n // Draws signature image from data URL\r\n public fromDataURL(dataURL: string, options: {\r\n ratio?: number;\r\n width?: number;\r\n height?: number;\r\n } = {}): void {\r\n // set default height and width on read data from URL\r\n if (!options.hasOwnProperty('height') && (this.options as any).canvasHeight) {\r\n options.height = (this.options as any).canvasHeight;\r\n }\r\n if (!options.hasOwnProperty('width') && (this.options as any).canvasWidth) {\r\n options.width = (this.options as any).canvasWidth;\r\n }\r\n this.signaturePad.fromDataURL(dataURL, options);\r\n }\r\n\r\n // Clears the canvas\r\n public clear(): void {\r\n this.signaturePad.clear();\r\n }\r\n\r\n // Returns true if canvas is empty, otherwise returns false\r\n public isEmpty(): boolean {\r\n return this.signaturePad.isEmpty();\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./livraison-signature.component.scss.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"./livraison-signature.component\";\nvar styles_LivraisonSignatureComponent = [i0.styles];\nvar RenderType_LivraisonSignatureComponent = i1.ɵcrt({ encapsulation: 2, styles: styles_LivraisonSignatureComponent, data: {} });\nexport { RenderType_LivraisonSignatureComponent as RenderType_LivraisonSignatureComponent };\nexport function View_LivraisonSignatureComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { canvasRef: 0 }), (_l()(), i1.ɵeld(1, 0, [[1, 0], [\"signatureCanvas\", 1]], null, 0, \"canvas\", [[\"class\", \"signature-pad-canvas\"], [\"height\", \"200\"], [\"tabindex\", \"0\"], [\"width\", \"400\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 4, \"button\", [[\"class\", \"generic-button btn-clear\"], [\"title\", \"effacer la signature\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.clear() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"clear\"])), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Effacer\"]))], null, null); }\nexport function View_LivraisonSignatureComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-livraison-signature\", [], null, null, null, View_LivraisonSignatureComponent_0, RenderType_LivraisonSignatureComponent)), i1.ɵdid(1, 4440064, null, 0, i2.LivraisonSignatureComponent, [i1.NgZone, i1.Renderer2], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar LivraisonSignatureComponentNgFactory = i1.ɵccf(\"app-livraison-signature\", i2.LivraisonSignatureComponent, View_LivraisonSignatureComponent_Host_0, { disabled: \"disabled\", value: \"value\" }, { valueChange: \"valueChange\" }, []);\nexport { LivraisonSignatureComponentNgFactory as LivraisonSignatureComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".signature-pad{width:100%;min-height:200px;display:block}.signature-pad-canvas{border:1px dashed #c7c7c7}.btn-clear{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}\"];\nexport { styles as styles };\n","\r\n\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./livraison-popup-validation.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../../../loader/loader.component.ngfactory\";\nimport * as i3 from \"../../../loader/loader.component\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"../livraison-signature/livraison-signature.component.ngfactory\";\nimport * as i6 from \"../livraison-signature/livraison-signature.component\";\nimport * as i7 from \"@angular/forms\";\nimport * as i8 from \"../../../shared/pipes/dateFormat.pipe\";\nimport * as i9 from \"../../pipes/format-temperature.pipe\";\nimport * as i10 from \"./livraison-popup-validation.component\";\nimport * as i11 from \"../../services/bon-livraison.service\";\nimport * as i12 from \"@angular/router\";\nimport * as i13 from \"../../../shared/services/interaction.service\";\nvar styles_LivraisonPopupValidationComponent = [i0.styles];\nvar RenderType_LivraisonPopupValidationComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_LivraisonPopupValidationComponent, data: {} });\nexport { RenderType_LivraisonPopupValidationComponent as RenderType_LivraisonPopupValidationComponent };\nfunction View_LivraisonPopupValidationComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"loader-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement...\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_LivraisonPopupValidationComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"p\", [[\"class\", \"nonconformites-intro\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Vous avez relev\\u00E9 les non-conformit\\u00E9s suivantes: \"]))], null, null); }\nfunction View_LivraisonPopupValidationComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"nonconformite-temperature-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"div\", [], [[8, \"className\", 0]], null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), i1.ɵppd(3, 2), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [[\"class\", \"plat\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵinlineInterpolate(1, \"temperature temperature-color-\", _co.TemperatureStatusEnum[_v.context.$implicit.status], \"\"); _ck(_v, 1, 0, currVal_0); var currVal_1 = i1.ɵunv(_v, 2, 0, _ck(_v, 3, 0, i1.ɵnov(_v.parent.parent.parent, 1), _v.context.$implicit.plat.livraisonTemperature, \"\\u00B0C\")); _ck(_v, 2, 0, currVal_1); var currVal_2 = _v.context.$implicit.plat.libelle; _ck(_v, 5, 0, currVal_2); }); }\nfunction View_LivraisonPopupValidationComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"container-nonconformite-temperature\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"TEMPERATURE\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_5)), i1.ɵdid(4, 278528, null, 0, i4.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.nonConformiteTemperaturePlats; _ck(_v, 4, 0, currVal_0); }, null); }\nfunction View_LivraisonPopupValidationComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"nonconformite-dlc-item\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"div\", [], [[8, \"className\", 0]], null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), i1.ɵppd(3, 1), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [[\"class\", \"plat\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵinlineInterpolate(1, \"dlc dlc-color-\", _co.DLCStatusEnum[_v.context.$implicit.status], \"\"); _ck(_v, 1, 0, currVal_0); var currVal_1 = i1.ɵunv(_v, 2, 0, _ck(_v, 3, 0, i1.ɵnov(_v.parent.parent.parent, 0), _v.context.$implicit.plat.livraisonDLC)); _ck(_v, 2, 0, currVal_1); var currVal_2 = _v.context.$implicit.plat.libelle; _ck(_v, 5, 0, currVal_2); }); }\nfunction View_LivraisonPopupValidationComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"container-nonconformite-dlc\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"DLC/DDM\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_7)), i1.ɵdid(4, 278528, null, 0, i4.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.nonConformiteDlcPlats; _ck(_v, 4, 0, currVal_0); }, null); }\nfunction View_LivraisonPopupValidationComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"container-nonconformites\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_4)), i1.ɵdid(2, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_6)), i1.ɵdid(4, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.hasNonConformiteTemperature; _ck(_v, 2, 0, currVal_0); var currVal_1 = _co.hasNonConformiteDlc; _ck(_v, 4, 0, currVal_1); }, null); }\nfunction View_LivraisonPopupValidationComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-livraison-signature\", [], null, null, null, i5.View_LivraisonSignatureComponent_0, i5.RenderType_LivraisonSignatureComponent)), i1.ɵdid(2, 4440064, [[2, 4]], 0, i6.LivraisonSignatureComponent, [i1.NgZone, i1.Renderer2], null, null)], function (_ck, _v) { _ck(_v, 2, 0); }, null); }\nfunction View_LivraisonPopupValidationComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"img\", [], [[8, \"src\", 4]], null, null, null, null))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵinlineInterpolate(1, \"\", _co.model.bonLivraison.livraisonSignature, \"\"); _ck(_v, 1, 0, currVal_0); }); }\nfunction View_LivraisonPopupValidationComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Signature indisponible sur ce bon\"]))], null, null); }\nfunction View_LivraisonPopupValidationComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"div\", [[\"class\", \"signature-image-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_10)), i1.ɵdid(2, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"], ngIfElse: [1, \"ngIfElse\"] }, null), (_l()(), i1.ɵand(0, [[\"elseNoSignatureImageTemplate\", 2]], null, 0, null, View_LivraisonPopupValidationComponent_11))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.model.bonLivraison.livraisonSignature; var currVal_1 = i1.ɵnov(_v, 3); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nfunction View_LivraisonPopupValidationComponent_14(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"error-message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Le commentaire est requis.\"]))], null, null); }\nfunction View_LivraisonPopupValidationComponent_15(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"error-message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Le commentaire doit contenir au moins 3 caract\\u00E8res.\"]))], null, null); }\nfunction View_LivraisonPopupValidationComponent_13(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_14)), i1.ɵdid(2, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_15)), i1.ɵdid(4, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var currVal_0 = i1.ɵnov(_v.parent, 10).errors[\"required\"]; _ck(_v, 2, 0, currVal_0); var currVal_1 = i1.ɵnov(_v.parent, 10).errors[\"minlength\"]; _ck(_v, 4, 0, currVal_1); }, null); }\nfunction View_LivraisonPopupValidationComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 15, \"div\", [[\"class\", \"commentaire-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"label\", [[\"for\", \"commentaire\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"COMMENTAIRE\"])), (_l()(), i1.ɵeld(4, 0, null, null, 9, \"textarea\", [[\"autocomplete\", \"off\"], [\"minlength\", \"3\"], [\"name\", \"commentaireControl\"], [\"placeholder\", \"Veuillez indiquer un commentaire / plan d'action\"]], [[1, \"required\", 0], [1, \"minlength\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"focus\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 5)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 5).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 5)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 5)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.commentaire = $event) !== false);\n ad = (pd_4 && ad);\n } if ((\"focus\" === en)) {\n var pd_5 = (_co.scrollToElement(i1.ɵnov(_v.parent, 35)) !== false);\n ad = (pd_5 && ad);\n } if ((\"input\" === en)) {\n var pd_6 = (_co.scrollToElement(i1.ɵnov(_v.parent, 35)) !== false);\n ad = (pd_6 && ad);\n } return ad; }, null, null)), i1.ɵdid(5, 16384, null, 0, i7.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i7.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(6, 16384, null, 0, i7.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵdid(7, 540672, null, 0, i7.MinLengthValidator, [], { minlength: [0, \"minlength\"] }, null), i1.ɵprd(1024, null, i7.NG_VALIDATORS, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i7.RequiredValidator, i7.MinLengthValidator]), i1.ɵprd(1024, null, i7.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i7.DefaultValueAccessor]), i1.ɵdid(10, 671744, [[\"commentaireControl\", 4]], 0, i7.NgModel, [[2, i7.ControlContainer], [6, i7.NG_VALIDATORS], [8, null], [6, i7.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i7.NgControl, null, [i7.NgModel]), i1.ɵdid(12, 16384, null, 0, i7.NgControlStatus, [[4, i7.NgControl]], null, null), (_l()(), i1.ɵted(-1, null, [\" \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_13)), i1.ɵdid(15, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_9 = _co.isCommentaireRequired; _ck(_v, 6, 0, currVal_9); var currVal_10 = \"3\"; _ck(_v, 7, 0, currVal_10); var currVal_11 = \"commentaireControl\"; var currVal_12 = _co.commentaire; _ck(_v, 10, 0, currVal_11, currVal_12); var currVal_13 = (((i1.ɵnov(_v.parent, 6).submitted || i1.ɵnov(_v.parent, 6).dirty) || i1.ɵnov(_v.parent, 6).touched) && !i1.ɵnov(_v, 10).valid); _ck(_v, 15, 0, currVal_13); }, function (_ck, _v) { var currVal_0 = (i1.ɵnov(_v, 6).required ? \"\" : null); var currVal_1 = (i1.ɵnov(_v, 7).minlength ? i1.ɵnov(_v, 7).minlength : null); var currVal_2 = i1.ɵnov(_v, 12).ngClassUntouched; var currVal_3 = i1.ɵnov(_v, 12).ngClassTouched; var currVal_4 = i1.ɵnov(_v, 12).ngClassPristine; var currVal_5 = i1.ɵnov(_v, 12).ngClassDirty; var currVal_6 = i1.ɵnov(_v, 12).ngClassValid; var currVal_7 = i1.ɵnov(_v, 12).ngClassInvalid; var currVal_8 = i1.ɵnov(_v, 12).ngClassPending; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8); }); }\nfunction View_LivraisonPopupValidationComponent_16(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"validation-error error-message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\" \", \" \"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.erreurValidationMessage; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_LivraisonPopupValidationComponent_17(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"button\", [[\"class\", \"generic-button revoke-button red-button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.DeclarerLivraison() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Non conforme\"]))], null, null); }\nfunction View_LivraisonPopupValidationComponent_18(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"button\", [[\"class\", \"generic-button validate-button green-button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.DeclarerLivraison() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Conforme\"]))], null, null); }\nexport function View_LivraisonPopupValidationComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i8.DateFormatPipe, []), i1.ɵpid(0, i9.FormatTemperaturePipe, []), i1.ɵqud(402653184, 1, { form: 0 }), i1.ɵqud(671088640, 2, { signatureControl: 0 }), (_l()(), i1.ɵeld(4, 0, null, null, 37, \"form\", [[\"class\", \"main-container\"], [\"novalidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 6).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 6).onReset() !== false);\n ad = (pd_1 && ad);\n } return ad; }, null, null)), i1.ɵdid(5, 16384, null, 0, i7.ɵangular_packages_forms_forms_z, [], null, null), i1.ɵdid(6, 4210688, [[1, 4], [\"form\", 4]], 0, i7.NgForm, [[8, null], [8, null]], null, null), i1.ɵprd(2048, null, i7.ControlContainer, null, [i7.NgForm]), i1.ɵdid(8, 16384, null, 0, i7.NgControlStatusGroup, [[4, i7.ControlContainer]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_1)), i1.ɵdid(10, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(11, 0, null, null, 9, \"div\", [[\"class\", \"livraison-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"label\", [[\"class\", \"elior-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Livraison le \"])), (_l()(), i1.ɵeld(14, 0, null, null, 2, \"span\", [[\"class\", \"heure-jour no-wrap\"]], null, null, null, null, null)), (_l()(), i1.ɵted(15, null, [\"\", \"\"])), i1.ɵppd(16, 2), (_l()(), i1.ɵeld(17, 0, null, null, 1, \"label\", [[\"class\", \"elior-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" sur la tourn\\u00E9e \"])), (_l()(), i1.ɵeld(19, 0, null, null, 1, \"span\", [[\"class\", \"tournee no-wrap\"]], null, null, null, null, null)), (_l()(), i1.ɵted(20, null, [\"'\", \"'\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_2)), i1.ɵdid(22, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_3)), i1.ɵdid(24, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(25, 0, null, null, 5, \"div\", [[\"class\", \"livraison-signaturepad\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(26, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"SIGNATURE\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_8)), i1.ɵdid(29, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"], ngIfElse: [1, \"ngIfElse\"] }, null), (_l()(), i1.ɵand(0, [[\"elseDisplaySignatureImageTemplate\", 2]], null, 0, null, View_LivraisonPopupValidationComponent_9)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_12)), i1.ɵdid(32, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_16)), i1.ɵdid(34, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(35, 0, [[\"buttonContainer\", 1]], null, 6, \"div\", [[\"class\", \"button-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(36, 0, null, null, 1, \"button\", [[\"class\", \"generic-button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Annuler\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_17)), i1.ɵdid(39, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LivraisonPopupValidationComponent_18)), i1.ɵdid(41, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_7 = _co.isLoading; _ck(_v, 10, 0, currVal_7); var currVal_10 = _co.hasPlatFaults; _ck(_v, 22, 0, currVal_10); var currVal_11 = _co.hasPlatFaults; _ck(_v, 24, 0, currVal_11); var currVal_12 = _co.allowLivraison; var currVal_13 = i1.ɵnov(_v, 30); _ck(_v, 29, 0, currVal_12, currVal_13); var currVal_14 = _co.allowLivraison; _ck(_v, 32, 0, currVal_14); var currVal_15 = (_co.erreurValidationMessage != \"\"); _ck(_v, 34, 0, currVal_15); var currVal_16 = (_co.allowLivraison && _co.hasPlatFaults); _ck(_v, 39, 0, currVal_16); var currVal_17 = (_co.allowLivraison && !_co.hasPlatFaults); _ck(_v, 41, 0, currVal_17); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 8).ngClassValid; var currVal_5 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 4, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_8 = i1.ɵunv(_v, 15, 0, _ck(_v, 16, 0, i1.ɵnov(_v, 0), _co.livraisonDate, \"DD/MM/YYYY \\u00E0 HH:mm\")); _ck(_v, 15, 0, currVal_8); var currVal_9 = _co.model.bonLivraison.tournee; _ck(_v, 20, 0, currVal_9); }); }\nexport function View_LivraisonPopupValidationComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-livraison-popup-validation\", [], null, null, null, View_LivraisonPopupValidationComponent_0, RenderType_LivraisonPopupValidationComponent)), i1.ɵdid(1, 245760, null, 0, i10.LivraisonPopupValidationComponent, [i11.BonLivraisonService, i12.Router, i13.InteractionService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar LivraisonPopupValidationComponentNgFactory = i1.ɵccf(\"app-livraison-popup-validation\", i10.LivraisonPopupValidationComponent, View_LivraisonPopupValidationComponent_Host_0, {}, {}, []);\nexport { LivraisonPopupValidationComponentNgFactory as LivraisonPopupValidationComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .container-nonconformites[_ngcontent-%COMP%] .temperature-color-NA.temperature[_ngcontent-%COMP%]{color:#6c757d}[_nghost-%COMP%] .container-nonconformites[_ngcontent-%COMP%] .temperature-color-Conforme.temperature[_ngcontent-%COMP%]{color:#28a745}[_nghost-%COMP%] .container-nonconformites[_ngcontent-%COMP%] .temperature-color-Tolere.temperature[_ngcontent-%COMP%]{color:#ff9407}[_nghost-%COMP%] .container-nonconformites[_ngcontent-%COMP%] .temperature-color-NonConforme.temperature[_ngcontent-%COMP%]{color:#dc3545}[_nghost-%COMP%] .container-nonconformites[_ngcontent-%COMP%] .dlc-color-NA.dlc[_ngcontent-%COMP%]{color:#6c757d}[_nghost-%COMP%] .container-nonconformites[_ngcontent-%COMP%] .dlc-color-Conforme.dlc[_ngcontent-%COMP%]{color:#28a745}[_nghost-%COMP%] .container-nonconformites[_ngcontent-%COMP%] .dlc-color-NonConforme.dlc[_ngcontent-%COMP%]{color:#dc3545}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] > .loader-container[_ngcontent-%COMP%]{position:absolute;background-color:rgba(255,255,255,.9);height:100%;width:100%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}[_nghost-%COMP%] .container-reception[_ngcontent-%COMP%]{width:auto;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}[_nghost-%COMP%] .container-reception[_ngcontent-%COMP%] .container-reception-nofault[_ngcontent-%COMP%]{line-height:0}[_nghost-%COMP%] .livraison-header[_ngcontent-%COMP%] .no-wrap[_ngcontent-%COMP%]{white-space:nowrap}[_nghost-%COMP%] .nonconformites-intro[_ngcontent-%COMP%]{margin-bottom:0}[_nghost-%COMP%] .container-nonconformites[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around}[_nghost-%COMP%] .container-nonconformites[_ngcontent-%COMP%] .container-nonconformite-dlc[_ngcontent-%COMP%], [_nghost-%COMP%] .container-nonconformites[_ngcontent-%COMP%] .container-nonconformite-temperature[_ngcontent-%COMP%]{-ms-flex-positive:1;flex-grow:1}[_nghost-%COMP%] .container-nonconformites[_ngcontent-%COMP%] .container-nonconformite-dlc[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], [_nghost-%COMP%] .container-nonconformites[_ngcontent-%COMP%] .container-nonconformite-temperature[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:.5em 0}[_nghost-%COMP%] .button-container[_ngcontent-%COMP%]{margin-top:20px;-ms-flex-item-align:end;align-self:flex-end;text-align:right}[_nghost-%COMP%] .button-container[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]:not(:last-child){margin-right:10px}[_nghost-%COMP%] .affichage-valider[_ngcontent-%COMP%]{position:relative;width:100%;height:160px}[_nghost-%COMP%] .affichage-valider[_ngcontent-%COMP%] .cocheValidate-rouge[_ngcontent-%COMP%]{position:absolute;border-bottom:10px solid #d8043c;border-right:10px solid #d8043c;width:42px;height:87px;top:50%;left:50%;-ms-transform:translateX(-50%) translateY(-60%) rotate(45deg);transform:translateX(-50%) translateY(-60%) rotate(45deg)}[_nghost-%COMP%] .affichage-valider[_ngcontent-%COMP%] .cocheValidate-verte[_ngcontent-%COMP%]{position:absolute;border-bottom:10px solid #afc104;border-right:10px solid #afc104;width:42px;height:87px;top:50%;left:50%;-ms-transform:translateX(-50%) translateY(-60%) rotate(45deg);transform:translateX(-50%) translateY(-60%) rotate(45deg)}[_nghost-%COMP%] .affichage-valider[_ngcontent-%COMP%] .message-reception[_ngcontent-%COMP%]{font-size:20pt}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{display:block;color:#e20035;font-size:14px;-webkit-animation-name:slidein;animation-name:slidein;-webkit-animation-duration:.4s;animation-duration:.4s;white-space:nowrap}@-webkit-keyframes slidein{0%{transform:translateX(-100%);opacity:0}100%{transform:translateX(0);opacity:1}}@keyframes slidein{0%{transform:translateX(-100%);opacity:0}100%{transform:translateX(0);opacity:1}}[_nghost-%COMP%] .commentaire-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding:5px;width:80%;margin:5px;border:1px solid #c7c7c7;min-height:50px}[_nghost-%COMP%] .commentaire-container[_ngcontent-%COMP%] textarea.ng-invalid[_ngcontent-%COMP%]{border:1px solid #e20035}[_nghost-%COMP%] .generic-button[_ngcontent-%COMP%]{margin-right:10px;margin-top:10px;font-size:14px;min-width:160px;height:40px}[_nghost-%COMP%] .container-conformite-non-conforme[_ngcontent-%COMP%]{margin-bottom:20px}[_nghost-%COMP%] .container-conformite-non-conforme[_ngcontent-%COMP%] > h3[_ngcontent-%COMP%]{line-height:25px;margin-top:0}[_nghost-%COMP%] .nonconformite-dlc-item[_ngcontent-%COMP%], [_nghost-%COMP%] .nonconformite-temperature-item[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex}[_nghost-%COMP%] .nonconformite-dlc-item[_ngcontent-%COMP%] .temperature[_ngcontent-%COMP%], [_nghost-%COMP%] .nonconformite-temperature-item[_ngcontent-%COMP%] .temperature[_ngcontent-%COMP%]{width:3.5em;text-align:right}[_nghost-%COMP%] .nonconformite-dlc-item[_ngcontent-%COMP%] .plat[_ngcontent-%COMP%], [_nghost-%COMP%] .nonconformite-temperature-item[_ngcontent-%COMP%] .plat[_ngcontent-%COMP%]{margin-left:1.5em}[_nghost-%COMP%] app-livraison-signature[_ngcontent-%COMP%]{margin-left:5px}\"];\nexport { styles as styles };\n","
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n {{ livraisonDate | dateFormat:'DD/MM/YYYY à HH:mm' }}\r\n \r\n \r\n '{{ model.bonLivraison.tournee }}'\r\n
\r\n\r\n

Vous avez relevé les non-conformités suivantes:

\r\n
\r\n
\r\n

TEMPERATURE

\r\n
\r\n
{{ ncPlat.plat.livraisonTemperature | formatTemperature:'°C' }}
\r\n
{{ ncPlat.plat.libelle }}
\r\n
\r\n
\r\n
\r\n

DLC/DDM

\r\n
\r\n
{{ ncPlat.plat.livraisonDLC | dateFormat }}
\r\n
{{ ncPlat.plat.libelle }}
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n

SIGNATURE

\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Signature indisponible sur ce bon\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n

\r\n \r\n
\r\n
Le commentaire est requis.
\r\n
Le commentaire doit contenir au moins 3 caractères.
\r\n
\r\n
\r\n\r\n
\r\n {{ erreurValidationMessage }}\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] img[_ngcontent-%COMP%], [_nghost-%COMP%] svg[_ngcontent-%COMP%]{width:33px;height:33px}[_nghost-%COMP%] .smiley-img[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .smiley-img[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] path[_ngcontent-%COMP%]{stroke-width:1}[_nghost-%COMP%] .smiley-img.unselected[_ngcontent-%COMP%]{color:#eee}[_nghost-%COMP%] .smiley-img.readonly[_ngcontent-%COMP%]{color:#eee;cursor:initial}[_nghost-%COMP%] .smiley-img.active[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] path[_ngcontent-%COMP%]{stroke-width:2}[_nghost-%COMP%] .smiley-img.active.eval-tbc[_ngcontent-%COMP%]{color:#42ac26}[_nghost-%COMP%] .smiley-img.active.eval-pbc[_ngcontent-%COMP%]{color:#dfd025}[_nghost-%COMP%] .smiley-img.active.eval-pc[_ngcontent-%COMP%]{color:#d46f16}[_nghost-%COMP%] .smiley-img.active.eval-pcdt[_ngcontent-%COMP%]{color:#cb0e0e}\"];\nexport { styles as styles };\n","import { BaseJourModel } from '../../shared/models/base-jour.model';\r\nexport class OdgModel {\r\n odgConvives: OdgConviveModel[];\r\n odgJours: OdgJourModel[];\r\n restaurantId: number;\r\n odgRestaurantId: number;\r\n odgContratId: number;\r\n}\r\n\r\nexport class OdgConviveModel {\r\n id: number;\r\n libelle: string;\r\n}\r\n\r\nexport class OdgJourModel extends BaseJourModel {\r\n observations: string;\r\n autoriserSaisie: boolean;\r\n odgPrestations: OdgPrestationModel[];\r\n\r\n setIfEmpty() {\r\n this.isEmpty = false;\r\n }\r\n}\r\n\r\nexport class OdgPrestationModel {\r\n id: number;\r\n isCollapsed: boolean;\r\n libelle: string;\r\n odgEvaluations: OdgEvaluationModel[]\r\n}\r\n\r\nexport class OdgEvaluationModel {\r\n id: number;\r\n menuDetailId: number;\r\n platId: number;\r\n libelle: string;\r\n assaisonnement: boolean;\r\n consistance: boolean;\r\n aspect: boolean;\r\n autre: boolean;\r\n autreRaison: string;\r\n note: OdgEvaluationNote;\r\n autoriserSaisie: boolean;\r\n}\r\n\r\nexport enum OdgEvaluationNote {\r\n None,\r\n TresBienConsomme,\r\n PlutotBienConsomme,\r\n PasConsomme,\r\n PasConsommeDuTout\r\n}","import { EventEmitter, Output } from '@angular/core';\nimport { OdgEvaluationNote } from '../models/odg.model';\n\nexport abstract class SmileyBase {\n // Input\n abstract activeNote: OdgEvaluationNote;\n abstract readonly: boolean;\n // Output\n abstract smileyClick: EventEmitter;\n abstract note: OdgEvaluationNote;\n\n public onSmileyClick() {\n this.smileyClick.emit(this.note);\n }\n\n get isActive(): boolean {\n return this.activeNote === this.note;\n }\n\n get isUnEvaluated(): boolean {\n return this.activeNote == null || this.activeNote === OdgEvaluationNote.None\n }\n\n get isUnselected(): boolean {\n return !this.isUnEvaluated && !this.isActive;\n }\n\n}\n","import { OdgEvaluationNote } from '../models/odg.model';\nimport { SmileyBase } from './smiley-base';\nimport { Component, Input, Output, EventEmitter } from '@angular/core'\n\n@Component({\n selector: 'odg-smiley-tbc',\n template: `\n
\n \n \n \n
\n `,\n styleUrls: ['./smiley.component.scss']\n})\nexport class OdgSmileyTresBienConsommeComponent extends SmileyBase {\n @Input()\n activeNote: OdgEvaluationNote;\n @Input()\n readonly: boolean = false;\n @Output()\n smileyClick: EventEmitter = new EventEmitter();\n\n note: OdgEvaluationNote = OdgEvaluationNote.TresBienConsomme;\n}\n","import { OdgEvaluationNote } from '../models/odg.model';\nimport { SmileyBase } from './smiley-base';\nimport { EventEmitter } from '@angular/core';\nexport class OdgSmileyTresBienConsommeComponent extends SmileyBase {\n constructor() {\n super(...arguments);\n this.readonly = false;\n this.smileyClick = new EventEmitter();\n this.note = OdgEvaluationNote.TresBienConsomme;\n }\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./smiley.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./odg-smiley-tbc.component\";\nvar styles_OdgSmileyTresBienConsommeComponent = [i0.styles];\nvar RenderType_OdgSmileyTresBienConsommeComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_OdgSmileyTresBienConsommeComponent, data: {} });\nexport { RenderType_OdgSmileyTresBienConsommeComponent as RenderType_OdgSmileyTresBienConsommeComponent };\nexport function View_OdgSmileyTresBienConsommeComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"smiley-img eval-tbc\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onSmileyClick() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵprd(512, null, i2.ɵNgClassImpl, i2.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(2, 278528, null, 0, i2.NgClass, [i2.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(3, { \"active\": 0, \"unselected\": 1, \"readonly\": 2 }), (_l()(), i1.ɵeld(4, 0, null, null, 1, \":svg:svg\", [[\"fill\", \"none\"], [\"viewBox\", \"0 0 24 24\"], [\"xmlns\", \"http://www.w3.org/2000/svg\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 0, \":svg:path\", [[\"d\", \"M15 9H15.01M9 9H9.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM15.5 9C15.5 9.27614 15.2761 9.5 15 9.5C14.7239 9.5 14.5 9.27614 14.5 9C14.5 8.72386 14.7239 8.5 15 8.5C15.2761 8.5 15.5 8.72386 15.5 9ZM9.5 9C9.5 9.27614 9.27614 9.5 9 9.5C8.72386 9.5 8.5 9.27614 8.5 9C8.5 8.72386 8.72386 8.5 9 8.5C9.27614 8.5 9.5 8.72386 9.5 9ZM12 17.5C14.5005 17.5 16.5 15.667 16.5 14H7.5C7.5 15.667 9.4995 17.5 12 17.5Z\"], [\"stroke\", \"currentColor\"], [\"stroke-linecap\", \"round\"], [\"stroke-linejoin\", \"round\"], [\"stroke-width\", \"2\"]], null, null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_0 = \"smiley-img eval-tbc\"; var currVal_1 = _ck(_v, 3, 0, _co.isActive, _co.isUnselected, _co.readonly); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nexport function View_OdgSmileyTresBienConsommeComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"odg-smiley-tbc\", [], null, null, null, View_OdgSmileyTresBienConsommeComponent_0, RenderType_OdgSmileyTresBienConsommeComponent)), i1.ɵdid(1, 49152, null, 0, i3.OdgSmileyTresBienConsommeComponent, [], null, null)], null, null); }\nvar OdgSmileyTresBienConsommeComponentNgFactory = i1.ɵccf(\"odg-smiley-tbc\", i3.OdgSmileyTresBienConsommeComponent, View_OdgSmileyTresBienConsommeComponent_Host_0, { activeNote: \"activeNote\", readonly: \"readonly\" }, { smileyClick: \"smileyClick\" }, []);\nexport { OdgSmileyTresBienConsommeComponentNgFactory as OdgSmileyTresBienConsommeComponentNgFactory };\n","\n
\n \n \n \n
\n ","import { OdgEvaluationNote } from '../models/odg.model';\nimport { SmileyBase } from './smiley-base';\nimport { Component, Input, Output,EventEmitter } from '@angular/core'\n\n@Component({\n selector: 'odg-smiley-pbc',\n template: `\n
\n \n \n \n
\n `,\n styleUrls: ['./smiley.component.scss']\n})\nexport class OdgSmileyPlutotBienConsommeComponent extends SmileyBase {\n @Input()\n activeNote: OdgEvaluationNote;\n @Input()\n readonly: boolean = false;\n @Output()\n smileyClick: EventEmitter = new EventEmitter();\n\n note: OdgEvaluationNote = OdgEvaluationNote.PlutotBienConsomme;\n}\n","import { OdgEvaluationNote } from '../models/odg.model';\nimport { SmileyBase } from './smiley-base';\nimport { EventEmitter } from '@angular/core';\nexport class OdgSmileyPlutotBienConsommeComponent extends SmileyBase {\n constructor() {\n super(...arguments);\n this.readonly = false;\n this.smileyClick = new EventEmitter();\n this.note = OdgEvaluationNote.PlutotBienConsomme;\n }\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./smiley.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./odg-smiley-pbc.component\";\nvar styles_OdgSmileyPlutotBienConsommeComponent = [i0.styles];\nvar RenderType_OdgSmileyPlutotBienConsommeComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_OdgSmileyPlutotBienConsommeComponent, data: {} });\nexport { RenderType_OdgSmileyPlutotBienConsommeComponent as RenderType_OdgSmileyPlutotBienConsommeComponent };\nexport function View_OdgSmileyPlutotBienConsommeComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"smiley-img eval-pbc\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onSmileyClick() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵprd(512, null, i2.ɵNgClassImpl, i2.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(2, 278528, null, 0, i2.NgClass, [i2.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(3, { \"active\": 0, \"unselected\": 1, \"readonly\": 2 }), (_l()(), i1.ɵeld(4, 0, null, null, 1, \":svg:svg\", [[\"fill\", \"none\"], [\"viewBox\", \"0 0 24 24\"], [\"xmlns\", \"http://www.w3.org/2000/svg\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 0, \":svg:path\", [[\"d\", \"M8 14C8 14 9.5 16 12 16C14.5 16 16 14 16 14M15 9H15.01M9 9H9.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM15.5 9C15.5 9.27614 15.2761 9.5 15 9.5C14.7239 9.5 14.5 9.27614 14.5 9C14.5 8.72386 14.7239 8.5 15 8.5C15.2761 8.5 15.5 8.72386 15.5 9ZM9.5 9C9.5 9.27614 9.27614 9.5 9 9.5C8.72386 9.5 8.5 9.27614 8.5 9C8.5 8.72386 8.72386 8.5 9 8.5C9.27614 8.5 9.5 8.72386 9.5 9Z\"], [\"stroke\", \"currentColor\"], [\"stroke-linecap\", \"round\"], [\"stroke-linejoin\", \"round\"], [\"stroke-width\", \"2\"]], null, null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_0 = \"smiley-img eval-pbc\"; var currVal_1 = _ck(_v, 3, 0, _co.isActive, _co.isUnselected, _co.readonly); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nexport function View_OdgSmileyPlutotBienConsommeComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"odg-smiley-pbc\", [], null, null, null, View_OdgSmileyPlutotBienConsommeComponent_0, RenderType_OdgSmileyPlutotBienConsommeComponent)), i1.ɵdid(1, 49152, null, 0, i3.OdgSmileyPlutotBienConsommeComponent, [], null, null)], null, null); }\nvar OdgSmileyPlutotBienConsommeComponentNgFactory = i1.ɵccf(\"odg-smiley-pbc\", i3.OdgSmileyPlutotBienConsommeComponent, View_OdgSmileyPlutotBienConsommeComponent_Host_0, { activeNote: \"activeNote\", readonly: \"readonly\" }, { smileyClick: \"smileyClick\" }, []);\nexport { OdgSmileyPlutotBienConsommeComponentNgFactory as OdgSmileyPlutotBienConsommeComponentNgFactory };\n","\n
\n \n \n \n
\n ","import { OdgEvaluationNote } from '../models/odg.model';\nimport { SmileyBase } from './smiley-base';\nimport { Component, Input, Output,EventEmitter } from '@angular/core'\n\n\n@Component({\n selector: 'odg-smiley-pc',\n template: `\n
\n \n \n \n
\n `,\n styleUrls: ['./smiley.component.scss']\n})\nexport class OdgSmileyPasConsommeComponent extends SmileyBase {\n @Input()\n activeNote: OdgEvaluationNote;\n @Input()\n readonly: boolean = false;\n @Output()\n smileyClick: EventEmitter = new EventEmitter();\n\n note: OdgEvaluationNote = OdgEvaluationNote.PasConsomme;\n}\n","import { OdgEvaluationNote } from '../models/odg.model';\nimport { SmileyBase } from './smiley-base';\nimport { EventEmitter } from '@angular/core';\nexport class OdgSmileyPasConsommeComponent extends SmileyBase {\n constructor() {\n super(...arguments);\n this.readonly = false;\n this.smileyClick = new EventEmitter();\n this.note = OdgEvaluationNote.PasConsomme;\n }\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./smiley.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./odg-smiley-pc.component\";\nvar styles_OdgSmileyPasConsommeComponent = [i0.styles];\nvar RenderType_OdgSmileyPasConsommeComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_OdgSmileyPasConsommeComponent, data: {} });\nexport { RenderType_OdgSmileyPasConsommeComponent as RenderType_OdgSmileyPasConsommeComponent };\nexport function View_OdgSmileyPasConsommeComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"smiley-img eval-pc\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onSmileyClick() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵprd(512, null, i2.ɵNgClassImpl, i2.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(2, 278528, null, 0, i2.NgClass, [i2.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(3, { \"active\": 0, \"unselected\": 1, \"readonly\": 2 }), (_l()(), i1.ɵeld(4, 0, null, null, 1, \":svg:svg\", [[\"fill\", \"none\"], [\"viewBox\", \"0 0 24 24\"], [\"xmlns\", \"http://www.w3.org/2000/svg\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 0, \":svg:path\", [[\"d\", \"M8 15H16M15 9H15.01M9 9H9.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM15.5 9C15.5 9.27614 15.2761 9.5 15 9.5C14.7239 9.5 14.5 9.27614 14.5 9C14.5 8.72386 14.7239 8.5 15 8.5C15.2761 8.5 15.5 8.72386 15.5 9ZM9.5 9C9.5 9.27614 9.27614 9.5 9 9.5C8.72386 9.5 8.5 9.27614 8.5 9C8.5 8.72386 8.72386 8.5 9 8.5C9.27614 8.5 9.5 8.72386 9.5 9Z\"], [\"stroke\", \"currentColor\"], [\"stroke-linecap\", \"round\"], [\"stroke-linejoin\", \"round\"], [\"stroke-width\", \"2\"]], null, null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_0 = \"smiley-img eval-pc\"; var currVal_1 = _ck(_v, 3, 0, _co.isActive, _co.isUnselected, _co.readonly); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nexport function View_OdgSmileyPasConsommeComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"odg-smiley-pc\", [], null, null, null, View_OdgSmileyPasConsommeComponent_0, RenderType_OdgSmileyPasConsommeComponent)), i1.ɵdid(1, 49152, null, 0, i3.OdgSmileyPasConsommeComponent, [], null, null)], null, null); }\nvar OdgSmileyPasConsommeComponentNgFactory = i1.ɵccf(\"odg-smiley-pc\", i3.OdgSmileyPasConsommeComponent, View_OdgSmileyPasConsommeComponent_Host_0, { activeNote: \"activeNote\", readonly: \"readonly\" }, { smileyClick: \"smileyClick\" }, []);\nexport { OdgSmileyPasConsommeComponentNgFactory as OdgSmileyPasConsommeComponentNgFactory };\n","\n
\n \n \n \n
\n ","import { OdgEvaluationNote } from '../models/odg.model';\nimport { SmileyBase } from './smiley-base';\nimport { Component, Input, Output, EventEmitter } from '@angular/core'\n\n\n@Component({\n selector: 'odg-smiley-pcdt',\n template: `\n
\n \n \n \n
\n `,\n styleUrls: ['./smiley.component.scss']\n})\nexport class OdgSmileyPasConsommeDuToutComponent extends SmileyBase {\n @Input()\n activeNote: OdgEvaluationNote;\n @Input()\n readonly: boolean = false;\n @Output()\n smileyClick: EventEmitter = new EventEmitter();\n\n note: OdgEvaluationNote = OdgEvaluationNote.PasConsommeDuTout;\n}\n","import { OdgEvaluationNote } from '../models/odg.model';\nimport { SmileyBase } from './smiley-base';\nimport { EventEmitter } from '@angular/core';\nexport class OdgSmileyPasConsommeDuToutComponent extends SmileyBase {\n constructor() {\n super(...arguments);\n this.readonly = false;\n this.smileyClick = new EventEmitter();\n this.note = OdgEvaluationNote.PasConsommeDuTout;\n }\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./smiley.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./odg-smiley-pcdt.component\";\nvar styles_OdgSmileyPasConsommeDuToutComponent = [i0.styles];\nvar RenderType_OdgSmileyPasConsommeDuToutComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_OdgSmileyPasConsommeDuToutComponent, data: {} });\nexport { RenderType_OdgSmileyPasConsommeDuToutComponent as RenderType_OdgSmileyPasConsommeDuToutComponent };\nexport function View_OdgSmileyPasConsommeDuToutComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"smiley-img eval-pcdt\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onSmileyClick() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵprd(512, null, i2.ɵNgClassImpl, i2.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(2, 278528, null, 0, i2.NgClass, [i2.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(3, { \"active\": 0, \"unselected\": 1, \"readonly\": 2 }), (_l()(), i1.ɵeld(4, 0, null, null, 1, \":svg:svg\", [[\"fill\", \"none\"], [\"viewBox\", \"0 0 24 24\"], [\"xmlns\", \"http://www.w3.org/2000/svg\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 0, \":svg:path\", [[\"d\", \"M16 16C16 16 14.5 14 12 14C9.5 14 8 16 8 16M15 9H15.01M9 9H9.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM15.5 9C15.5 9.27614 15.2761 9.5 15 9.5C14.7239 9.5 14.5 9.27614 14.5 9C14.5 8.72386 14.7239 8.5 15 8.5C15.2761 8.5 15.5 8.72386 15.5 9ZM9.5 9C9.5 9.27614 9.27614 9.5 9 9.5C8.72386 9.5 8.5 9.27614 8.5 9C8.5 8.72386 8.72386 8.5 9 8.5C9.27614 8.5 9.5 8.72386 9.5 9Z\"], [\"stroke\", \"currentColor\"], [\"stroke-linecap\", \"round\"], [\"stroke-linejoin\", \"round\"], [\"stroke-width\", \"2\"]], null, null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_0 = \"smiley-img eval-pcdt\"; var currVal_1 = _ck(_v, 3, 0, _co.isActive, _co.isUnselected, _co.readonly); _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nexport function View_OdgSmileyPasConsommeDuToutComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"odg-smiley-pcdt\", [], null, null, null, View_OdgSmileyPasConsommeDuToutComponent_0, RenderType_OdgSmileyPasConsommeDuToutComponent)), i1.ɵdid(1, 49152, null, 0, i3.OdgSmileyPasConsommeDuToutComponent, [], null, null)], null, null); }\nvar OdgSmileyPasConsommeDuToutComponentNgFactory = i1.ɵccf(\"odg-smiley-pcdt\", i3.OdgSmileyPasConsommeDuToutComponent, View_OdgSmileyPasConsommeDuToutComponent_Host_0, { activeNote: \"activeNote\", readonly: \"readonly\" }, { smileyClick: \"smileyClick\" }, []);\nexport { OdgSmileyPasConsommeDuToutComponentNgFactory as OdgSmileyPasConsommeDuToutComponentNgFactory };\n","\n
\n \n \n \n
\n ","import { ApplicationDataService } from '../../shared/services/application-data.service';\r\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { OdgEvaluationModel, OdgEvaluationNote } from '../models/odg.model';\r\n\r\n@Component({\r\n selector: 'odg-evaluation',\r\n templateUrl: './odg-evaluation.component.html',\r\n styleUrls: ['./odg-evaluation.component.scss']\r\n})\r\nexport class OdgEvaluationComponent {\r\n @Input()\r\n odgEval: OdgEvaluationModel;\r\n\r\n get constat(): string {\r\n let str = \"\";\r\n let alreadySmth = false;\r\n if (this.odgEval.assaisonnement) {\r\n str += \"Assaisonnement\"\r\n alreadySmth = true;\r\n }\r\n if (this.odgEval.consistance) {\r\n str +=\r\n ((alreadySmth) ? \", \" : \"\")\r\n + \"Consistance\";\r\n alreadySmth = true;\r\n }\r\n\r\n if (this.odgEval.aspect) {\r\n str +=\r\n ((alreadySmth) ? \", \" : \"\")\r\n + \"Aspect\"\r\n }\r\n\r\n return str;\r\n }\r\n\r\n constructor(private appDataService: ApplicationDataService) {\r\n }\r\n\r\n onSmileyClick(note: OdgEvaluationNote) {\r\n if (!this.odgEval.autoriserSaisie) {\r\n return;\r\n }\r\n\r\n this.odgEval.note = note;\r\n switch (note) {\r\n case 1:\r\n case 2:\r\n this.cleanBadEvaluationData();\r\n break;\r\n case 3:\r\n case 4:\r\n this.appDataService.showBadEvaluation(this.odgEval);\r\n break;\r\n }\r\n }\r\n\r\n cleanBadEvaluationData() {\r\n this.odgEval.aspect = false;\r\n this.odgEval.assaisonnement = false;\r\n this.odgEval.consistance = false;\r\n this.odgEval.autreRaison = \"\";\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./odg-evaluation.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../smileys/odg-smiley-tbc.component.ngfactory\";\nimport * as i3 from \"../smileys/odg-smiley-tbc.component\";\nimport * as i4 from \"../smileys/odg-smiley-pbc.component.ngfactory\";\nimport * as i5 from \"../smileys/odg-smiley-pbc.component\";\nimport * as i6 from \"../smileys/odg-smiley-pc.component.ngfactory\";\nimport * as i7 from \"../smileys/odg-smiley-pc.component\";\nimport * as i8 from \"../smileys/odg-smiley-pcdt.component.ngfactory\";\nimport * as i9 from \"../smileys/odg-smiley-pcdt.component\";\nimport * as i10 from \"@angular/common\";\nimport * as i11 from \"./odg-evaluation.component\";\nimport * as i12 from \"../../shared/services/application-data.service\";\nvar styles_OdgEvaluationComponent = [i0.styles];\nvar RenderType_OdgEvaluationComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_OdgEvaluationComponent, data: {} });\nexport { RenderType_OdgEvaluationComponent as RenderType_OdgEvaluationComponent };\nfunction View_OdgEvaluationComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.constat; _ck(_v, 1, 0, currVal_0); }); }\nexport function View_OdgEvaluationComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 14, \"div\", [[\"class\", \"eval-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"div\", [[\"class\", \"plat-name\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), (_l()(), i1.ɵeld(3, 0, null, null, 8, \"div\", [[\"class\", \"eval-smileys\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"odg-smiley-tbc\", [[\"class\", \"smiley\"]], null, [[null, \"smileyClick\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"smileyClick\" === en)) {\n var pd_0 = (_co.onSmileyClick($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_OdgSmileyTresBienConsommeComponent_0, i2.RenderType_OdgSmileyTresBienConsommeComponent)), i1.ɵdid(5, 49152, null, 0, i3.OdgSmileyTresBienConsommeComponent, [], { activeNote: [0, \"activeNote\"], readonly: [1, \"readonly\"] }, { smileyClick: \"smileyClick\" }), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"odg-smiley-pbc\", [[\"class\", \"smiley\"]], null, [[null, \"smileyClick\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"smileyClick\" === en)) {\n var pd_0 = (_co.onSmileyClick($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i4.View_OdgSmileyPlutotBienConsommeComponent_0, i4.RenderType_OdgSmileyPlutotBienConsommeComponent)), i1.ɵdid(7, 49152, null, 0, i5.OdgSmileyPlutotBienConsommeComponent, [], { activeNote: [0, \"activeNote\"], readonly: [1, \"readonly\"] }, { smileyClick: \"smileyClick\" }), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"odg-smiley-pc\", [[\"class\", \"smiley\"]], null, [[null, \"smileyClick\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"smileyClick\" === en)) {\n var pd_0 = (_co.onSmileyClick($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_OdgSmileyPasConsommeComponent_0, i6.RenderType_OdgSmileyPasConsommeComponent)), i1.ɵdid(9, 49152, null, 0, i7.OdgSmileyPasConsommeComponent, [], { activeNote: [0, \"activeNote\"], readonly: [1, \"readonly\"] }, { smileyClick: \"smileyClick\" }), (_l()(), i1.ɵeld(10, 0, null, null, 1, \"odg-smiley-pcdt\", [[\"class\", \"smiley\"]], null, [[null, \"smileyClick\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"smileyClick\" === en)) {\n var pd_0 = (_co.onSmileyClick($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i8.View_OdgSmileyPasConsommeDuToutComponent_0, i8.RenderType_OdgSmileyPasConsommeDuToutComponent)), i1.ɵdid(11, 49152, null, 0, i9.OdgSmileyPasConsommeDuToutComponent, [], { activeNote: [0, \"activeNote\"], readonly: [1, \"readonly\"] }, { smileyClick: \"smileyClick\" }), (_l()(), i1.ɵeld(12, 0, null, null, 2, \"div\", [[\"class\", \"eval-constat\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgEvaluationComponent_1)), i1.ɵdid(14, 16384, null, 0, i10.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.odgEval.note; var currVal_2 = !_co.odgEval.autoriserSaisie; _ck(_v, 5, 0, currVal_1, currVal_2); var currVal_3 = _co.odgEval.note; var currVal_4 = !_co.odgEval.autoriserSaisie; _ck(_v, 7, 0, currVal_3, currVal_4); var currVal_5 = _co.odgEval.note; var currVal_6 = !_co.odgEval.autoriserSaisie; _ck(_v, 9, 0, currVal_5, currVal_6); var currVal_7 = _co.odgEval.note; var currVal_8 = !_co.odgEval.autoriserSaisie; _ck(_v, 11, 0, currVal_7, currVal_8); var currVal_9 = _co.constat; _ck(_v, 14, 0, currVal_9); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.odgEval.libelle; _ck(_v, 2, 0, currVal_0); }); }\nexport function View_OdgEvaluationComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"odg-evaluation\", [], null, null, null, View_OdgEvaluationComponent_0, RenderType_OdgEvaluationComponent)), i1.ɵdid(1, 49152, null, 0, i11.OdgEvaluationComponent, [i12.ApplicationDataService], null, null)], null, null); }\nvar OdgEvaluationComponentNgFactory = i1.ɵccf(\"odg-evaluation\", i11.OdgEvaluationComponent, View_OdgEvaluationComponent_Host_0, { odgEval: \"odgEval\" }, {}, []);\nexport { OdgEvaluationComponentNgFactory as OdgEvaluationComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .eval-container[_ngcontent-%COMP%]{padding:10px;background:#fff;border:1px solid #cdcdcd}[_nghost-%COMP%] .eval-container[_ngcontent-%COMP%] .plat-name[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .eval-container[_ngcontent-%COMP%] .eval-smileys[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start}[_nghost-%COMP%] .eval-container[_ngcontent-%COMP%] .eval-smileys[_ngcontent-%COMP%] .smiley[_ngcontent-%COMP%]{display:inline-block;margin:6px 7px}@media only screen and (min-width:768px){[_nghost-%COMP%] .eval-container[_ngcontent-%COMP%]{border:0;border-bottom:1px solid #e6e6e6}[_nghost-%COMP%] .eval-container[_ngcontent-%COMP%] .eval-smileys[_ngcontent-%COMP%]{-ms-flex-pack:distribute;justify-content:space-around}[_nghost-%COMP%] .eval-container[_ngcontent-%COMP%] .eval-smileys[_ngcontent-%COMP%] .smiley[_ngcontent-%COMP%]{margin:6px 2px}}[_nghost-%COMP%] .eval-container[_ngcontent-%COMP%] .eval-constat[_ngcontent-%COMP%]{font-size:18px;margin:0 12px}\"];\nexport { styles as styles };\n","
\n
{{odgEval.libelle}}
\n
\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n
\n \n
\n {{constat}}\n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { RestaurantTypeEnum } from '../../shared/enums/restaurant-type.enum';\r\nimport { OdgEvaluationModel, OdgPrestationModel } from '../models/odg.model';\r\n\r\n@Component({\r\n selector: 'odg-prestation',\r\n templateUrl: './odg-prestation.component.html',\r\n styleUrls: ['./odg-prestation.component.scss']\r\n})\r\nexport class OdgPrestationComponent implements OnInit {\r\n @Input()\r\n odgPresta: OdgPrestationModel;\r\n @Input()\r\n currentType: RestaurantTypeEnum;\r\n\r\n @Output()\r\n prestaToggle: EventEmitter = new EventEmitter();\r\n @Output()\r\n openBadEvaluation: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggle() {\r\n this.prestaToggle.next(this.odgPresta.id);\r\n }\r\n\r\n onOpenEvaluation(evaluation: OdgEvaluationModel) {\r\n this.openBadEvaluation.emit(evaluation);\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./odg-prestation.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../odg-evaluation/odg-evaluation.component.ngfactory\";\nimport * as i3 from \"../odg-evaluation/odg-evaluation.component\";\nimport * as i4 from \"../../shared/services/application-data.service\";\nimport * as i5 from \"../../shared/directives/restaurant-type-color.directive\";\nimport * as i6 from \"@angular/common\";\nimport * as i7 from \"./odg-prestation.component\";\nvar styles_OdgPrestationComponent = [i0.styles];\nvar RenderType_OdgPrestationComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_OdgPrestationComponent, data: {} });\nexport { RenderType_OdgPrestationComponent as RenderType_OdgPrestationComponent };\nfunction View_OdgPrestationComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"odg-evaluation\", [], null, null, null, i2.View_OdgEvaluationComponent_0, i2.RenderType_OdgEvaluationComponent)), i1.ɵdid(1, 49152, null, 0, i3.OdgEvaluationComponent, [i4.ApplicationDataService], { odgEval: [0, \"odgEval\"] }, null)], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_OdgPrestationComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 6, \"div\", [[\"class\", \"prestation-header pointerHover\"]], null, null, null, null, null)), i1.ɵdid(1, 16384, null, 0, i5.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(3, 0, null, null, 3, \"div\", [[\"class\", \"nowrap header-libelle\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.toggle() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 0, \"span\", [[\"class\", \"prestation-row-span chevron\"]], [[2, \"down\", null]], null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"span\", [[\"class\", \"prestation-row-span\"]], null, null, null, null, null)), (_l()(), i1.ɵted(6, null, [\"\", \"\"])), (_l()(), i1.ɵeld(7, 0, null, null, 2, \"div\", [[\"class\", \"collapsable\"]], [[2, \"collapsed\", null]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgPrestationComponent_1)), i1.ɵdid(9, 278528, null, 0, i6.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 2, 0, _co.currentType, true); _ck(_v, 1, 0, currVal_0); var currVal_4 = _co.odgPresta.odgEvaluations; _ck(_v, 9, 0, currVal_4); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.odgPresta.isCollapsed; _ck(_v, 4, 0, currVal_1); var currVal_2 = _co.odgPresta.libelle; _ck(_v, 6, 0, currVal_2); var currVal_3 = _co.odgPresta.isCollapsed; _ck(_v, 7, 0, currVal_3); }); }\nexport function View_OdgPrestationComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"odg-prestation\", [], null, null, null, View_OdgPrestationComponent_0, RenderType_OdgPrestationComponent)), i1.ɵdid(1, 114688, null, 0, i7.OdgPrestationComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar OdgPrestationComponentNgFactory = i1.ɵccf(\"odg-prestation\", i7.OdgPrestationComponent, View_OdgPrestationComponent_Host_0, { odgPresta: \"odgPresta\", currentType: \"currentType\" }, { prestaToggle: \"prestaToggle\", openBadEvaluation: \"openBadEvaluation\" }, []);\nexport { OdgPrestationComponentNgFactory as OdgPrestationComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%], .famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%], .nowrap[_ngcontent-%COMP%], .prestation-header[_ngcontent-%COMP%], .prestation-row[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapsable[_ngcontent-%COMP%]{max-height:initial;transition:all .6s ease-in-out;visibility:visible;opacity:1;overflow:hidden}.collapsable.collapsed[_ngcontent-%COMP%]{max-height:0!important;height:0}.prestation-header[_ngcontent-%COMP%] .header-libelle[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;width:100%;color:#fff;-ms-flex-align:center;align-items:center}.prestation-header[_ngcontent-%COMP%] .header-libelle[_ngcontent-%COMP%] .chevron[_ngcontent-%COMP%]{width:5px;height:5px;border-top:1px solid #fff;border-right:1px solid #fff;-ms-transform:rotate(-45deg);transform:rotate(-45deg);transition:.7s ease-in-out;display:block}.prestation-header[_ngcontent-%COMP%] .header-libelle[_ngcontent-%COMP%] .chevron.down[_ngcontent-%COMP%]{-ms-transform:rotate(135deg);transform:rotate(135deg)}.prestation-header[_ngcontent-%COMP%] .header-libelle[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-transform:uppercase;font-weight:600;height:100%;line-height:35px;margin-left:10px}@media only screen and (min-width:768px){.prestation-header[_ngcontent-%COMP%]{height:35px}.prestation-header[_ngcontent-%COMP%] .header-libelle[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:16px;margin-left:5px;line-height:35px}}.prestation-base[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .prestation-estimation[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .prestation-estimation-familleplat[_ngcontent-%COMP%]{width:36px;border:1px solid #7b7979;border-radius:11px;height:15px;text-align:center;font-size:15px;font-weight:600}.prestation-base.effectif-hidden[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .effectif-hidden.prestation-estimation[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .effectif-hidden.prestation-estimation-familleplat[_ngcontent-%COMP%]{visibility:hidden;transition:visibility .7s ease-in}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%], .famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%], .prestation-header[_ngcontent-%COMP%], .prestation-row[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;height:35px;padding-left:20px}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%], .famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%], .prestation-header[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%], .prestation-row[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%]{overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:16px}@media only screen and (min-width:768px){.prestation-base.effectif-hidden[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .effectif-hidden.prestation-estimation[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .effectif-hidden.prestation-estimation-familleplat[_ngcontent-%COMP%]{visibility:visible}.prestation-base[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .prestation-estimation[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] .prestation-estimation-familleplat[_ngcontent-%COMP%]{padding-bottom:2px;margin-right:0}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%], .famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%], .prestation-header[_ngcontent-%COMP%], .prestation-row[_ngcontent-%COMP%]{height:35px;padding-left:10px}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%], .famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%], .prestation-header[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%], .prestation-row[_ngcontent-%COMP%] .prestation-row-span[_ngcontent-%COMP%]{line-height:35px}}.prestation-estimation-container[_ngcontent-%COMP%]{text-align:center;float:right;margin-right:20px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.prestation-estimation-container[_ngcontent-%COMP%] .prestation-estimation-familleplat[_ngcontent-%COMP%]{border:none;border-radius:0;background:0 0}.prestation-estimation-container[_ngcontent-%COMP%] input.prestation-estimation[_ngcontent-%COMP%], .prestation-estimation-container[_ngcontent-%COMP%] input.prestation-estimation-familleplat[_ngcontent-%COMP%]{font-family:Arial;font-weight:400}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{background-color:#dcdcdc}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-weight:600;color:#000;height:100%;line-height:35px}@media only screen and (min-width:768px){.prestation-estimation-container[_ngcontent-%COMP%]{width:auto;margin-right:10px}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{line-height:35px}}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%]{margin-right:-16px}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%]:hover{cursor:pointer}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%]:hover .close-button[_ngcontent-%COMP%]{opacity:1}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{margin:16px;width:18px;height:18px;opacity:.4;position:relative}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]:after, .famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]:before{position:absolute;left:9px;content:\\\" \\\";height:18px;width:2px;background-color:#333}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]:before{-ms-transform:rotate(45deg);transform:rotate(45deg)}.famille-plat[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .close-zone[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]:after{-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%]{border:none;border-bottom:1px solid #c7c7c7}.famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%] > .prestation-row-span[_ngcontent-%COMP%]{-ms-flex-positive:1;flex-grow:1}.famille-plat[_ngcontent-%COMP%] .prestation-portion[_ngcontent-%COMP%] > .prestation-estimation-container[_ngcontent-%COMP%]{-ms-flex-negative:0;flex-shrink:0}[_nghost-%COMP%]{display:block}\"];\nexport { styles as styles };\n","
\r\n
\r\n \r\n {{odgPresta.libelle}}\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\nimport { PopupCustomComponentGeneric } from 'src/app/popup-custom/popup-custom-content.component';\nimport { RestaurantModel } from 'src/app/shared/models/restaurant.model';\nimport { OdgConviveModel, OdgPrestationModel } from '../models/odg.model';\nimport { OdgService } from '../services/odg.service';\nimport { ReportingService } from 'src/app/reporting/services/reporting.service';\nimport { InteractionService } from 'src/app/shared/services/interaction.service';\nimport { ContratModel } from 'src/app/shared/models/contrat.model';\n\nexport class OdgExportFichesEvalutationsModel {\n\n public readonly periodeLabel: string;\n public readonly contratLabel: string;\n public readonly restaurantLabel: string | null;\n public readonly restaurantId: number | null;\n public readonly conviveLabel: string | null;\n public readonly conviveId: number | null;\n public readonly prestationLabel: string | null;\n public readonly prestationId: number | null;\n\n public readonly onExport: (params: OdgExportFichesEvalutationsModel) => void;\n\n\n public selectedRestaurantId: number | null;\n public selectedConviveId: number | null;\n public selectedPrestationId: number | null;\n\n constructor(periodeLabel: string, contrat: ContratModel, restaurant: RestaurantModel | null, convive: OdgConviveModel | null, prestation: OdgPrestationModel | null, onExport: (params: OdgExportFichesEvalutationsModel) => void) {\n this.periodeLabel = periodeLabel;\n this.contratLabel = contrat.libelle;\n this.restaurantLabel = restaurant ? restaurant.name : null;\n this.selectedRestaurantId = this.restaurantId = (restaurant ? restaurant.id : null);\n this.conviveLabel = convive ? convive.libelle : null;\n this.selectedConviveId = this.conviveId = (convive ? convive.id : null);\n this.prestationLabel = prestation ? prestation.libelle : null;\n this.selectedPrestationId = this.prestationId = (prestation ? prestation.id : null);\n this.onExport = onExport;\n }\n\n}\n\n\n@Component({\n selector: 'app-odg-export-fiches-evalutations',\n templateUrl: './odg-export-fiches-evalutations.component.html',\n styleUrls: ['./odg-export-fiches-evalutations.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OdgExportFichesEvalutationsComponent extends PopupCustomComponentGeneric implements OnInit, OnDestroy {\n\n public isSending: boolean;\n\n //#region data property override\n private _data: any;\n public get data(): any {\n return this._data;\n }\n public set data(data: any) {\n if (data !== this._data) {\n this._data = data;\n }\n }\n //#endregion\n\n constructor(\n // private _odgService: OdgService,\n // private _reportingService: ReportingService,\n // private _interactionService: InteractionService\n ) {\n super();\n }\n\n ngOnInit() {\n }\n\n ngOnDestroy() {\n }\n\n public close() {\n this.emitter.next();\n }\n\n public export() {\n this.model.onExport(this.model);\n this.close();\n }\n\n public selectRestaurantId(restaurantId: number | null) {\n this.model.selectedRestaurantId = restaurantId;\n }\n\n public selectConviveId(conviveId: number | null) {\n this.model.selectedConviveId = conviveId;\n }\n\n public selectPrestationId(prestationId: number | null) {\n this.model.selectedPrestationId = prestationId;\n }\n\n}\n","\nimport { AfterViewChecked, Component, ElementRef, EventEmitter, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport * as moment from 'moment';\nimport { Subscription } from 'rxjs';\nimport { debounceTime, finalize, first } from 'rxjs/operators';\nimport { DateSelectorComponent } from '../date-selector/date-selector.component';\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\nimport { DateHelper } from '../shared/helpers/date.helper';\nimport { ErrorApiModel } from '../shared/models/api/error/error.apimodel';\nimport { BaseJourModel } from '../shared/models/base-jour.model';\nimport { BaseComponentNav } from '../shared/models/component-layout/base-component-nav';\nimport { NotificationCustomModel, NotificationModel } from '../shared/models/notification.model';\nimport { RestaurantModel } from '../shared/models/restaurant.model';\nimport { SemaineModel } from '../shared/models/semaine.model';\nimport { LogoRouteService } from '../shared/services/api/logo/logo-route.service';\nimport { ApplicationDataService } from '../shared/services/application-data.service';\nimport { InteractionService } from '../shared/services/interaction.service';\nimport { LogService } from '../shared/services/log.service';\nimport { OdgConviveModel, OdgJourModel, OdgModel, OdgPrestationModel } from './models/odg.model';\nimport { OdgService } from './services/odg.service';\nimport { ReportingService } from '../reporting/services/reporting.service';\nimport { OdgExportFichesEvalutationsComponent, OdgExportFichesEvalutationsModel } from './odg-export-fiches-evalutations/odg-export-fiches-evalutations.component';\n\nconst DEBOUNCE_ODG_MS = 1000;\n\n@Component({\n selector: 'app-odg',\n templateUrl: './odg.component.html',\n styleUrls: ['./odg.component.scss']\n})\nexport class OdgComponent extends BaseComponentNav implements OnInit, AfterViewChecked {\n get selectedRestaurant() {\n return this._selectedRestaurant;\n }\n set selectedRestaurant(val: RestaurantModel) {\n this._selectedRestaurant = val;\n // notify app that we changed the restaurant in this view,\n // it will trigger the handleNewRestaurant subscription\n this.appDataService\n .changeRestaurant(val).pipe(\n first())\n .subscribe();\n }\n get selectedConvive(): OdgConviveModel {\n return this._selectedConvive;\n }\n set selectedConvive(val: OdgConviveModel) {\n this._selectedConvive = val;\n this.handleNewConvive(val);\n }\n\n /** Ctor */\n constructor(private appDataService: ApplicationDataService,\n private interactionService: InteractionService,\n private logService: LogService,\n private logoService: LogoRouteService,\n private odgService: OdgService,\n private reportingService: ReportingService,\n private renderer: Renderer2) {\n super(appDataService, logoService, interactionService);\n }\n /** View Child */\n @ViewChild(DateSelectorComponent, { static: true }) dateSelector: DateSelectorComponent;\n @ViewChild('odgRepasContainer', { static: false }) odgRepasContainer: ElementRef;\n\n /** Emitters / Subscriptions */\n getOdgEmitter: EventEmitter<{ refreshList: boolean; newRest: boolean; selectNewDay: boolean }>;\n odgSubscription: Subscription;\n badEvaluationSubscription: Subscription;\n\n /** fields */\n alignRequested: boolean;\n isLoading: boolean = true;\n currentType: RestaurantTypeEnum;\n conviveList: OdgConviveModel[];\n isConviveDisplay: boolean = true;\n odg: OdgModel = undefined;\n isSendingOdg = false;\n\n isFicheEvalDownloading = false;\n\n /** Props */\n /** - Restaurant */\n _selectedRestaurant: RestaurantModel;\n\n /** - Convives */\n _selectedConvive: OdgConviveModel = undefined;\n\n checkIsDirty(): boolean {\n // Todo ajouter la logique dirty sur le odgComponent\n return false;\n }\n\n ngOnInit() {\n // allow 2 week before\n super.initComponent();\n\n const startDate = moment().subtract(1, 'month').startOf('month');\n const endDate = moment().add(2, 'week');\n\n this.dateRanges = SemaineModel.getSemainesFromDates(startDate, endDate);\n // on masque tous les jours par défaut\n this.dateRanges.forEach(r => r.jours.forEach(j => (j.hidden = true)));\n\n // select current week for init\n const now = new Date();\n this.selectedRange = this.dateRanges.find(dr => DateHelper.isBetweenDates(dr.firstDay, dr.lastDay, now));\n if (!this.selectedRange) {\n this.selectedRange = this.dateRanges[0];\n }\n\n this.refreshNavigationAllowed();\n this.handleSubscription();\n }\n\n ngAfterViewChecked() {\n if (this.alignRequested) {\n this.alignOdgPrestations();\n this.alignRequested = false;\n }\n }\n\n ngAfterViewInit() {\n super.subscribeDateSelectorEvents();\n }\n\n ngOnDestroy() {\n super.destroy();\n }\n\n handleSubscription() {\n // set up debouncing for commande repas\n this.getOdgEmitter = new EventEmitter<{ refreshList: boolean; newRest: boolean; selectNewDay: boolean }>();\n this.getOdgEmitter.pipe(debounceTime(DEBOUNCE_ODG_MS)).subscribe(res => {\n this.getOdg(res.refreshList, res.newRest, res.selectNewDay);\n });\n\n this.contratSubscription = this.appDataService.contrat$.subscribe(contrat => {\n if (contrat != null) {\n this.restaurantList = contrat.restaurants;\n this.isRestaurantDisplay = this.restaurantList.length > 1;\n this.logoContratUrl = this.logoService.GetPicture2Url(contrat.id, contrat.cuisineCentraleId);\n }\n });\n\n this.badEvaluationSubscription = this.appDataService.getCloseBadEvaluation().subscribe(odg => {\n this.alignOdgPrestations();\n });\n }\n\n selectedRangeChanged(dateRange: SemaineModel) {\n this.selectedRange = dateRange;\n this.selectedDate = dateRange.firstDay;\n this.handleNewDate(dateRange.firstDay);\n }\n\n /** event from view */\n newConvive(conv: OdgConviveModel) {\n this.selectedConvive = conv;\n }\n\n /** Handle new */\n handleNewRestaurant(rest: RestaurantModel) {\n this.currentType = rest.type;\n this._selectedConvive = undefined;\n\n // refresh list + is new week true to select the date\n this.getOdg(true, true, true);\n }\n\n handleNewConvive(conv: OdgConviveModel) {\n this.logService.Debug('New convive selected : ' + JSON.stringify(conv), 'RepasComponent');\n this.askOdg(false, false, false);\n }\n\n handleNewDate(date: Date) {\n this.selectedRange = this.getRangeForDate(date);\n this.refreshNavigationAllowed();\n this.askOdg(true, false, true);\n }\n\n /** align */\n alignOdgPrestations() {\n if (!this.odgRepasContainer) {\n return;\n }\n\n const prestaArray: { prestaList: Element[]; maxHeight: number }[] = [];\n const jours = this.odgRepasContainer.nativeElement.querySelectorAll('.jour');\n const joursLength = jours.length;\n\n const collapsibles = this.odgRepasContainer.nativeElement.querySelectorAll('.collapsable');\n\n for (let i = 0; i < collapsibles.length; i++) {\n const collapsible = collapsibles[i];\n collapsible.style.removeProperty('max-height');\n collapsible.style.removeProperty('height');\n }\n\n for (let i = 0; i < joursLength; i++) {\n const jour = jours[i] as Element;\n const prestas = jour.querySelectorAll('odg-prestation');\n const prestasLength = prestas.length;\n for (let j = 0; j < prestasLength; j++) {\n const presta = prestas[j];\n if (prestaArray[j]) {\n prestaArray[j].prestaList.push(presta);\n if (presta.clientHeight > prestaArray[j].maxHeight) {\n prestaArray[j].maxHeight = presta.clientHeight;\n }\n } else {\n prestaArray[j] = { prestaList: [presta], maxHeight: presta.clientHeight };\n }\n }\n }\n\n for (const prestaKey in prestaArray) {\n // set the presta max height\n const prestaLine = prestaArray[prestaKey];\n prestaLine.prestaList.forEach(p => {\n this.renderer.setStyle(p.querySelector('.collapsable'), 'max-height', prestaLine.maxHeight + 'px');\n this.renderer.setStyle(p.querySelector('.collapsable'), 'height', prestaLine.maxHeight + 'px');\n });\n }\n }\n\n /** Get odg */\n askOdg(refreshList: boolean, newRest, selectNewDay) {\n if (this.odgSubscription) {\n this.odgSubscription.unsubscribe();\n }\n\n this.isLoading = true;\n this.getOdgEmitter.next({ refreshList, newRest, selectNewDay });\n }\n\n getOdg(refreshList: boolean, newRest, selectNewDay) {\n this.isLoading = true;\n const conviveId = this.selectedConvive ? this.selectedConvive.id : undefined;\n this.odgSubscription = this.odgService.getOdg(this.selectedRestaurant.cuisineCentraleId, this.selectedRestaurant.id, conviveId, this.selectedDate).subscribe(\n odgModel => {\n this.isNoContent = odgModel.odgJours.length == 0;\n // if (this.isNoContent) {\n // //this.dateSelector.selectedJour = undefined;\n // this.isLoading = false;\n // }\n this.handleNewOdg(odgModel, refreshList, newRest, selectNewDay);\n },\n error => {\n // TODO Gestion des erreurs sur ODG\n this.isNoContent = true;\n this.isLoading = false;\n }\n );\n }\n\n private refreshSemaine(semaine: SemaineModel, joursToMap: BaseJourModel[]) {\n const length = semaine.jours.length;\n let indexCount = 0;\n for (let i = 0; i < length; i++) {\n const jour = semaine.jours[i];\n const jourMap = joursToMap.find(jToMap => {\n return moment(jToMap.date).isSame(jour.date, 'day');\n });\n\n // Si on trouve une correspondance, on update\n if (jourMap) {\n jourMap.index = indexCount++;\n semaine.jours[i] = jourMap;\n } else {\n // Sinon, il faut clear et mettre un modele vide\n // Je ne sais pas pourquoi on passe par la base puis on cast en JourModel\n // A enlever ?\n jour.index = indexCount++;\n semaine.jours[i] = new OdgJourModel(jour.date);\n }\n\n // on affiche/masque le jour s'il n'est pas dans la liste\n semaine.jours[i].hidden = jourMap == null;\n }\n }\n\n handleNewOdg(odgModel: OdgModel, refreshList: boolean, newRest: boolean, selectNewDay: boolean) {\n this.refreshSemaine(this.selectedRange, odgModel.odgJours);\n if (selectNewDay) {\n const now = new Date();\n if (DateHelper.isBetweenDates(this.selectedRange.firstDay, this.selectedRange.lastDay, now)) {\n this.dateSelector.selectedJour = this.selectedRange.jours.find(j => DateHelper.areSameDayOfYear(now, j.date));\n } else {\n this.dateSelector.selectedJour = this.selectedRange.jours[0];\n }\n } else {\n // the list is refreshed so we refresh the current too, we should check if we can avoid refreshing the whole list\n if (this.dateSelector.selectedJour) { this.dateSelector.selectedJour = this.selectedRange.jours.find(j => DateHelper.areSameDayOfYear(this.dateSelector.selectedJour.date, j.date)); } else {\n if (this.selectedRange.jours.length > 0) { this.dateSelector.selectedJour = this.selectedRange.jours[0]; }\n }\n }\n\n this.odg = odgModel;\n\n if (refreshList) {\n // if new rest : refresh anyway\n this.conviveList = this.odg.odgConvives;\n if (newRest) {\n this._selectedConvive = this.conviveList[0];\n } else if (this.areSameList(this.odg.odgConvives, this.conviveList, 'id')) {\n // keep the convive selected if it's the same list\n if (this._selectedConvive) {\n const sameConvive = this.conviveList.find(c => c.id == this._selectedConvive.id);\n this._selectedConvive = sameConvive ? sameConvive : this.conviveList[0];\n } else {\n // if selectedConvive was null (shouldn't happened)\n this._selectedConvive = this.conviveList[0];\n }\n\n this.isConviveDisplay = this.conviveList.length > 1;\n }\n }\n\n this.alignRequested = true;\n this.isLoading = false;\n }\n\n validateOdg() {\n if (this.isLoading || this.isNoContent) {\n return;\n }\n\n this.isSendingOdg = true;\n this.interactionService.blockUI('Validation en cours');\n\n this.odgService\n .postOdg(this.odg, this._selectedConvive.id).pipe(\n first(),\n finalize(() => {\n this.interactionService.releaseUI();\n this.isSendingOdg = false;\n }))\n .subscribe(\n res => {\n if (res) {\n const notifModel = new NotificationModel();\n notifModel.title = 'Validation';\n notifModel.message = 'Validation Réussie';\n\n this.interactionService.showNotification(notifModel);\n }\n },\n (error: ErrorApiModel) => {\n const notifModel = new NotificationModel();\n notifModel.title = 'Handle l\\'erreur';\n notifModel.message = error.Message;\n\n this.interactionService.showNotification(notifModel);\n }\n );\n }\n\n expandAllPrestations() {\n this.odg.odgJours.forEach((jour: OdgJourModel) => {\n jour.odgPrestations.forEach((prestation: OdgPrestationModel) => {\n prestation.isCollapsed = false;\n });\n });\n }\n\n onPrestaToggle(id: number) {\n this.odg.odgJours.forEach((jour: OdgJourModel) => {\n jour.odgPrestations.forEach((prestation: OdgPrestationModel) => {\n if (prestation.id == id) {\n prestation.isCollapsed = !prestation.isCollapsed;\n }\n });\n });\n }\n\n printFicheEval() {\n\n this.appDataService.contrat$.pipe(first()).subscribe(contrat => {\n const notif: NotificationCustomModel = new NotificationCustomModel();\n notif.id = 1;\n notif.title = \"Imprimer les fiches d'évaluations\";\n notif.type = OdgExportFichesEvalutationsComponent;\n notif.fullScreen = false;\n notif.closeOnBackdropClick = true;\n const popupModel: OdgExportFichesEvalutationsModel = new OdgExportFichesEvalutationsModel(\n this.selectedRange.libelle,\n contrat,\n this.selectedRestaurant,\n this.selectedConvive,\n //on propose d'imprimer par défaut la première prestation affichée\n this.odg && this.odg.odgJours[0] && this.odg.odgJours[0].odgPrestations[0] && this.odg.odgJours[0].odgPrestations[0],\n (params: OdgExportFichesEvalutationsModel) => {\n if (this.isFicheEvalDownloading) {\n return;\n }\n\n this.isFicheEvalDownloading = true;\n const report$ = this.odgService.exportFicheEvaluations(\n contrat.cuisineCentraleId,\n params.selectedRestaurantId,\n this.selectedDate,\n params.selectedConviveId,\n params.selectedPrestationId)\n .pipe(\n finalize(() => {\n this.isFicheEvalDownloading = false;\n }),\n first());\n\n this.reportingService.handleReportResponse(report$);\n });\n notif.data = popupModel;\n notif.hasNoOverflow = true;\n\n this.interactionService.showNotification(notif);\n });\n\n }\n\n\n\n}\n","import { GetOdgApiResponse } from '../models/api/responses/get-odg.apiresponse';\r\nimport { PostOdgApiRequest } from '../models/api/requests/post-odg.apirequest';\r\n\r\nimport {\r\n OdgEvaluationModel,\r\n OdgEvaluationNote,\r\n OdgJourModel,\r\n OdgModel,\r\n OdgPrestationModel\r\n} from '../../odg/models/odg.model';\r\n\r\nexport class OdgProjector {\r\n\r\n static projectOdg(odgApi: GetOdgApiResponse.Odg): OdgModel {\r\n return {\r\n odgContratId: odgApi.odgContratId,\r\n odgRestaurantId: odgApi.odgRestaurantId,\r\n restaurantId: odgApi.restaurantId,\r\n odgConvives: odgApi.odgConvives,\r\n odgJours: odgApi.odgJours.map((odgJ, i) => this.projectJours(odgJ, i))\r\n };\r\n }\r\n\r\n static projectJours(odgJourApi: GetOdgApiResponse.OdgJour, index: number): OdgJourModel {\r\n let jourModel = new OdgJourModel(odgJourApi.date);\r\n jourModel.index = index;\r\n jourModel.autoriserSaisie = odgJourApi.autoriserSaisie;\r\n jourModel.observations = odgJourApi.observations;\r\n jourModel.odgPrestations = odgJourApi.odgPrestations.map(odgP => this.projectPresta(odgP, odgJourApi.autoriserSaisie));\r\n return jourModel;\r\n }\r\n\r\n static projectPresta(odgPrestaApi: GetOdgApiResponse.OdgPrestation, autoriserSaisie: boolean): OdgPrestationModel {\r\n return {\r\n isCollapsed: false,\r\n id: odgPrestaApi.id,\r\n libelle: odgPrestaApi.libelle,\r\n odgEvaluations: odgPrestaApi.odgEvaluations.map(ev => this.projectEvaluation(ev, autoriserSaisie))\r\n };\r\n }\r\n\r\n static projectEvaluation(evalApi: GetOdgApiResponse.OdgEvaluation, autoriserSaisie: boolean): OdgEvaluationModel {\r\n let model = {\r\n id: evalApi.id,\r\n aspect: evalApi.aspect,\r\n assaisonnement: evalApi.assaisonnement,\r\n autre: evalApi.autre,\r\n autreRaison: evalApi.autreRaison,\r\n consistance: evalApi.consistance,\r\n note: OdgEvaluationNote[evalApi.note],\r\n libelle: evalApi.libelle,\r\n menuDetailId: evalApi.menuDetailId,\r\n platId: evalApi.platId,\r\n autoriserSaisie: autoriserSaisie\r\n };\r\n return model;\r\n }\r\n\r\n /** POST */\r\n static projectPostOdg(odg: OdgModel, odgConviveId: number): PostOdgApiRequest.Odg {\r\n return {\r\n odgRestaurantId: odg.odgRestaurantId,\r\n odgContratId: odg.odgContratId,\r\n odgConviveId: odgConviveId,\r\n odgJours: odg.odgJours.map(jour => this.projectPostOdgJour(jour))\r\n }\r\n }\r\n\r\n static projectPostOdgJour(odgJour: OdgJourModel): PostOdgApiRequest.OdgJour {\r\n return {\r\n date: odgJour.date,\r\n observations: odgJour.observations,\r\n autoriserSaisie: odgJour.autoriserSaisie,\r\n odgPrestations: odgJour.odgPrestations.map(presta => this.projectPostOdgPresta(presta))\r\n }\r\n }\r\n\r\n static projectPostOdgPresta(odgPresta: OdgPrestationModel): PostOdgApiRequest.OdgPrestation {\r\n return {\r\n id: odgPresta.id,\r\n libelle: odgPresta.libelle,\r\n odgEvaluations: odgPresta.odgEvaluations.map(evaluation => this.projectPostOdgEvaluation(evaluation))\r\n }\r\n }\r\n\r\n static projectPostOdgEvaluation(odgEvaluation: OdgEvaluationModel): PostOdgApiRequest.OdgEvaluation {\r\n return {\r\n id: odgEvaluation.id,\r\n aspect: odgEvaluation.aspect,\r\n assaisonnement: odgEvaluation.assaisonnement,\r\n autre: odgEvaluation.autre,\r\n autreRaison: odgEvaluation.autreRaison,\r\n consistance: odgEvaluation.consistance,\r\n note: OdgEvaluationNote[odgEvaluation.note],\r\n libelle: odgEvaluation.libelle,\r\n menuDetailId: odgEvaluation.menuDetailId,\r\n platId: odgEvaluation.platId\r\n }\r\n }\r\n}","\nimport { map } from 'rxjs/operators';\nimport { Injectable } from \"@angular/core\";\n\nimport { Observable } from \"rxjs\";\n\nimport { OdgApiService } from \"./api/odg.apiservice\";\nimport { OdgProjector } from \"../projectors/odg.projector\";\n\nimport { OdgEvaluationNote, OdgJourModel, OdgModel, OdgPrestationModel } from \"../models/odg.model\";\nimport { ExportFicheEvaluationsRequest } from '../models/api/requests/export-fiche-evaluations.apirequest';\nimport { FileResultModel } from 'src/app/shared/models/fileresult.model';\n@Injectable()\nexport class OdgService {\n constructor(private odgApiService: OdgApiService) { }\n\n getOdg(cuisineCentraleId: number, restaurantId: number, odgConviveId: number = undefined, day: Date): Observable {\n return this.odgApiService.getOdg(cuisineCentraleId, restaurantId, odgConviveId, day).pipe(map(res => {\n return OdgProjector.projectOdg(res);\n }));\n }\n\n postOdg(odg: OdgModel, odgConviveId: number): Observable {\n const newOdg = this.removeUnmodifyEvaluation(odg);\n const request = OdgProjector.projectPostOdg(newOdg, odgConviveId);\n return this.odgApiService.postOdg(request).pipe(map(res => {\n return true;\n }));\n }\n\n exportFicheEvaluations(cuisineCentraleId: number, restaurantId: number, weekDate: Date, odgConviveId?: number, odgPrestationId?: number): Observable {\n\n const request: ExportFicheEvaluationsRequest = {\n cuisineCentraleId,\n restaurantId,\n weekDate,\n odgConviveId,\n odgPrestationId\n };\n\n return this.odgApiService.exportFicheEvaluations(request);\n }\n\n private removeUnmodifyEvaluation(odg: OdgModel): OdgModel {\n const newOdg = new OdgModel();\n (newOdg.odgConvives = odg.odgConvives),\n (newOdg.restaurantId = odg.restaurantId),\n (newOdg.odgRestaurantId = odg.odgRestaurantId),\n (newOdg.odgContratId = odg.odgContratId),\n (newOdg.odgJours = odg.odgJours.map(jour => {\n const newOdgJour = new OdgJourModel(jour.date);\n (newOdgJour.observations = jour.observations),\n (newOdgJour.autoriserSaisie = jour.autoriserSaisie),\n (newOdgJour.odgPrestations = jour.odgPrestations.map(presta => {\n const newOdgPrestation = new OdgPrestationModel();\n (newOdgPrestation.id = presta.id),\n (newOdgPrestation.isCollapsed = presta.isCollapsed),\n (newOdgPrestation.libelle = presta.libelle),\n (newOdgPrestation.odgEvaluations = presta.odgEvaluations.filter(evaluation => {\n // on supprime les évaluations qui on comme id -1 et qui n'ont pas reçu de note, pour ne pas fausser les statistiques\n return evaluation.id != -1 || evaluation.note != OdgEvaluationNote.None;\n }));\n return newOdgPrestation;\n }));\n return newOdgJour;\n }));\n return newOdg;\n }\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./odg.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../item-selector/item-selector.component.ngfactory\";\nimport * as i3 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i4 from \"../item-selector/item-selector.component\";\nimport * as i5 from \"@angular/forms\";\nimport * as i6 from \"../loader/loader.component.ngfactory\";\nimport * as i7 from \"../loader/loader.component\";\nimport * as i8 from \"@angular/common\";\nimport * as i9 from \"./odg-prestation/odg-prestation.component.ngfactory\";\nimport * as i10 from \"./odg-prestation/odg-prestation.component\";\nimport * as i11 from \"../shared/directives/repas-jour-vignette.directive\";\nimport * as i12 from \"../shared/directives/translate-slider.directive\";\nimport * as i13 from \"../date-selector/date-selector.component.ngfactory\";\nimport * as i14 from \"../date-selector/date-selector.component\";\nimport * as i15 from \"./odg.component\";\nimport * as i16 from \"../shared/services/application-data.service\";\nimport * as i17 from \"../shared/services/interaction.service\";\nimport * as i18 from \"../shared/services/log.service\";\nimport * as i19 from \"../shared/services/api/logo/logo-route.service\";\nimport * as i20 from \"./services/odg.service\";\nimport * as i21 from \"../reporting/services/reporting.service\";\nvar styles_OdgComponent = [i0.styles];\nvar RenderType_OdgComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_OdgComponent, data: {} });\nexport { RenderType_OdgComponent as RenderType_OdgComponent };\nfunction View_OdgComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"app-item-selector\", [[\"class\", \"color-animation\"], [\"id\", \"restaurant-selector\"], [\"propComparer\", \"id\"], [\"propName\", \"name\"]], null, [[null, \"selectedItemChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"selectedItemChange\" === en)) {\n var pd_0 = ((_co.selectedRestaurant = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_ItemSelectorComponent_0, i2.RenderType_ItemSelectorComponent)), i1.ɵdid(2, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(3, { \"type\": 0, \"isSecondary\": 1, \"background\": 2 }), i1.ɵdid(4, 12632064, null, 0, i4.ItemSelectorComponent, [i1.ElementRef], { selectedItem: [0, \"selectedItem\"], items: [1, \"items\"], propName: [2, \"propName\"], propComparer: [3, \"propComparer\"] }, { selectedItemChange: \"selectedItemChange\" }), (_l()(), i1.ɵeld(5, 0, null, null, 0, \"hr\", [[\"class\", \"separator\"]], null, null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 3, 0, _co.currentType, true, true); _ck(_v, 2, 0, currVal_0); var currVal_1 = _co.selectedRestaurant; var currVal_2 = _co.restaurantList; var currVal_3 = \"name\"; var currVal_4 = \"id\"; _ck(_v, 4, 0, currVal_1, currVal_2, currVal_3, currVal_4); }, null); }\nfunction View_OdgComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"app-item-selector\", [[\"class\", \"color-animation\"], [\"id\", \"convive-selector\"], [\"propComparer\", \"id\"], [\"propName\", \"libelle\"]], null, [[null, \"selectedItemChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"selectedItemChange\" === en)) {\n var pd_0 = ((_co.selectedConvive = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_ItemSelectorComponent_0, i2.RenderType_ItemSelectorComponent)), i1.ɵdid(1, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"isSecondary\": 1, \"background\": 2 }), i1.ɵdid(3, 12632064, null, 0, i4.ItemSelectorComponent, [i1.ElementRef], { selectedItem: [0, \"selectedItem\"], items: [1, \"items\"], propName: [2, \"propName\"], propComparer: [3, \"propComparer\"] }, { selectedItemChange: \"selectedItemChange\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 2, 0, _co.currentType, true, true); _ck(_v, 1, 0, currVal_0); var currVal_1 = _co.selectedConvive; var currVal_2 = _co.conviveList; var currVal_3 = \"libelle\"; var currVal_4 = \"id\"; _ck(_v, 3, 0, currVal_1, currVal_2, currVal_3, currVal_4); }, null); }\nfunction View_OdgComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"div\", [[\"class\", \"convive-tab pointerHover\"]], [[2, \"selected\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.newConvive(_v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"div\", [[\"class\", \"circle\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"span\", [[\"class\", \"convive-libelle\"]], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.selectedConvive == _v.context.$implicit); _ck(_v, 0, 0, currVal_0); var currVal_1 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_1); }); }\nfunction View_OdgComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"option\", [], null, null, null, null, null)), i1.ɵdid(1, 147456, null, 0, i5.NgSelectOption, [i1.ElementRef, i1.Renderer2, [2, i5.SelectControlValueAccessor]], { ngValue: [0, \"ngValue\"] }, null), i1.ɵdid(2, 147456, null, 0, i5.ɵangular_packages_forms_forms_y, [i1.ElementRef, i1.Renderer2, [8, null]], { ngValue: [0, \"ngValue\"] }, null), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 1, 0, currVal_0); var currVal_1 = _v.context.$implicit; _ck(_v, 2, 0, currVal_1); }, function (_ck, _v) { var currVal_2 = _v.context.$implicit.libelle; _ck(_v, 3, 0, currVal_2); }); }\nfunction View_OdgComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement des donn\\u00E9es...\"]], null, null, null, i6.View_LoaderComponent_0, i6.RenderType_LoaderComponent)), i1.ɵdid(1, 114688, null, 0, i7.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement des donn\\u00E9es...\"; _ck(_v, 1, 0, currVal_0); }, null); }\nfunction View_OdgComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"no-content\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Aucune donn\\u00E9e...\"]))], null, null); }\nfunction View_OdgComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"info-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgComponent_6)), i1.ɵdid(2, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgComponent_7)), i1.ɵdid(4, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isLoading; _ck(_v, 2, 0, currVal_0); var currVal_1 = (!_co.isLoading && _co.isNoContent); _ck(_v, 4, 0, currVal_1); }, null); }\nfunction View_OdgComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"odg-prestation\", [], null, [[null, \"prestaToggle\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"prestaToggle\" === en)) {\n var pd_0 = (_co.onPrestaToggle($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i9.View_OdgPrestationComponent_0, i9.RenderType_OdgPrestationComponent)), i1.ɵdid(2, 114688, null, 0, i10.OdgPrestationComponent, [], { odgPresta: [0, \"odgPresta\"], currentType: [1, \"currentType\"] }, { prestaToggle: \"prestaToggle\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _v.context.$implicit; var currVal_1 = _co.currentType; _ck(_v, 2, 0, currVal_0, currVal_1); }, null); }\nfunction View_OdgComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 18, \"div\", [[\"class\", \"jour\"], [\"style\", \"width:100vw !important;\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 5, \"div\", [[\"class\", \"day-head\"]], null, null, null, null, null)), i1.ɵdid(2, 16384, null, 0, i11.RepasJourVignetteDirective, [i1.ElementRef, i1.Renderer2], { jourType: [0, \"jourType\"] }, null), i1.ɵdid(3, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(4, { \"type\": 0, \"isSecondary\": 1, \"background\": 2 }), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(6, null, [\"\", \"\"])), (_l()(), i1.ɵeld(7, 0, null, null, 11, \"div\", [[\"class\", \"prestations\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgComponent_10)), i1.ɵdid(9, 278528, null, 0, i8.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(10, 0, null, null, 8, \"div\", [[\"class\", \"observations\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Observations\"])), (_l()(), i1.ɵeld(13, 0, null, null, 5, \"textarea\", [[\"class\", \"simple-textarea\"], [\"placeholder\", \"Observations\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 14)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 14).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 14)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 14)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_v.context.$implicit.observations = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(14, 16384, null, 0, i5.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i5.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i5.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i5.DefaultValueAccessor]), i1.ɵdid(16, 671744, null, 0, i5.NgModel, [[8, null], [8, null], [8, null], [6, i5.NG_VALUE_ACCESSOR]], { isDisabled: [0, \"isDisabled\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i5.NgControl, null, [i5.NgModel]), i1.ɵdid(18, 16384, null, 0, i5.NgControlStatus, [[4, i5.NgControl]], null, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _v.context.$implicit.periode; _ck(_v, 2, 0, currVal_0); var currVal_1 = _ck(_v, 4, 0, _co.currentType, true, true); _ck(_v, 3, 0, currVal_1); var currVal_3 = _v.context.$implicit.odgPrestations; _ck(_v, 9, 0, currVal_3); var currVal_11 = !_v.context.$implicit.autoriserSaisie; var currVal_12 = _v.context.$implicit.observations; _ck(_v, 16, 0, currVal_11, currVal_12); }, function (_ck, _v) { var currVal_2 = ((((_v.context.$implicit.dayString + \" \") + _v.context.$implicit.day) + \" \") + _v.context.$implicit.monthShort); _ck(_v, 6, 0, currVal_2); var currVal_4 = i1.ɵnov(_v, 18).ngClassUntouched; var currVal_5 = i1.ɵnov(_v, 18).ngClassTouched; var currVal_6 = i1.ɵnov(_v, 18).ngClassPristine; var currVal_7 = i1.ɵnov(_v, 18).ngClassDirty; var currVal_8 = i1.ɵnov(_v, 18).ngClassValid; var currVal_9 = i1.ɵnov(_v, 18).ngClassInvalid; var currVal_10 = i1.ɵnov(_v, 18).ngClassPending; _ck(_v, 13, 0, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9, currVal_10); }); }\nfunction View_OdgComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, [[2, 0], [\"odgRepasContainer\", 1]], null, 9, \"div\", [[\"class\", \"repas-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 4, \"div\", [[\"class\", \"buttons-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 3, \"div\", [[\"class\", \"save-button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.validateOdg() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(3, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(4, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(5, 0, null, null, 0, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 3, \"div\", [[\"class\", \"jours-container\"]], [[4, \"width\", null]], [[\"window\", \"resize\"]], function (_v, en, $event) { var ad = true; if ((\"window:resize\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 7).onResize($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(7, 16384, null, 0, i12.TranslateSliderDirective, [i1.ElementRef, i1.Renderer2], { translateSlider: [0, \"translateSlider\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgComponent_9)), i1.ɵdid(9, 278528, null, 0, i8.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 4, 0, _co.currentType, true); _ck(_v, 3, 0, currVal_0); var currVal_2 = _co.selectedRange.validJours.indexOf(_co.selectedJour); _ck(_v, 7, 0, currVal_2); var currVal_3 = _co.odg.odgJours; _ck(_v, 9, 0, currVal_3); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = ((_co.selectedRange.validJours.length * 100) + \"vw\"); _ck(_v, 6, 0, currVal_1); }); }\nexport function View_OdgComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { dateSelector: 0 }), i1.ɵqud(671088640, 2, { odgRepasContainer: 0 }), (_l()(), i1.ɵeld(2, 0, null, null, 40, \"div\", [[\"class\", \"container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 6, \"div\", [[\"class\", \"mobile-header\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgComponent_1)), i1.ɵdid(5, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgComponent_2)), i1.ɵdid(7, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"app-date-selector\", [[\"id\", \"date-selector\"]], null, [[null, \"selectedJourChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"selectedJourChange\" === en)) {\n var pd_0 = ((_co.selectedJour = $event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i13.View_DateSelectorComponent_0, i13.RenderType_DateSelectorComponent)), i1.ɵdid(9, 49152, [[1, 4]], 0, i14.DateSelectorComponent, [i1.ElementRef], { isSwipeNextAllowed: [0, \"isSwipeNextAllowed\"], isSwipePrevAllowed: [1, \"isSwipePrevAllowed\"], dateRanges: [2, \"dateRanges\"], selectedRange: [3, \"selectedRange\"], selectedJour: [4, \"selectedJour\"], currentType: [5, \"currentType\"] }, { selectedJourChange: \"selectedJourChange\" }), (_l()(), i1.ɵeld(10, 0, null, null, 27, \"div\", [[\"class\", \"sm-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 2, \"div\", [[\"class\", \"convives-container\"]], [[4, \"background-image\", null]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgComponent_3)), i1.ɵdid(13, 278528, null, 0, i8.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(14, 0, null, null, 23, \"div\", [[\"class\", \"middle-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 22, \"div\", [[\"class\", \"actions-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(16, 0, null, null, 13, \"div\", [[\"class\", \"actions-left\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(17, 0, null, null, 12, \"div\", [[\"class\", \"range-selector\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(18, 0, null, null, 1, \"button\", [[\"class\", \"generic-button navWeek prevWeek pointerHover\"]], [[2, \"disabled\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.handleNavigation((0 - 1)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(19, 0, null, null, 0, \"div\", [[\"class\", \"arrow\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 7, \"select\", [], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 21).onChange($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 21).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = (_co.selectedRangeChanged($event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(21, 16384, null, 0, i5.SelectControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i5.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i5.SelectControlValueAccessor]), i1.ɵdid(23, 671744, null, 0, i5.NgModel, [[8, null], [8, null], [8, null], [6, i5.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i5.NgControl, null, [i5.NgModel]), i1.ɵdid(25, 16384, null, 0, i5.NgControlStatus, [[4, i5.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgComponent_4)), i1.ɵdid(27, 278528, null, 0, i8.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(28, 0, null, null, 1, \"button\", [[\"class\", \"generic-button navWeek nextWeek pointerHover\"]], [[2, \"disabled\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.handleNavigation((1 - 0)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(29, 0, null, null, 0, \"div\", [[\"class\", \"arrow\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(30, 0, null, null, 7, \"div\", [[\"class\", \"actions-right\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(31, 0, null, null, 6, \"div\", [[\"class\", \"right-buttons\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(32, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-button print-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.printFicheEval() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(33, null, [\"\", \"\"])), (_l()(), i1.ɵeld(34, 0, null, null, 3, \"button\", [[\"class\", \"generic-button validate-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.validateOdg() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(35, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(36, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵted(37, null, [\" \", \" \"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgComponent_5)), i1.ɵdid(39, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(40, 0, null, null, 2, \"div\", [[\"class\", \"main-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgComponent_8)), i1.ɵdid(42, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isRestaurantDisplay; _ck(_v, 5, 0, currVal_0); var currVal_1 = (_co.odg && _co.isConviveDisplay); _ck(_v, 7, 0, currVal_1); var currVal_2 = _co.isNextWeekAllowed; var currVal_3 = _co.isPrevWeekAllowed; var currVal_4 = _co.dateRanges; var currVal_5 = _co.selectedRange; var currVal_6 = _co.selectedJour; var currVal_7 = _co.currentType; _ck(_v, 9, 0, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); var currVal_9 = _co.conviveList; _ck(_v, 13, 0, currVal_9); var currVal_18 = _co.selectedRange; _ck(_v, 23, 0, currVal_18); var currVal_19 = _co.dateRanges; _ck(_v, 27, 0, currVal_19); var currVal_24 = _ck(_v, 36, 0, _co.currentType, true); _ck(_v, 35, 0, currVal_24); var currVal_26 = (_co.isLoading || _co.isNoContent); _ck(_v, 39, 0, currVal_26); var currVal_27 = ((!_co.isLoading && _co.selectedJour) && !_co.isNoContent); _ck(_v, 42, 0, currVal_27); }, function (_ck, _v) { var _co = _v.component; var currVal_8 = ((\"url(\" + _co.logoContratUrl) + \")\"); _ck(_v, 11, 0, currVal_8); var currVal_10 = !_co.isPrevWeekAllowed; _ck(_v, 18, 0, currVal_10); var currVal_11 = i1.ɵnov(_v, 25).ngClassUntouched; var currVal_12 = i1.ɵnov(_v, 25).ngClassTouched; var currVal_13 = i1.ɵnov(_v, 25).ngClassPristine; var currVal_14 = i1.ɵnov(_v, 25).ngClassDirty; var currVal_15 = i1.ɵnov(_v, 25).ngClassValid; var currVal_16 = i1.ɵnov(_v, 25).ngClassInvalid; var currVal_17 = i1.ɵnov(_v, 25).ngClassPending; _ck(_v, 20, 0, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15, currVal_16, currVal_17); var currVal_20 = !_co.isNextWeekAllowed; _ck(_v, 28, 0, currVal_20); var currVal_21 = _co.isFicheEvalDownloading; _ck(_v, 32, 0, currVal_21); var currVal_22 = (_co.isFicheEvalDownloading ? \"T\\u00E9l\\u00E9chargement...\" : \"Fiche Evaluation\"); _ck(_v, 33, 0, currVal_22); var currVal_23 = (_co.isLoading || _co.isNoContent); _ck(_v, 34, 0, currVal_23); var currVal_25 = (_co.isSendingOdg ? \"Validation...\" : \"Valider\"); _ck(_v, 37, 0, currVal_25); }); }\nexport function View_OdgComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-odg\", [], null, null, null, View_OdgComponent_0, RenderType_OdgComponent)), i1.ɵdid(1, 12828672, null, 0, i15.OdgComponent, [i16.ApplicationDataService, i17.InteractionService, i18.LogService, i19.LogoRouteService, i20.OdgService, i21.ReportingService, i1.Renderer2], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar OdgComponentNgFactory = i1.ɵccf(\"app-odg\", i15.OdgComponent, View_OdgComponent_Host_0, {}, {}, []);\nexport { OdgComponentNgFactory as OdgComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".day-selector-text[_ngcontent-%COMP%]{font-size:18px;font-weight:600;text-transform:uppercase}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:relative;height:calc(100% - 57px)}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .convives-container[_ngcontent-%COMP%]{overflow-x:auto;background:0 0/cover #e1e1e0;height:120px;display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .convives-container[_ngcontent-%COMP%] .convive-tab[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;background:#c7c7c7;white-space:nowrap;text-align:center;overflow:hidden;text-overflow:ellipsis;margin:0 6px 0 0;font-size:15px;min-width:200px;font-weight:600;text-transform:uppercase;padding:12px 22px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .convives-container[_ngcontent-%COMP%] .convive-tab.selected[_ngcontent-%COMP%]{background:#fff}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .convives-container[_ngcontent-%COMP%] .convive-tab[_ngcontent-%COMP%]:not(.selected) .convive-libelle[_ngcontent-%COMP%]{opacity:.7}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .convives-container[_ngcontent-%COMP%] .convive-tab[_ngcontent-%COMP%]:first-child{margin-left:24px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%]{margin:16px 0;font-family:josefin}@media only screen and (min-width:1280px){[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .actions-left[_ngcontent-%COMP%]{margin:0}}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-size:14px;vertical-align:top;margin:0 3px;text-transform:uppercase;padding:6px 34px 6px 10px;font-weight:600;border:1px solid #c1c1c1;background:url(/assets/images/dropdown-arrow.png) right 7px center/9px no-repeat}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .actions-left[_ngcontent-%COMP%]{-ms-flex-negative:0;flex-shrink:0}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .actions-right[_ngcontent-%COMP%]{-ms-flex-pack:justify;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .range-selector[_ngcontent-%COMP%]{display:inline-block}@media only screen and (min-width:1280px){[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .actions-right[_ngcontent-%COMP%]{-ms-flex-positive:1;flex-grow:1}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .range-selector[_ngcontent-%COMP%]{margin:10px 0 0;display:block}}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek[_ngcontent-%COMP%]{background:0 0;border:1px solid #c1c1c1;vertical-align:top}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek[_ngcontent-%COMP%]:before{content:none}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.35}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek.prevWeek[_ngcontent-%COMP%]{margin-right:5px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek.prevWeek[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{margin:4px 2px 4px 6px;border-top:1px solid #000;border-right:1px solid #000;width:8px;height:8px;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-ms-transform:rotate(-135deg);transform:rotate(-135deg)}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek.nextWeek[_ngcontent-%COMP%]{margin-left:5px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .navWeek.nextWeek[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{margin:4px 6px 4px 2px;border-top:1px solid #000;border-right:1px solid #000;width:8px;height:8px;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-ms-transform:rotate(45deg);transform:rotate(45deg)}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .action-infos[_ngcontent-%COMP%]{-ms-flex:1 1 0%;flex:1 1 0%;padding:0 10px 0 0;-ms-flex-item-align:center;align-self:center}@media only screen and (min-width:1280px){[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .action-infos[_ngcontent-%COMP%]{-ms-flex-item-align:start;align-self:flex-start;text-align:center;padding:0 10px}}@media only screen and (min-width:1500px){[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .range-selector[_ngcontent-%COMP%]{margin:0;display:inline-block}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .action-infos[_ngcontent-%COMP%]{-ms-flex-item-align:center;align-self:center}}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .right-buttons[_ngcontent-%COMP%]{-ms-flex-negative:0;flex-shrink:0;text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .right-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{font-size:14px;height:35px;vertical-align:top;margin-left:5px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%]{overflow-x:auto}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%]{height:100%;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%]{position:fixed;bottom:10px;left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%);z-index:10}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .button-base[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{float:left;position:relative;width:60px;height:60px;border-radius:35px;box-shadow:2px 2px 4px #5d5d5d}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{position:absolute;border-bottom:5px solid #fff;border-right:5px solid #fff;width:14px;height:29px;top:50%;left:50%;-ms-transform:translateX(-50%) translateY(-60%) rotate(45deg);transform:translateX(-50%) translateY(-60%) rotate(45deg)}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]:hover{background-color:#444}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]:disabled{opacity:.8;cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%]{transition:.7s cubic-bezier(.4,0,.2,1);height:auto}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container.has-repas-infos[_ngcontent-%COMP%]{top:0;bottom:0}@media only screen and (min-width:768px){[_nghost-%COMP%] .container[_ngcontent-%COMP%]{height:auto}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .mobile-header[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .convives-container[_ngcontent-%COMP%]{padding-left:20px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%]{padding-left:20px;padding-right:20px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%]{min-width:1223px;overflow-x:visible;padding-bottom:20px;padding-left:20px;padding-right:20px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%]{width:100%!important;position:static;display:-ms-flexbox;display:flex}}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow-y:hidden;position:relative;width:100vw;float:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .day-head[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .day-head[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin:0 12px;line-height:38px;font-size:15px;font-family:robotoslab;text-transform:uppercase;color:#000;display:block}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .day-head[_ngcontent-%COMP%] .invalid[_ngcontent-%COMP%]{margin-bottom:2px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .day-head[_ngcontent-%COMP%] img.has-piquenique[_ngcontent-%COMP%]{width:22px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .prestations[_ngcontent-%COMP%]{max-width:100%;width:100vw}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .mobile-repas-infos[_ngcontent-%COMP%]{margin:10px 10px 80px;float:left;text-align:center}[_nghost-%COMP%] .day-head[_ngcontent-%COMP%]{border-top:1px solid #ccc}[_nghost-%COMP%] .repas-container[_ngcontent-%COMP%]{background-color:#e2e2e2}@media only screen and (min-width:768px){[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%]{-ms-flex:1 1 0%;flex:1 1 0%;height:100%;margin:0 5px 0 0;width:initial;float:none}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%]:last-child{margin-right:0}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .day-head[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;height:38px;margin-bottom:10px;text-align:center;border-left:1px solid #ccc;border-bottom:1px solid #ccc;border-right:1px solid #ccc}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .repas-container[_ngcontent-%COMP%] .jours-container[_ngcontent-%COMP%] .jour[_ngcontent-%COMP%] .prestations[_ngcontent-%COMP%]{width:auto;border:1px solid #ccc}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .mobile-repas-infos[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .repas-container[_ngcontent-%COMP%]{background-color:initial}}[_nghost-%COMP%] .repas-container[_ngcontent-%COMP%] .observations[_ngcontent-%COMP%]{margin:12px;box-sizing:border-box}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .actions-left[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .sm-header[_ngcontent-%COMP%] .middle-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .actions-right[_ngcontent-%COMP%]{display:block;-ms-flex:1 1 0%;flex:1 1 0%}\"];\nexport { styles as styles };\n","\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t
\n\t\t\n\n\t\t\n\t\t\n\t
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t{{convive.libelle}}\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n \n\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t\n\t\t
Aucune donnée...
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{{jour.dayString + ' ' +jour.day+' ' +jour.monthShort}}\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tObservations\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./odg-export-fiches-evalutations.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"./odg-export-fiches-evalutations.component\";\nvar styles_OdgExportFichesEvalutationsComponent = [i0.styles];\nvar RenderType_OdgExportFichesEvalutationsComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_OdgExportFichesEvalutationsComponent, data: {} });\nexport { RenderType_OdgExportFichesEvalutationsComponent as RenderType_OdgExportFichesEvalutationsComponent };\nfunction View_OdgExportFichesEvalutationsComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"input\", [[\"name\", \"conviveFilter\"], [\"type\", \"radio\"]], [[8, \"checked\", 0]], [[null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (_co.selectConviveId(($event.target.checked && _co.model.conviveId)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"span\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(4, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.model.selectedConviveId === _co.model.conviveId); _ck(_v, 1, 0, currVal_0); var currVal_1 = _co.model.conviveLabel; _ck(_v, 4, 0, currVal_1); }); }\nfunction View_OdgExportFichesEvalutationsComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"input\", [[\"name\", \"prestationFilter\"], [\"type\", \"radio\"]], [[8, \"checked\", 0]], [[null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (_co.selectPrestationId(_co.model.prestationId) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"span\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(4, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.model.selectedPrestationId === _co.model.prestationId); _ck(_v, 1, 0, currVal_0); var currVal_1 = _co.model.prestationLabel; _ck(_v, 4, 0, currVal_1); }); }\nexport function View_OdgExportFichesEvalutationsComponent_0(_l) { return i1.ɵvid(2, [(_l()(), i1.ɵeld(0, 0, null, null, 71, \"form\", [[\"novalidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 2).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 2).onReset() !== false);\n ad = (pd_1 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i2.ɵangular_packages_forms_forms_z, [], null, null), i1.ɵdid(2, 4210688, null, 0, i2.NgForm, [[8, null], [8, null]], null, null), i1.ɵprd(2048, null, i2.ControlContainer, null, [i2.NgForm]), i1.ɵdid(4, 16384, null, 0, i2.NgControlStatusGroup, [[4, i2.ControlContainer]], null, null), (_l()(), i1.ɵeld(5, 0, null, null, 58, \"table\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 7, \"tr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 2, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"P\\u00E9riode\"])), (_l()(), i1.ɵeld(10, 0, null, null, 3, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 2, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(13, null, [\"\", \"\"])), (_l()(), i1.ɵeld(14, 0, null, null, 7, \"tr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 2, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(16, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Contrat\"])), (_l()(), i1.ɵeld(18, 0, null, null, 3, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(19, 0, null, null, 2, \"div\", [[\"class\", \"input-group\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(21, null, [\"\", \"\"])), (_l()(), i1.ɵeld(22, 0, null, null, 15, \"tr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(23, 0, null, null, 2, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(24, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Restaurant\"])), (_l()(), i1.ɵeld(26, 0, null, null, 11, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(27, 0, null, null, 10, \"div\", [[\"class\", \"input-group flex-end\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(28, 0, null, null, 4, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(29, 0, null, null, 0, \"input\", [[\"name\", \"restaurantFilter\"], [\"type\", \"radio\"]], [[8, \"checked\", 0]], [[null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (_co.selectRestaurantId(($event.target.checked && _co.model.restaurantId)) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(30, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(31, 0, null, null, 1, \"span\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(32, null, [\"\", \"\"])), (_l()(), i1.ɵeld(33, 0, null, null, 4, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(34, 0, null, null, 0, \"input\", [[\"name\", \"restaurantFilter\"], [\"type\", \"radio\"]], null, [[null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (_co.selectRestaurantId(null) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(35, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(36, 0, null, null, 1, \"span\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Tous\"])), (_l()(), i1.ɵeld(38, 0, null, null, 12, \"tr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(39, 0, null, null, 2, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(40, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Convive\"])), (_l()(), i1.ɵeld(42, 0, null, null, 8, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(43, 0, null, null, 7, \"div\", [[\"class\", \"input-group flex-end\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgExportFichesEvalutationsComponent_1)), i1.ɵdid(45, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(46, 0, null, null, 4, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(47, 0, null, null, 0, \"input\", [[\"name\", \"conviveFilter\"], [\"type\", \"radio\"]], [[8, \"checked\", 0]], [[null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (_co.selectConviveId(null) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(48, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(49, 0, null, null, 1, \"span\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Tous\"])), (_l()(), i1.ɵeld(51, 0, null, null, 12, \"tr\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(52, 0, null, null, 2, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(53, 0, null, null, 1, \"h3\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Prestation\"])), (_l()(), i1.ɵeld(55, 0, null, null, 8, \"td\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(56, 0, null, null, 7, \"div\", [[\"class\", \"input-group flex-end\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_OdgExportFichesEvalutationsComponent_2)), i1.ɵdid(58, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(59, 0, null, null, 4, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(60, 0, null, null, 0, \"input\", [[\"name\", \"prestationFilter\"], [\"type\", \"radio\"]], [[8, \"checked\", 0]], [[null, \"change\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (_co.selectPrestationId(null) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(61, 0, null, null, 0, \"span\", [[\"class\", \"custom-radio\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(62, 0, null, null, 1, \"span\", [[\"class\", \"input-group-label\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Toutes\"])), (_l()(), i1.ɵeld(64, 0, null, null, 7, \"div\", [[\"class\", \"btn-row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(65, 0, null, null, 4, \"button\", [[\"class\", \"generic-button cancel-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.close() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(66, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"cancel\"])), (_l()(), i1.ɵeld(68, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Annuler\"])), (_l()(), i1.ɵeld(70, 0, null, null, 1, \"button\", [[\"class\", \"generic-button restaurant-type-background print-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.export() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Exporter\"]))], function (_ck, _v) { var _co = _v.component; var currVal_11 = (_co.model.conviveId != null); _ck(_v, 45, 0, currVal_11); var currVal_13 = (_co.model.prestationId != null); _ck(_v, 58, 0, currVal_13); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 4).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 4).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 4).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 4).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 4).ngClassValid; var currVal_5 = i1.ɵnov(_v, 4).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 4).ngClassPending; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_7 = _co.model.periodeLabel; _ck(_v, 13, 0, currVal_7); var currVal_8 = _co.model.contratLabel; _ck(_v, 21, 0, currVal_8); var currVal_9 = (_co.model.selectedRestaurantId === _co.model.restaurantId); _ck(_v, 29, 0, currVal_9); var currVal_10 = _co.model.restaurantLabel; _ck(_v, 32, 0, currVal_10); var currVal_12 = (_co.model.conviveId === null); _ck(_v, 47, 0, currVal_12); var currVal_14 = (_co.model.selectedPrestationId === null); _ck(_v, 60, 0, currVal_14); var currVal_15 = _co.isSending; _ck(_v, 65, 0, currVal_15); var currVal_16 = _co.isSending; _ck(_v, 70, 0, currVal_16); }); }\nexport function View_OdgExportFichesEvalutationsComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-odg-export-fiches-evalutations\", [], null, null, null, View_OdgExportFichesEvalutationsComponent_0, RenderType_OdgExportFichesEvalutationsComponent)), i1.ɵdid(1, 245760, null, 0, i4.OdgExportFichesEvalutationsComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar OdgExportFichesEvalutationsComponentNgFactory = i1.ɵccf(\"app-odg-export-fiches-evalutations\", i4.OdgExportFichesEvalutationsComponent, View_OdgExportFichesEvalutationsComponent_Host_0, {}, {}, []);\nexport { OdgExportFichesEvalutationsComponentNgFactory as OdgExportFichesEvalutationsComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .input-group[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-bottom:1em}[_nghost-%COMP%] .input-group[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0}[_nghost-%COMP%] .flex-end[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end}[_nghost-%COMP%] .input-group-label[_ngcontent-%COMP%]{margin-right:20px;margin-top:0}[_nghost-%COMP%] .btn-row[_ngcontent-%COMP%]{margin-top:8px;display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end}[_nghost-%COMP%] .btn-row[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{margin-right:6px}[_nghost-%COMP%] .print-button[_ngcontent-%COMP%]:before{-webkit-filter:invert(1);filter:invert(1)}\"];\nexport { styles as styles };\n","
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

Période

\n
\n
\n {{ this.model.periodeLabel }}\n
\n
\n

Contrat

\n
\n
\n {{ this.model.contratLabel }}\n
\n
\n

Restaurant

\n
\n
\n \n \n
\n
\n

Convive

\n
\n
\n \n \n
\n
\n

Prestation

\n
\n
\n \n \n
\n
\n\n
\n \n \n
\n
\n","export enum DocumentationTypeEnum {\r\n Document,\r\n Url,\r\n HtmlContent\r\n}\r\n\r\nexport interface DocumentModel {\r\n documentationId: number;\r\n nom: string;\r\n description: string;\r\n fileName: string;\r\n createdAt: Date;\r\n createdAtString: string;\r\n\r\n isDownloading: boolean;\r\n type: DocumentationTypeEnum;\r\n}\r\n\r\n","\r\nimport { Component, OnInit, Sanitizer } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { of as observableOf, Subscription } from 'rxjs';\r\nimport { concatMap, delay, finalize, first } from 'rxjs/operators';\r\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\nimport { FileHelper } from '../shared/helpers/file.helper';\r\nimport { NotificationModel } from '../shared/models/notification.model';\r\nimport { LogoRouteService } from '../shared/services/api/logo/logo-route.service';\r\nimport { ApplicationDataService } from '../shared/services/application-data.service';\r\nimport { InteractionService } from '../shared/services/interaction.service';\r\nimport { DocumentationTypeEnum, DocumentModel } from './models/documentheque.model';\r\nimport { DocumenthequeService } from './services/documentheque.service';\r\n\r\n@Component({\r\n selector: 'app-documentheque',\r\n templateUrl: './documentheque.component.html',\r\n styleUrls: ['./documentheque.component.scss']\r\n})\r\nexport class DocumenthequeComponent implements OnInit {\r\n private contratSubscription: Subscription;\r\n private restaurantSubscription: Subscription;\r\n\r\n private _cuisineCentraleId: number;\r\n private _contratId: number;\r\n public logoContratUrl: string = '';\r\n\r\n public searchText: string;\r\n private searchWords: string[];\r\n public documents: DocumentModel[];\r\n public displayedDocuments: DocumentModel[];\r\n\r\n /** Pagination */\r\n private _page: number;\r\n\r\n get page(): number {\r\n return this._page;\r\n }\r\n set page(value: number) {\r\n if (value > 0 && value <= this.totalPages) {\r\n this._page = value;\r\n }\r\n }\r\n\r\n private documentsPerPage: number = 10;\r\n public pages: number[];\r\n public totalPages: number;\r\n\r\n public currentType: RestaurantTypeEnum;\r\n public isLoadingDocuments: boolean;\r\n\r\n constructor(\r\n private router: Router,\r\n private appDataService: ApplicationDataService,\r\n private documenthequeService: DocumenthequeService,\r\n private logoService: LogoRouteService,\r\n private interactionService: InteractionService,\r\n private sanitizer: Sanitizer,\r\n private domSanitizer: DomSanitizer\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.contratSubscription = this.appDataService.contrat$.subscribe(contrat => {\r\n if (contrat) {\r\n this._cuisineCentraleId = contrat.cuisineCentraleId;\r\n this._contratId = contrat.id;\r\n this.logoContratUrl = this.logoService.GetPicture2Url(contrat.id, contrat.cuisineCentraleId);\r\n this.getDocuments();\r\n }\r\n });\r\n\r\n this.restaurantSubscription = this.appDataService.restaurant$.subscribe(rest => {\r\n if (rest != null) {\r\n this.currentType = rest.type;\r\n }\r\n });\r\n\r\n this.appDataService.changePageTitle('Documenthèque');\r\n\r\n this._page = 1;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.contratSubscription.unsubscribe();\r\n this.restaurantSubscription.unsubscribe();\r\n }\r\n\r\n public searchDocuments(e: any) {\r\n e.preventDefault();\r\n if (this.searchText != null && this.searchText != '') {\r\n this.searchWords = this.searchText.split(' ');\r\n } else {\r\n this.searchWords = null;\r\n }\r\n\r\n this.getDocuments();\r\n }\r\n\r\n getDocuments() {\r\n this.isLoadingDocuments = true;\r\n this.documenthequeService\r\n .getDocuments(this._cuisineCentraleId, this._contratId, this.searchWords).pipe(\r\n // On attend au minimum 1 seconde pour éviter le clignotement\r\n concatMap(\r\n () => {\r\n return observableOf(true).pipe(delay(1000));\r\n },\r\n a => {\r\n return a;\r\n }\r\n ),\r\n first(),\r\n finalize(() => {\r\n this.isLoadingDocuments = false;\r\n }))\r\n .subscribe(\r\n documents => {\r\n this.handleNewDocuments(documents);\r\n },\r\n err => {\r\n this.interactionService.showSimpleMessage('Erreur', 'Une erreur est survenue lors de la récupération de la liste des documents.');\r\n this.handleNewDocuments([]);\r\n }\r\n );\r\n }\r\n\r\n private handleNewDocuments(docs: DocumentModel[]) {\r\n this.documents = docs;\r\n //sort by date descending\r\n this.documents.sort((a, b) => (+b.createdAt - +a.createdAt));// convert date object into number to resolve issue in typescript\r\n this.totalPages = Math.ceil(this.documents.length / this.documentsPerPage);\r\n this.pages = new Array();\r\n for (let i = 2; i <= this.totalPages - 1; i++) {\r\n this.pages.push(i);\r\n }\r\n\r\n this.refreshDisplayedDocuments();\r\n }\r\n\r\n public getDocument(document: DocumentModel) {\r\n if (document.type == DocumentationTypeEnum.Url) {\r\n // HACK dans le cas des lien web, on utilise directement le filename ou lien de charger le content car le traitement asynchrone du chargement\r\n // fait basculer l'ouverture de la page en type popup via script (avec risque de blocage) plutot qu'en type ouverture d'un lien (pas de risue de blocage)\r\n\r\n window.open(document.fileName, '_blank', 'location=yes');\r\n return;\r\n }\r\n\r\n if (document.isDownloading) {\r\n return;\r\n }\r\n\r\n document.isDownloading = true;\r\n this.documenthequeService\r\n .getDocument(document.documentationId).pipe(\r\n first(),\r\n finalize(() => {\r\n document.isDownloading = false;\r\n }))\r\n .subscribe(\r\n fileresult => {\r\n if (document.type == DocumentationTypeEnum.HtmlContent) {\r\n // lecture du contenu pour injection dans une popup\r\n\r\n // extract blob Content\r\n const reader: FileReader = new FileReader();\r\n reader.onloadend = e => {\r\n // Html popup\r\n const notif = new NotificationModel();\r\n notif.message = this.domSanitizer.bypassSecurityTrustHtml(reader.result as string);\r\n this.interactionService.showNotification(notif);\r\n };\r\n reader.onerror = e => {\r\n this.interactionService.showSimpleMessage('Erreur', 'Une erreur est survenue lors de l\\'extraction du document. : ' + JSON.stringify(reader.error));\r\n };\r\n reader.readAsText(fileresult.file, 'ISO-8859-1');\r\n } else {\r\n // document.type == DocumentationTypeEnum.Document\r\n // enregistrement du fichier\r\n FileHelper.saveFile(fileresult);\r\n }\r\n },\r\n err => {\r\n this.interactionService.showSimpleMessage('Erreur', 'Une erreur est survenue lors de l\\'extraction du document.');\r\n }\r\n );\r\n }\r\n\r\n public prev() {\r\n this.page--;\r\n this.refreshDisplayedDocuments();\r\n }\r\n\r\n public next() {\r\n this.page++;\r\n this.refreshDisplayedDocuments();\r\n }\r\n\r\n public changePage(page: number) {\r\n this.page = page;\r\n this.refreshDisplayedDocuments();\r\n }\r\n\r\n public isPageDisplayed(page: number): boolean {\r\n if (this.page == 1) {\r\n return page <= this.page + 2 && page >= this.page - 1;\r\n } else if (this.page == this.totalPages) {\r\n return page <= this.page + 1 && page >= this.page - 2;\r\n } else {\r\n return page <= this.page + 1 && page >= this.page - 1;\r\n }\r\n }\r\n\r\n refreshDisplayedDocuments() {\r\n const start = (this.page - 1) * this.documentsPerPage;\r\n const end = this.page * this.documentsPerPage;\r\n\r\n if (this.documents) {\r\n this.displayedDocuments = this.documents.slice(start, end);\r\n }\r\n }\r\n}\r\n","import { DocumentModel, DocumentationTypeEnum } from './models/documentheque.model';\r\nimport { DocumenthequeApiResponse } from './models/api/documentheque.apiresponse';\r\n\r\nconst documentDateOptions: Intl.DateTimeFormatOptions = {\r\n year: \"numeric\",\r\n month: \"numeric\",\r\n day: \"numeric\",\r\n};\r\n\r\nexport class DocumenthequeProjector {\r\n\r\n public static projectDocuments(documentsResponse: DocumenthequeApiResponse.Documentation[]): DocumentModel[] {\r\n return documentsResponse.map(documentResp => {\r\n\r\n const createdAt = new Date(documentResp.createdAt);\r\n let document: DocumentModel = {\r\n nom: documentResp.nom,\r\n fileName: documentResp.fileName != null ? documentResp.fileName : documentResp.nom + documentResp.extension,\r\n description: documentResp.description,\r\n documentationId: documentResp.documentationId,\r\n createdAt: createdAt,\r\n createdAtString: createdAt.toLocaleDateString(undefined, documentDateOptions),\r\n isDownloading: false,\r\n type: this.projectDocumentType(documentResp.type)\r\n };\r\n\r\n return document;\r\n });\r\n }\r\n\r\n private static projectDocumentType(docType: string): DocumentationTypeEnum {\r\n return DocumentationTypeEnum[docType];\r\n }\r\n\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { FileResultModel } from '../../shared/models/fileresult.model';\r\nimport { DocumenthequeProjector } from '../documentheque.projector';\r\nimport { DocumentModel } from '../models/documentheque.model';\r\nimport { DocumenthequeApiService } from './api/documentheque.apiservice';\r\n\r\n@Injectable()\r\nexport class DocumenthequeService {\r\n constructor(private docApiService: DocumenthequeApiService) { }\r\n\r\n public getDocuments(cuisineCentraleId: number, contratId: number, searchWords: string[]): Observable {\r\n return this.docApiService.getDocuments(cuisineCentraleId, contratId, searchWords).pipe(map(res => {\r\n return DocumenthequeProjector.projectDocuments(res);\r\n }));\r\n }\r\n\r\n public getDocument(id: number): Observable {\r\n return this.docApiService.getDocument(id);\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./documentheque.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../loader/loader.component.ngfactory\";\nimport * as i3 from \"../loader/loader.component\";\nimport * as i4 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i5 from \"@angular/common\";\nimport * as i6 from \"@angular/forms\";\nimport * as i7 from \"./documentheque.component\";\nimport * as i8 from \"@angular/router\";\nimport * as i9 from \"../shared/services/application-data.service\";\nimport * as i10 from \"./services/documentheque.service\";\nimport * as i11 from \"../shared/services/api/logo/logo-route.service\";\nimport * as i12 from \"../shared/services/interaction.service\";\nimport * as i13 from \"@angular/platform-browser\";\nvar styles_DocumenthequeComponent = [i0.styles];\nvar RenderType_DocumenthequeComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_DocumenthequeComponent, data: {} });\nexport { RenderType_DocumenthequeComponent as RenderType_DocumenthequeComponent };\nfunction View_DocumenthequeComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"info-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-loader\", [[\"message\", \"Chargement des documents...\"]], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(2, 114688, null, 0, i3.LoaderComponent, [], { message: [0, \"message\"] }, null)], function (_ck, _v) { var currVal_0 = \"Chargement des documents...\"; _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_DocumenthequeComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"table-row\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Aucun document trouv\\u00E9 \"]))], null, null); }\nfunction View_DocumenthequeComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, \"div\", [[\"class\", \"table-row table-body\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.getDocument(_v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i4.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"isSecondary\": 1, \"background\": 2, \"hover\": 3 }), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"div\", [[\"class\", \"document-icon\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 0, \"img\", [[\"src\", \"/assets/images/files/file-outline.png\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 7, \"div\", [[\"class\", \"document text\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 4, \"div\", [[\"class\", \"document-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"div\", [[\"class\", \"document-name\"]], null, null, null, null, null)), (_l()(), i1.ɵted(8, null, [\"\", \"\"])), (_l()(), i1.ɵeld(9, 0, null, null, 1, \"div\", [[\"class\", \"document-date\"]], null, null, null, null, null)), (_l()(), i1.ɵted(10, null, [\"\", \"\"])), (_l()(), i1.ɵeld(11, 0, null, null, 1, \"div\", [[\"class\", \"document-description\"]], null, null, null, null, null)), (_l()(), i1.ɵted(12, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 2, 0, _co.currentType, true, true, true); _ck(_v, 1, 0, currVal_0); }, function (_ck, _v) { var currVal_1 = _v.context.$implicit.nom; _ck(_v, 8, 0, currVal_1); var currVal_2 = _v.context.$implicit.createdAtString; _ck(_v, 10, 0, currVal_2); var currVal_3 = (_v.context.$implicit.isDownloading ? \"T\\u00E9l\\u00E9chargement...\" : _v.context.$implicit.description); _ck(_v, 12, 0, currVal_3); }); }\nfunction View_DocumenthequeComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, \"div\", [[\"class\", \"container-fluid\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \"div\", [[\"class\", \"table-row table-header\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"div\", [[\"class\", \"text\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Documents\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DocumenthequeComponent_3)), i1.ɵdid(5, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DocumenthequeComponent_4)), i1.ɵdid(7, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (!_co.documents || (_co.documents.length == 0)); _ck(_v, 5, 0, currVal_0); var currVal_1 = _co.displayedDocuments; _ck(_v, 7, 0, currVal_1); }, null); }\nfunction View_DocumenthequeComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"...\"]))], null, null); }\nfunction View_DocumenthequeComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"button\", [[\"class\", \"generic-button page-button\"]], [[2, \"hidden\", null], [2, \"selected-page-button\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.changePage(_v.context.$implicit) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i4.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵted(3, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_2 = _ck(_v, 2, 0, _co.currentType, (_co.page == _v.context.$implicit)); _ck(_v, 1, 0, currVal_2); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = !_co.isPageDisplayed(_v.context.$implicit); var currVal_1 = (_v.context.$implicit == _co.page); _ck(_v, 0, 0, currVal_0, currVal_1); var currVal_3 = _v.context.$implicit; _ck(_v, 3, 0, currVal_3); }); }\nfunction View_DocumenthequeComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"...\"]))], null, null); }\nfunction View_DocumenthequeComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 16, \"div\", [[\"class\", \"pagination\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"button\", [[\"class\", \"generic-button prev-button\"]], [[2, \"hidden\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.prev() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 3, \"button\", [[\"class\", \"generic-button page-button\"]], [[2, \"selected-page-button\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.changePage(1) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(3, 16384, null, 0, i4.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(4, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵted(-1, null, [\"1\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DocumenthequeComponent_6)), i1.ɵdid(7, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DocumenthequeComponent_7)), i1.ɵdid(9, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DocumenthequeComponent_8)), i1.ɵdid(11, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(12, 0, null, null, 3, \"button\", [[\"class\", \"generic-button page-button\"]], [[2, \"hidden\", null], [2, \"selected-page-button\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.changePage(_co.totalPages) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(13, 16384, null, 0, i4.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(14, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵted(15, null, [\"\", \"\"])), (_l()(), i1.ɵeld(16, 0, null, null, 0, \"button\", [[\"class\", \"generic-button next-button\"]], [[2, \"hidden\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.next() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_2 = _ck(_v, 4, 0, _co.currentType, (_co.page == 1)); _ck(_v, 3, 0, currVal_2); var currVal_3 = (_co.page > 3); _ck(_v, 7, 0, currVal_3); var currVal_4 = _co.pages; _ck(_v, 9, 0, currVal_4); var currVal_5 = (_co.page < (_co.totalPages - 2)); _ck(_v, 11, 0, currVal_5); var currVal_8 = _ck(_v, 14, 0, _co.currentType, (_co.page == _co.totalPages)); _ck(_v, 13, 0, currVal_8); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.page == 1); _ck(_v, 1, 0, currVal_0); var currVal_1 = (_co.page == 1); _ck(_v, 2, 0, currVal_1); var currVal_6 = (_co.totalPages == 1); var currVal_7 = (_co.page == _co.totalPages); _ck(_v, 12, 0, currVal_6, currVal_7); var currVal_9 = _co.totalPages; _ck(_v, 15, 0, currVal_9); var currVal_10 = (_co.page == _co.totalPages); _ck(_v, 16, 0, currVal_10); }); }\nexport function View_DocumenthequeComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 32, \"div\", [[\"class\", \"main-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"div\", [[\"class\", \"ribbon\"]], [[4, \"background-image\", null]], null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 30, \"div\", [[\"class\", \"page-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Documenth\\u00E8que\"])), (_l()(), i1.ɵeld(5, 0, null, null, 17, \"div\", [[\"class\", \"left-side\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"span\", [[\"class\", \"title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Recherche\"])), (_l()(), i1.ɵeld(8, 0, null, null, 14, \"form\", [[\"class\", \"content-container search-form\"], [\"novalidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 10).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 10).onReset() !== false);\n ad = (pd_1 && ad);\n } if ((\"submit\" === en)) {\n var pd_2 = (_co.searchDocuments($event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(9, 16384, null, 0, i6.ɵangular_packages_forms_forms_z, [], null, null), i1.ɵdid(10, 4210688, null, 0, i6.NgForm, [[8, null], [8, null]], null, null), i1.ɵprd(2048, null, i6.ControlContainer, null, [i6.NgForm]), i1.ɵdid(12, 16384, null, 0, i6.NgControlStatusGroup, [[4, i6.ControlContainer]], null, null), (_l()(), i1.ɵeld(13, 0, null, null, 6, \"div\", [[\"class\", \"sub-container text-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(14, 0, null, null, 5, \"input\", [[\"id\", \"search-text\"], [\"name\", \"search-text\"], [\"placeholder\", \"Rechercher\"], [\"type\", \"text\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 15)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 15).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 15)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 15)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.searchText = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(15, 16384, null, 0, i6.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i6.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i6.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i6.DefaultValueAccessor]), i1.ɵdid(17, 671744, null, 0, i6.NgModel, [[2, i6.ControlContainer], [8, null], [8, null], [6, i6.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i6.NgControl, null, [i6.NgModel]), i1.ɵdid(19, 16384, null, 0, i6.NgControlStatus, [[4, i6.NgControl]], null, null), (_l()(), i1.ɵeld(20, 0, null, null, 2, \"div\", [[\"class\", \"sub-container buttons-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(21, 0, null, null, 1, \"button\", [[\"class\", \"generic-button gray-tile-button search-button\"], [\"type\", \"submit\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Rechercher\"])), (_l()(), i1.ɵeld(23, 0, null, null, 9, \"div\", [[\"class\", \"results-container right-side\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(24, 0, null, null, 1, \"span\", [[\"class\", \"title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Derniers documents\"])), (_l()(), i1.ɵeld(26, 0, null, null, 6, \"div\", [[\"class\", \"results-list content-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DocumenthequeComponent_1)), i1.ɵdid(28, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DocumenthequeComponent_2)), i1.ɵdid(30, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DocumenthequeComponent_5)), i1.ɵdid(32, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_15 = \"search-text\"; var currVal_16 = _co.searchText; _ck(_v, 17, 0, currVal_15, currVal_16); var currVal_17 = _co.isLoadingDocuments; _ck(_v, 28, 0, currVal_17); var currVal_18 = !_co.isLoadingDocuments; _ck(_v, 30, 0, currVal_18); var currVal_19 = (((!_co.isLoadingDocuments && _co.documents) && (_co.documents.length > 0)) && (_co.totalPages > 1)); _ck(_v, 32, 0, currVal_19); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((\"url(\" + _co.logoContratUrl) + \")\"); _ck(_v, 1, 0, currVal_0); var currVal_1 = i1.ɵnov(_v, 12).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 12).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 12).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 12).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 12).ngClassValid; var currVal_6 = i1.ɵnov(_v, 12).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 12).ngClassPending; _ck(_v, 8, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); var currVal_8 = i1.ɵnov(_v, 19).ngClassUntouched; var currVal_9 = i1.ɵnov(_v, 19).ngClassTouched; var currVal_10 = i1.ɵnov(_v, 19).ngClassPristine; var currVal_11 = i1.ɵnov(_v, 19).ngClassDirty; var currVal_12 = i1.ɵnov(_v, 19).ngClassValid; var currVal_13 = i1.ɵnov(_v, 19).ngClassInvalid; var currVal_14 = i1.ɵnov(_v, 19).ngClassPending; _ck(_v, 14, 0, currVal_8, currVal_9, currVal_10, currVal_11, currVal_12, currVal_13, currVal_14); }); }\nexport function View_DocumenthequeComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-documentheque\", [], null, null, null, View_DocumenthequeComponent_0, RenderType_DocumenthequeComponent)), i1.ɵdid(1, 245760, null, 0, i7.DocumenthequeComponent, [i8.Router, i9.ApplicationDataService, i10.DocumenthequeService, i11.LogoRouteService, i12.InteractionService, i1.Sanitizer, i13.DomSanitizer], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar DocumenthequeComponentNgFactory = i1.ɵccf(\"app-documentheque\", i7.DocumenthequeComponent, View_DocumenthequeComponent_Host_0, {}, {}, []);\nexport { DocumenthequeComponentNgFactory as DocumenthequeComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".main-container[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-size:18px}.main-container[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] .sub-container[_ngcontent-%COMP%]{margin-top:10px;height:40px;margin-bottom:20px;width:100%}.main-container[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%]{background:url(/assets/images/loupe.png) calc(100% - 10px) 50% no-repeat #fff;box-sizing:border-box;border:1px solid gray;font-size:18px;padding:8px 10px;width:100%}.results-container[_ngcontent-%COMP%]{background-color:#fff}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%]{min-height:400px;text-align:left;padding-bottom:20px}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .container-fluid[_ngcontent-%COMP%]{border:1px solid #e6e6e6}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-positive:0;flex-grow:0;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%;padding:10px}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%]:nth-child(odd){background-color:#f2f2f1}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .table-row.table-body[_ngcontent-%COMP%]{cursor:pointer}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{-ms-flex-positive:1;flex-grow:1;padding-left:20px;padding-right:20px;width:180px}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .table-row.table-header[_ngcontent-%COMP%]{font-size:18px;font-weight:700}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .document-header[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .document-name[_ngcontent-%COMP%]{font-weight:700;-ms-flex-positive:1;flex-grow:1}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .document-date[_ngcontent-%COMP%]{white-space:nowrap}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .document-description[_ngcontent-%COMP%]{margin-top:5px}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%], .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:10px}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child, .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child{padding-left:20px}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:last-child, .results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:last-child{padding-right:20px}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{border:none}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-size:18px}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%]{border:none}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{font-size:17px}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(even){background-color:#f2f2f1}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .generic-button[_ngcontent-%COMP%]{display:inline-block}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td.document[_ngcontent-%COMP%]{min-width:90%}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td.date[_ngcontent-%COMP%]{white-space:nowrap}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td.action[_ngcontent-%COMP%]{width:1%;white-space:nowrap;text-align:right;min-width:120px}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .pagination[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;margin-top:20px;margin-right:20px;text-align:right}@media only screen and (min-width:768px){.results-container[_ngcontent-%COMP%]{background-color:#fff}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%]{margin-top:10px}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{border:1px solid #e6e6e6}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .pagination[_ngcontent-%COMP%]{margin-right:0}}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .pagination[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-left:8px}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .pagination[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{padding-top:8px}.results-container[_ngcontent-%COMP%] .results-list[_ngcontent-%COMP%] .pagination[_ngcontent-%COMP%] .hidden[_ngcontent-%COMP%]{display:none}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n\r\n
\r\n

Documenthèque

\r\n\r\n
\r\n Recherche\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n Derniers documents\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
Documents
\r\n
\r\n\r\n
\r\n Aucun document trouvé\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{ document.nom }}
\r\n
{{ document.createdAtString }}
\r\n
\r\n\r\n
{{document.isDownloading? 'Téléchargement...' : document.description}}
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
0 && totalPages > 1\">\r\n \r\n \r\n 3\">...\r\n \r\n ...\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n","import { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\nimport { Component, OnInit, Input, ViewChild, ElementRef, Renderer2 } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.scss']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n @ViewChild(\"logo\", { static: true })\r\n private logo: ElementRef;\r\n\r\n @Input()\r\n restaurantType: RestaurantTypeEnum;\r\n\r\n private _class: string = '';\r\n @Input()\r\n set class(customclass: string) {\r\n if (this._class != customclass) {\r\n if (this._class)\r\n this.renderer.removeClass(this.logo.nativeElement, this._class);\r\n\r\n this._class = customclass;\r\n\r\n if (this._class)\r\n this.renderer.addClass(this.logo.nativeElement, this._class);\r\n }\r\n }\r\n get class(): string { return this._class; }\r\n\r\n constructor(private renderer: Renderer2) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./logo.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"./logo.component\";\nvar styles_LogoComponent = [i0.styles];\nvar RenderType_LogoComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_LogoComponent, data: {} });\nexport { RenderType_LogoComponent as RenderType_LogoComponent };\nexport function View_LogoComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { logo: 0 }), (_l()(), i1.ɵeld(1, 0, [[1, 0], [\"logo\", 1]], null, 0, \"img\", [[\"src\", \"/assets/images/app_logo.png\"]], null, null, null, null, null))], null, null); }\nexport function View_LogoComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-logo\", [], null, null, null, View_LogoComponent_0, RenderType_LogoComponent)), i1.ɵdid(1, 114688, null, 0, i2.LogoComponent, [i1.Renderer2], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar LogoComponentNgFactory = i1.ɵccf(\"app-logo\", i2.LogoComponent, View_LogoComponent_Host_0, { restaurantType: \"restaurantType\", class: \"class\" }, {}, []);\nexport { LogoComponentNgFactory as LogoComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\"];\nexport { styles as styles };\n","\r\n","\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { Component, Inject, OnInit, PLATFORM_ID, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { LegalInfoComponent } from '../legal-info/legal-info.component';\r\nimport { ROUTE_URLS } from '../shared/constants/route_urls';\r\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\nimport { ErrorApiModel } from '../shared/models/api/error/error.apimodel';\r\nimport { NotificationCustomModel } from '../shared/models/notification.model';\r\nimport { AuthenticationService } from '../shared/services/authentication/authentication.service';\r\nimport { InteractionService } from '../shared/services/interaction.service';\r\nimport { LogService } from '../shared/services/log.service';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { first, filter } from 'rxjs/operators';\r\n\r\nconst { version: appVersion } = require('../../../package.json');\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\n\r\nexport class LoginComponent implements OnInit, OnDestroy {\r\n\r\n\r\n isLoading: boolean;\r\n username: string = '';\r\n keepMeSignedIn: boolean;\r\n activeFormClass: string = 'show-login';\r\n\r\n errorMessage: string = '';\r\n\r\n isPasswordSent: boolean;\r\n isPasswordFail: boolean;\r\n passwordFailError: string;\r\n\r\n appVersion: string;\r\n\r\n loginForm: FormGroup;\r\n RestaurantTypeEnum: typeof RestaurantTypeEnum = RestaurantTypeEnum; // declare enum property to allow use in component template. see: http://stackoverflow.com/a/40034109/590741\r\n\r\n showInternetExplorerWarning: boolean;\r\n\r\n constructor(\r\n private authService: AuthenticationService,\r\n private router: Router,\r\n private logService: LogService,\r\n private interactionService: InteractionService,\r\n private formBuilder: FormBuilder,\r\n @Inject(PLATFORM_ID) private platformId) {\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.showInternetExplorerWarning = this.isIE();\r\n }\r\n this.appVersion = appVersion;\r\n }\r\n\r\n ngOnInit() {\r\n this.loginForm = this.formBuilder.group({\r\n login: ['', Validators.required],\r\n password: ['', Validators.required],\r\n });\r\n\r\n // Rediriger vers la page d'accueil si on est déjà loggué\r\n this.authService.currentUser$\r\n .pipe(\r\n first(),\r\n filter(user => !!user),\r\n untilDestroyed(this)\r\n )\r\n .subscribe(user => {\r\n if (user) {\r\n this.router.navigate([ROUTE_URLS.Home]);\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // mandatory, used par untilDestroy\r\n }\r\n\r\n tryLogin() {\r\n\r\n if (!this.loginForm.valid) {\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n this.errorMessage = '';\r\n\r\n this.authService.signIn(this.loginForm.value.login, this.loginForm.value.password)\r\n .subscribe(userInfoModel => {\r\n this.logService.Info('User login successfull : redirecting to /home', 'LoginComponent');\r\n if (userInfoModel) {\r\n this.redirectOnLogin();\r\n } else {\r\n this.errorMessage = 'Nous n\\'avons pas réussi à récupérer vos informations d\\'utilisateur.';\r\n }\r\n },\r\n (error: ErrorApiModel) => {\r\n this.errorMessage = 'Votre tentative de connexion a échoué, réessayez ou contactez le service client';\r\n if (error && error.Message) {\r\n this.errorMessage = `${this.errorMessage} : \\r\\n${error.Message}`;\r\n }\r\n this.isLoading = false;\r\n },\r\n () => {\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n redirectOnLogin() {\r\n const redirectUrl = this.authService.redirectUrl;\r\n if (redirectUrl) {\r\n this.router.navigateByUrl(redirectUrl);\r\n } else {\r\n this.router.navigate([ROUTE_URLS.Home]);\r\n }\r\n }\r\n\r\n getPassword() {\r\n this.isPasswordSent = false;\r\n this.isPasswordFail = false;\r\n this.authService.sendPassword(this.username)\r\n .subscribe(res => {\r\n this.isPasswordSent = true;\r\n this.isPasswordFail = false;\r\n },\r\n (error: ErrorApiModel) => {\r\n this.isPasswordFail = true;\r\n this.passwordFailError = error && error.Message;\r\n });\r\n }\r\n\r\n showForgottenPwd() {\r\n this.activeFormClass = 'show-forgotten-pwd';\r\n }\r\n\r\n showLogin() {\r\n this.activeFormClass = 'show-login';\r\n }\r\n\r\n showLegalInfos() {\r\n const notif: NotificationCustomModel = new NotificationCustomModel();\r\n notif.title = 'Mentions légales';\r\n notif.type = LegalInfoComponent;\r\n notif.fullScreen = true;\r\n\r\n this.interactionService.showNotification(notif);\r\n }\r\n\r\n private isIE() {\r\n try {\r\n const ua = window.navigator.userAgent;\r\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\r\n return true;\r\n }\r\n } catch (error) {\r\n }\r\n return false;\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./login.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../logo/logo.component.ngfactory\";\nimport * as i3 from \"../logo/logo.component\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"@angular/forms\";\nimport * as i6 from \"./login.component\";\nimport * as i7 from \"../shared/services/authentication/authentication.service\";\nimport * as i8 from \"@angular/router\";\nimport * as i9 from \"../shared/services/log.service\";\nimport * as i10 from \"../shared/services/interaction.service\";\nvar styles_LoginComponent = [i0.styles];\nvar RenderType_LoginComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_LoginComponent, data: {} });\nexport { RenderType_LoginComponent as RenderType_LoginComponent };\nfunction View_LoginComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"error\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"Nous n'avons pas r\\u00E9ussi \\u00E0 r\\u00E9cup\\u00E9rer vos informations d'utilisateur. \", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.passwordFailError; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_LoginComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"confirm\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Un email a \\u00E9t\\u00E9 envoy\\u00E9 avec votre nouveau mot de passe.\"]))], null, null); }\nfunction View_LoginComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"id\", \"ie-warning\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"warning\"])), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Vous utilisez Internet Explorer. Cette application est optimis\\u00E9e sur Chrome et Firefox\"]))], null, null); }\nexport function View_LoginComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 76, \"div\", [[\"class\", \"login-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 75, \"div\", [[\"class\", \"subContainer\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 5, \"div\", [[\"class\", \"logo\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 4, \"div\", [[\"class\", \"portail\"]], [[8, \"title\", 0]], null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [[\"class\", \"app-version\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"v\", \"\"])), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"app-logo\", [[\"class\", \"logo-icon\"]], null, null, null, i2.View_LogoComponent_0, i2.RenderType_LogoComponent)), i1.ɵdid(7, 114688, null, 0, i3.LogoComponent, [i1.Renderer2], { restaurantType: [0, \"restaurantType\"], class: [1, \"class\"] }, null), (_l()(), i1.ɵeld(8, 0, null, null, 64, \"div\", [[\"class\", \"forms-container\"]], null, null, null, null, null)), i1.ɵprd(512, null, i4.ɵNgClassImpl, i4.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(10, 278528, null, 0, i4.NgClass, [i4.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), (_l()(), i1.ɵeld(11, 0, null, null, 61, \"div\", [[\"class\", \"forms-container-slider\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 37, \"div\", [[\"class\", \"login-block\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(13, 0, null, null, 36, \"form\", [[\"ngNativeValidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngSubmit\"], [null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 14).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 14).onReset() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngSubmit\" === en)) {\n var pd_2 = (_co.tryLogin() !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(14, 540672, null, 0, i5.FormGroupDirective, [[8, null], [8, null]], { form: [0, \"form\"] }, { ngSubmit: \"ngSubmit\" }), i1.ɵprd(2048, null, i5.ControlContainer, null, [i5.FormGroupDirective]), i1.ɵdid(16, 16384, null, 0, i5.NgControlStatusGroup, [[4, i5.ControlContainer]], null, null), (_l()(), i1.ɵeld(17, 0, null, null, 7, \"input\", [[\"formControlName\", \"login\"], [\"name\", \"login\"], [\"placeholder\", \"Identifiant\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 18)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 18).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 18)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 18)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } return ad; }, null, null)), i1.ɵdid(18, 16384, null, 0, i5.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i5.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(19, 16384, null, 0, i5.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i5.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i5.RequiredValidator]), i1.ɵprd(1024, null, i5.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i5.DefaultValueAccessor]), i1.ɵdid(22, 671744, null, 0, i5.FormControlName, [[3, i5.ControlContainer], [6, i5.NG_VALIDATORS], [8, null], [6, i5.NG_VALUE_ACCESSOR], [2, i5.ɵangular_packages_forms_forms_q]], { name: [0, \"name\"] }, null), i1.ɵprd(2048, null, i5.NgControl, null, [i5.FormControlName]), i1.ɵdid(24, 16384, null, 0, i5.NgControlStatus, [[4, i5.NgControl]], null, null), (_l()(), i1.ɵeld(25, 0, null, null, 1, \"div\", [[\"class\", \"error\"]], [[8, \"hidden\", 0]], null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"L'identifiant est requis.\"])), (_l()(), i1.ɵeld(27, 0, null, null, 7, \"input\", [[\"formControlName\", \"password\"], [\"name\", \"password\"], [\"placeholder\", \"Mot de passe\"], [\"required\", \"\"], [\"type\", \"password\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 28)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 28).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 28)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 28)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } return ad; }, null, null)), i1.ɵdid(28, 16384, null, 0, i5.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i5.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(29, 16384, null, 0, i5.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i5.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i5.RequiredValidator]), i1.ɵprd(1024, null, i5.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i5.DefaultValueAccessor]), i1.ɵdid(32, 671744, null, 0, i5.FormControlName, [[3, i5.ControlContainer], [6, i5.NG_VALIDATORS], [8, null], [6, i5.NG_VALUE_ACCESSOR], [2, i5.ɵangular_packages_forms_forms_q]], { name: [0, \"name\"] }, null), i1.ɵprd(2048, null, i5.NgControl, null, [i5.FormControlName]), i1.ɵdid(34, 16384, null, 0, i5.NgControlStatus, [[4, i5.NgControl]], null, null), (_l()(), i1.ɵeld(35, 0, null, null, 1, \"div\", [[\"class\", \"error\"]], [[8, \"hidden\", 0]], null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Le mot de passe est requis.\"])), (_l()(), i1.ɵeld(37, 0, null, null, 1, \"div\", [[\"class\", \"error\"]], [[8, \"hidden\", 0]], null, null, null, null)), (_l()(), i1.ɵted(38, null, [\"\", \"\"])), (_l()(), i1.ɵeld(39, 0, null, null, 8, \"button\", [[\"class\", \"btn-valider creche-background\"], [\"type\", \"submit\"]], [[8, \"disabled\", 0]], null, null, null, null)), (_l()(), i1.ɵeld(40, 0, null, null, 5, \"span\", [[\"class\", \"loading-wrap\"]], [[8, \"hidden\", 0]], null, null, null, null)), (_l()(), i1.ɵeld(41, 0, null, null, 4, \"span\", [[\"class\", \"loading\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(42, 0, null, null, 0, \"span\", [[\"class\", \"loading-bar\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(43, 0, null, null, 0, \"span\", [[\"class\", \"loading-bar\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(44, 0, null, null, 0, \"span\", [[\"class\", \"loading-bar\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(45, 0, null, null, 0, \"span\", [[\"class\", \"loading-bar\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(46, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Se connecter\"])), (_l()(), i1.ɵeld(48, 0, null, null, 1, \"a\", [[\"class\", \"switch-form\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.showForgottenPwd() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Mot de passe oubli\\u00E9\"])), (_l()(), i1.ɵeld(50, 0, null, null, 22, \"div\", [[\"class\", \"forgotten-pwd-block\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(51, 0, null, null, 21, \"form\", [[\"novalidate\", \"\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngSubmit\"], [null, \"submit\"], [null, \"reset\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"submit\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 53).onSubmit($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"reset\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 53).onReset() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngSubmit\" === en)) {\n var pd_2 = (_co.getPassword() !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(52, 16384, null, 0, i5.ɵangular_packages_forms_forms_z, [], null, null), i1.ɵdid(53, 4210688, null, 0, i5.NgForm, [[8, null], [8, null]], null, { ngSubmit: \"ngSubmit\" }), i1.ɵprd(2048, null, i5.ControlContainer, null, [i5.NgForm]), i1.ɵdid(55, 16384, null, 0, i5.NgControlStatusGroup, [[4, i5.ControlContainer]], null, null), (_l()(), i1.ɵeld(56, 0, null, null, 7, \"input\", [[\"id\", \"username\"], [\"name\", \"username\"], [\"placeholder\", \"Nom d'utilisateur\"], [\"required\", \"\"], [\"type\", \"text\"]], [[1, \"required\", 0], [2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 57)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 57).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 57)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 57)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.username = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(57, 16384, null, 0, i5.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i5.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(58, 16384, null, 0, i5.RequiredValidator, [], { required: [0, \"required\"] }, null), i1.ɵprd(1024, null, i5.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i5.RequiredValidator]), i1.ɵprd(1024, null, i5.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i5.DefaultValueAccessor]), i1.ɵdid(61, 671744, null, 0, i5.NgModel, [[2, i5.ControlContainer], [6, i5.NG_VALIDATORS], [8, null], [6, i5.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i5.NgControl, null, [i5.NgModel]), i1.ɵdid(63, 16384, null, 0, i5.NgControlStatus, [[4, i5.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LoginComponent_1)), i1.ɵdid(65, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LoginComponent_2)), i1.ɵdid(67, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(68, 0, null, null, 2, \"button\", [[\"class\", \"btn-valider creche-background\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(69, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Valider\"])), (_l()(), i1.ɵeld(71, 0, null, null, 1, \"a\", [[\"class\", \"switch-form\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.showLogin() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Retour \\u00E0 l'\\u00E9cran de connexion\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LoginComponent_3)), i1.ɵdid(74, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(75, 0, null, null, 1, \"a\", [[\"class\", \"legal-info\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.showLegalInfos() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Mentions l\\u00E9gales\"]))], function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.RestaurantTypeEnum.Creche; var currVal_3 = \"logo-icon\"; _ck(_v, 7, 0, currVal_2, currVal_3); var currVal_4 = \"forms-container\"; var currVal_5 = _co.activeFormClass; _ck(_v, 10, 0, currVal_4, currVal_5); var currVal_13 = _co.loginForm; _ck(_v, 14, 0, currVal_13); var currVal_22 = \"\"; _ck(_v, 19, 0, currVal_22); var currVal_23 = \"login\"; _ck(_v, 22, 0, currVal_23); var currVal_33 = \"\"; _ck(_v, 29, 0, currVal_33); var currVal_34 = \"password\"; _ck(_v, 32, 0, currVal_34); var currVal_55 = \"\"; _ck(_v, 58, 0, currVal_55); var currVal_56 = \"username\"; var currVal_57 = _co.username; _ck(_v, 61, 0, currVal_56, currVal_57); var currVal_58 = _co.isPasswordFail; _ck(_v, 65, 0, currVal_58); var currVal_59 = _co.isPasswordSent; _ck(_v, 67, 0, currVal_59); var currVal_60 = _co.showInternetExplorerWarning; _ck(_v, 74, 0, currVal_60); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵinlineInterpolate(1, \"v\", _co.appVersion, \"\"); _ck(_v, 3, 0, currVal_0); var currVal_1 = _co.appVersion; _ck(_v, 5, 0, currVal_1); var currVal_6 = i1.ɵnov(_v, 16).ngClassUntouched; var currVal_7 = i1.ɵnov(_v, 16).ngClassTouched; var currVal_8 = i1.ɵnov(_v, 16).ngClassPristine; var currVal_9 = i1.ɵnov(_v, 16).ngClassDirty; var currVal_10 = i1.ɵnov(_v, 16).ngClassValid; var currVal_11 = i1.ɵnov(_v, 16).ngClassInvalid; var currVal_12 = i1.ɵnov(_v, 16).ngClassPending; _ck(_v, 13, 0, currVal_6, currVal_7, currVal_8, currVal_9, currVal_10, currVal_11, currVal_12); var currVal_14 = (i1.ɵnov(_v, 19).required ? \"\" : null); var currVal_15 = i1.ɵnov(_v, 24).ngClassUntouched; var currVal_16 = i1.ɵnov(_v, 24).ngClassTouched; var currVal_17 = i1.ɵnov(_v, 24).ngClassPristine; var currVal_18 = i1.ɵnov(_v, 24).ngClassDirty; var currVal_19 = i1.ɵnov(_v, 24).ngClassValid; var currVal_20 = i1.ɵnov(_v, 24).ngClassInvalid; var currVal_21 = i1.ɵnov(_v, 24).ngClassPending; _ck(_v, 17, 0, currVal_14, currVal_15, currVal_16, currVal_17, currVal_18, currVal_19, currVal_20, currVal_21); var currVal_24 = (_co.loginForm.controls.login.valid || _co.loginForm.controls.login.pristine); _ck(_v, 25, 0, currVal_24); var currVal_25 = (i1.ɵnov(_v, 29).required ? \"\" : null); var currVal_26 = i1.ɵnov(_v, 34).ngClassUntouched; var currVal_27 = i1.ɵnov(_v, 34).ngClassTouched; var currVal_28 = i1.ɵnov(_v, 34).ngClassPristine; var currVal_29 = i1.ɵnov(_v, 34).ngClassDirty; var currVal_30 = i1.ɵnov(_v, 34).ngClassValid; var currVal_31 = i1.ɵnov(_v, 34).ngClassInvalid; var currVal_32 = i1.ɵnov(_v, 34).ngClassPending; _ck(_v, 27, 0, currVal_25, currVal_26, currVal_27, currVal_28, currVal_29, currVal_30, currVal_31, currVal_32); var currVal_35 = (_co.loginForm.controls.password.valid || _co.loginForm.controls.password.pristine); _ck(_v, 35, 0, currVal_35); var currVal_36 = (_co.errorMessage == undefined); _ck(_v, 37, 0, currVal_36); var currVal_37 = _co.errorMessage; _ck(_v, 38, 0, currVal_37); var currVal_38 = _co.isLoading; _ck(_v, 39, 0, currVal_38); var currVal_39 = !_co.isLoading; _ck(_v, 40, 0, currVal_39); var currVal_40 = i1.ɵnov(_v, 55).ngClassUntouched; var currVal_41 = i1.ɵnov(_v, 55).ngClassTouched; var currVal_42 = i1.ɵnov(_v, 55).ngClassPristine; var currVal_43 = i1.ɵnov(_v, 55).ngClassDirty; var currVal_44 = i1.ɵnov(_v, 55).ngClassValid; var currVal_45 = i1.ɵnov(_v, 55).ngClassInvalid; var currVal_46 = i1.ɵnov(_v, 55).ngClassPending; _ck(_v, 51, 0, currVal_40, currVal_41, currVal_42, currVal_43, currVal_44, currVal_45, currVal_46); var currVal_47 = (i1.ɵnov(_v, 58).required ? \"\" : null); var currVal_48 = i1.ɵnov(_v, 63).ngClassUntouched; var currVal_49 = i1.ɵnov(_v, 63).ngClassTouched; var currVal_50 = i1.ɵnov(_v, 63).ngClassPristine; var currVal_51 = i1.ɵnov(_v, 63).ngClassDirty; var currVal_52 = i1.ɵnov(_v, 63).ngClassValid; var currVal_53 = i1.ɵnov(_v, 63).ngClassInvalid; var currVal_54 = i1.ɵnov(_v, 63).ngClassPending; _ck(_v, 56, 0, currVal_47, currVal_48, currVal_49, currVal_50, currVal_51, currVal_52, currVal_53, currVal_54); }); }\nexport function View_LoginComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-login\", [], null, null, null, View_LoginComponent_0, RenderType_LoginComponent)), i1.ɵdid(1, 245760, null, 0, i6.LoginComponent, [i7.AuthenticationService, i8.Router, i9.LogService, i10.InteractionService, i5.FormBuilder, i1.PLATFORM_ID], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar LoginComponentNgFactory = i1.ɵccf(\"app-login\", i6.LoginComponent, View_LoginComponent_Host_0, {}, {}, []);\nexport { LoginComponentNgFactory as LoginComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .login-container[_ngcontent-%COMP%]{height:100%;padding:12px;box-sizing:border-box;position:relative;background-image:url(/assets/images/login/bg-login.jpg);background-size:cover;background-position:center;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%]{padding:20px;box-sizing:border-box;border:1px solid #c7c7c7;text-align:center;margin:auto;background:rgba(255,255,255,.8);width:500px;height:auto}@media only screen and (min-width:768px){[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%]{width:500px}}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{margin:20px auto;display:block}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%] .logo-icon{height:90px}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .forms-container[_ngcontent-%COMP%]{margin:-20px auto 50px;max-width:350px;font-weight:300;position:relative;overflow:hidden}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .forms-container-slider[_ngcontent-%COMP%]{overflow:hidden;width:200%;transition:transform .2s linear}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .show-login[_ngcontent-%COMP%] .forms-container-slider[_ngcontent-%COMP%]{-ms-transform:translateX(0);transform:translateX(0)}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .show-forgotten-pwd[_ngcontent-%COMP%] .forms-container-slider[_ngcontent-%COMP%]{-ms-transform:translateX(-50%);transform:translateX(-50%)}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .forgotten-pwd-block[_ngcontent-%COMP%], [_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .login-block[_ngcontent-%COMP%]{float:left;width:50%;transition:opacity .2s linear}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .show-forgotten-pwd[_ngcontent-%COMP%] .login-block[_ngcontent-%COMP%], [_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .show-login[_ngcontent-%COMP%] .forgotten-pwd-block[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .forgotten-pwd-block[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .switch-form[_ngcontent-%COMP%]{font-weight:600;margin-top:20px;display:inline-block}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .switch-form[_ngcontent-%COMP%]:hover{text-decoration:underline;cursor:pointer}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] form[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{display:block;width:100%;margin:20px auto;padding:10px;box-sizing:border-box;font-size:22px;font-style:italic;font-weight:400;border:none;background:#fff;box-shadow:0 0 0 1000px #fff inset}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] form[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:-webkit-autofill{box-shadow:0 0 0 1000px #fff inset}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] form[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{display:inline-block;width:inherit;box-shadow:inherit;cursor:pointer}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] form[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border:none;text-transform:uppercase;width:100%;color:#fff;padding:12px;margin:10px auto;font-size:18px;cursor:pointer}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] button.btn-valider[_ngcontent-%COMP%]{background:#e8655a}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] button.btn-valider[_ngcontent-%COMP%]:disabled{background:rgba(232,101,90,.5)}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] button.btn-valider[_ngcontent-%COMP%] .loading-wrap[_ngcontent-%COMP%]{width:auto;margin-right:5px}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] button.btn-valider[_ngcontent-%COMP%] .loading-wrap[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%]{margin:0;width:auto;padding-bottom:0}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] button.btn-valider[_ngcontent-%COMP%] .loading-wrap[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%]{width:2px;height:12px;margin-left:2px}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] button.btn-valider[_ngcontent-%COMP%] .loading-wrap[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%]:nth-child(1), [_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] button.btn-valider[_ngcontent-%COMP%] .loading-wrap[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%]:nth-child(2), [_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] button.btn-valider[_ngcontent-%COMP%] .loading-wrap[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%]:nth-child(3), [_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] button.btn-valider[_ngcontent-%COMP%] .loading-wrap[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%]:nth-child(4){background-color:#fff}@-webkit-keyframes loading{0%,40%{transform:scale(1)}20%{transform:scale(1,2.2)}}@keyframes loading{0%,40%{transform:scale(1)}20%{transform:scale(1,2.2)}}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .legal-info[_ngcontent-%COMP%]{font-weight:600;display:block;text-align:right;font-style:italic;font-size:.8em;color:#a8a8a8}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .legal-info[_ngcontent-%COMP%]:hover{text-decoration:underline;cursor:pointer;color:#565656}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .confirm[_ngcontent-%COMP%], [_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .error[_ngcontent-%COMP%]{font-weight:600;text-align:left;margin-bottom:12px;white-space:pre-wrap}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .error[_ngcontent-%COMP%]{color:#e20035}[_nghost-%COMP%] .login-container[_ngcontent-%COMP%] .subContainer[_ngcontent-%COMP%] .confirm[_ngcontent-%COMP%]{color:#6cb31d}[_nghost-%COMP%] .app-version[_ngcontent-%COMP%]{font-size:.7em;text-align:right;margin-top:-2em;color:#a8a8a8}[_nghost-%COMP%] #ie-warning[_ngcontent-%COMP%]{background-color:rgba(255,255,255,.8);padding:5px;display:-ms-flexbox;display:flex;text-align:left}[_nghost-%COMP%] #ie-warning[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#e20035}[_nghost-%COMP%] #ie-warning[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-left:5px}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n
\r\n
v{{appVersion}}
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
L'identifiant est requis.
\r\n \r\n
Le mot de passe est requis.
\r\n
{{errorMessage}}
\r\n \r\n\r\n Mot de passe oublié\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
Nous n'avons pas réussi à récupérer vos informations d'utilisateur. {{passwordFailError}}
\r\n
Un email a été envoyé avec votre nouveau mot de passe.
\r\n\r\n \r\n\r\n Retour à l'écran de connexion\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n warning\r\n Vous utilisez Internet Explorer. Cette application est optimisée sur Chrome et Firefox\r\n
\r\n\r\n Mentions légales\r\n
\r\n
\r\n","import { Component, OnInit, Input, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { MenuLinkModel } from '../shared/models/menu-link.model';\r\n\r\n@Component({\r\n selector: 'app-meal-tile',\r\n templateUrl: './meal-tile.component.html',\r\n styleUrls: ['./meal-tile.component.scss']\r\n})\r\n\r\n/** this should be taking a menu-link model */\r\nexport class MealTileComponent implements OnInit {\r\n\r\n @Input()\r\n item: MenuLinkModel;\r\n\r\n @Input()\r\n route: string;\r\n @Input()\r\n imgSrc: string;\r\n @Input()\r\n titleHTML: string;\r\n @Input()\r\n descriptionHTML: string;\r\n\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n redirect() {\r\n this.router.navigate([this.item.path]);\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./meal-tile.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"./meal-tile.component\";\nimport * as i3 from \"@angular/router\";\nvar styles_MealTileComponent = [i0.styles];\nvar RenderType_MealTileComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_MealTileComponent, data: {} });\nexport { RenderType_MealTileComponent as RenderType_MealTileComponent };\nexport function View_MealTileComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.redirect() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"img\", [], [[8, \"src\", 4]], null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"div\", [[\"class\", \"title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\"\", \"\"])), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [[\"class\", \"description\"]], null, null, null, null, null)), (_l()(), i1.ɵted(5, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.item.icon; _ck(_v, 1, 0, currVal_0); var currVal_1 = _co.item.name; _ck(_v, 3, 0, currVal_1); var currVal_2 = _co.item.description; _ck(_v, 5, 0, currVal_2); }); }\nexport function View_MealTileComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-meal-tile\", [], null, null, null, View_MealTileComponent_0, RenderType_MealTileComponent)), i1.ɵdid(1, 114688, null, 0, i2.MealTileComponent, [i3.Router], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar MealTileComponentNgFactory = i1.ɵccf(\"app-meal-tile\", i2.MealTileComponent, View_MealTileComponent_Host_0, { item: \"item\", route: \"route\", imgSrc: \"imgSrc\", titleHTML: \"titleHTML\", descriptionHTML: \"descriptionHTML\" }, {}, []);\nexport { MealTileComponentNgFactory as MealTileComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{position:relative}[_nghost-%COMP%] > div[_ngcontent-%COMP%]{text-align:center;margin-top:20px}[_nghost-%COMP%] > div[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:34px}[_nghost-%COMP%] > div[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-top:12px;text-transform:uppercase;font-weight:600;font-size:11px;color:#000;line-height:13px;word-wrap:break-word}@media only screen and (min-width:768px){[_nghost-%COMP%] > div[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:50px}[_nghost-%COMP%] > div[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:20px;line-height:20px}}[_nghost-%COMP%] > div[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{display:none;width:70%;margin:12px auto 24px;text-align:center;font-size:18px}@media only screen and (min-width:768px){[_nghost-%COMP%] > div[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{display:block}}\"];\nexport { styles as styles };\n","
\r\n\t\r\n\t
{{item.name}}
\r\n\t
{{item.description}}
\r\n
","import { DailyMenuPrestationModel } from '../shared/models/daily-menu/daily-menu-prestation.model';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\n\r\n@Component({\r\n selector: 'app-meal-resume',\r\n templateUrl: './meal-resume.component.html',\r\n styleUrls: ['./meal-resume.component.scss']\r\n})\r\n\r\nexport class MealResumeComponent implements OnInit {\r\n @Input() dailyPrestation: DailyMenuPrestationModel;\r\n @Input() currentType: RestaurantTypeEnum;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./meal-resume.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i4 from \"../shared/pipes/dateFormat.pipe\";\nimport * as i5 from \"./meal-resume.component\";\nvar styles_MealResumeComponent = [i0.styles];\nvar RenderType_MealResumeComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_MealResumeComponent, data: {} });\nexport { RenderType_MealResumeComponent as RenderType_MealResumeComponent };\nfunction View_MealResumeComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"daily-plat\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\" \", \" \"]))], null, function (_ck, _v) { var currVal_0 = _v.context.$implicit.libelle; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_MealResumeComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_MealResumeComponent_3)), i1.ɵdid(1, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(2, 0, null, null, 2, \"hr\", [[\"class\", \"bar\"]], null, null, null, null, null)), i1.ɵdid(3, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(4, { \"type\": 0, \"background\": 1 })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _v.context.$implicit.plats; _ck(_v, 1, 0, currVal_0); var currVal_1 = _ck(_v, 4, 0, _co.currentType, true); _ck(_v, 3, 0, currVal_1); }, null); }\nfunction View_MealResumeComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_MealResumeComponent_2)), i1.ɵdid(1, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.dailyPrestation.familles; _ck(_v, 1, 0, currVal_0); }, null); }\nfunction View_MealResumeComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"no-content\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Pas de service pour cette journ\\u00E9e. \"]))], null, null); }\nexport function View_MealResumeComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i4.DateFormatPipe, []), (_l()(), i1.ɵeld(1, 0, null, null, 12, \"div\", [[\"class\", \"tile-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 3, \"h3\", [[\"class\", \"title\"]], [[8, \"title\", 0]], null, null, null, null)), i1.ɵppd(3, 2), (_l()(), i1.ɵted(4, null, [\"\", \"\"])), i1.ɵppd(5, 2), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"h4\", [[\"class\", \"subtitle\"]], null, null, null, null, null)), (_l()(), i1.ɵted(7, null, [\"\", \"\"])), (_l()(), i1.ɵeld(8, 0, null, null, 5, \"div\", [[\"class\", \"daily-prestation-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 4, \"div\", [[\"class\", \"daily-prestation\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_MealResumeComponent_1)), i1.ɵdid(11, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_MealResumeComponent_4)), i1.ɵdid(13, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_3 = !_co.dailyPrestation.isEmpty; _ck(_v, 11, 0, currVal_3); var currVal_4 = _co.dailyPrestation.isEmpty; _ck(_v, 13, 0, currVal_4); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵinlineInterpolate(1, \"\", i1.ɵunv(_v, 2, 0, _ck(_v, 3, 0, i1.ɵnov(_v, 0), _co.dailyPrestation.date, \"DD/MM/YYYY\")), \"\"); _ck(_v, 2, 0, currVal_0); var currVal_1 = i1.ɵunv(_v, 4, 0, _ck(_v, 5, 0, i1.ɵnov(_v, 0), _co.dailyPrestation.date, \"dddd\")); _ck(_v, 4, 0, currVal_1); var currVal_2 = _co.dailyPrestation.prestation; _ck(_v, 7, 0, currVal_2); }); }\nexport function View_MealResumeComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-meal-resume\", [], null, null, null, View_MealResumeComponent_0, RenderType_MealResumeComponent)), i1.ɵdid(1, 114688, null, 0, i5.MealResumeComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar MealResumeComponentNgFactory = i1.ɵccf(\"app-meal-resume\", i5.MealResumeComponent, View_MealResumeComponent_Host_0, { dailyPrestation: \"dailyPrestation\", currentType: \"currentType\" }, {}, []);\nexport { MealResumeComponentNgFactory as MealResumeComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .tile-container[_ngcontent-%COMP%]{height:240px;background:#fff;text-align:center;overflow-y:hidden;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:stretch;justify-content:stretch;width:84%;margin:20px auto 5px;box-shadow:1px 1px 10px rgba(0,0,0,.3)}@media only screen and (min-width:768px){[_nghost-%COMP%] .tile-container[_ngcontent-%COMP%]{width:100%;margin:5px auto}}[_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] h3.title[_ngcontent-%COMP%]{color:#484848;margin:12px 0 1px}[_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] h3.title[_ngcontent-%COMP%]:first-letter{text-transform:uppercase}[_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] h4.subtitle[_ngcontent-%COMP%]{color:#484848;margin:1px;font-size:.7em}[_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] .daily-prestation-container[_ngcontent-%COMP%]{overflow-y:auto}[_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] .daily-prestation[_ngcontent-%COMP%], [_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] .no-content[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-top:5px;padding-bottom:5px}[_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] .daily-prestation[_ngcontent-%COMP%] .daily-plat[_ngcontent-%COMP%]:first-child(), [_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] .no-content[_ngcontent-%COMP%] .daily-plat[_ngcontent-%COMP%]:first-child(){padding-top:20px}[_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] .daily-prestation[_ngcontent-%COMP%] .daily-platsvg[_ngcontent-%COMP%], [_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] .no-content[_ngcontent-%COMP%] .daily-platsvg[_ngcontent-%COMP%]{-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:17px;max-height:1.2em}[_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] .daily-prestation[_ngcontent-%COMP%] .bar[_ngcontent-%COMP%], [_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] .no-content[_ngcontent-%COMP%] .bar[_ngcontent-%COMP%]{-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;margin:6px auto;height:2px}[_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] .daily-prestation[_ngcontent-%COMP%] .bar[_ngcontent-%COMP%]:last-child, [_nghost-%COMP%] .tile-container[_ngcontent-%COMP%] .no-content[_ngcontent-%COMP%] .bar[_ngcontent-%COMP%]:last-child{display:none}\"];\nexport { styles as styles };\n","
\r\n

{{dailyPrestation.date | dateFormat:'dddd'}}

\r\n

{{dailyPrestation.prestation}}

\r\n \r\n
\r\n
\r\n \r\n
\r\n {{plat.libelle}}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n Pas de service pour cette journée.\r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { DailyMenuPrestationModel } from '../shared/models/daily-menu/daily-menu-prestation.model';\r\nimport { LogService } from '../shared/services/log.service';\r\nimport { Component, Input, AfterViewChecked, AfterViewInit, ViewEncapsulation, ViewChild, ChangeDetectorRef } from '@angular/core';\r\n\r\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\nimport { SwiperComponent, SwiperConfigInterface } from 'ngx-swiper-wrapper';\r\n\r\n// let Swiper = require('swiper');\r\n\r\n@Component({\r\n selector: 'app-meal-slider',\r\n templateUrl: './meal-slider.component.html',\r\n styleUrls: ['./meal-slider.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class MealSliderComponent {\r\n public initialIndex: number = 0;\r\n\r\n private _dailyPrestations: DailyMenuPrestationModel[];\r\n @Input() set dailyPrestations(value: DailyMenuPrestationModel[]) {\r\n this._dailyPrestations = value;\r\n this.forceBindingRefresh();\r\n }\r\n\r\n get dailyPrestations(): DailyMenuPrestationModel[] {\r\n return this._dailyPrestations;\r\n }\r\n\r\n @Input() public currentType: RestaurantTypeEnum;\r\n\r\n @ViewChild(SwiperComponent, { static: true }) public componentRef: SwiperComponent;\r\n public swiperConfig: SwiperConfigInterface = {\r\n initialSlide: this.initialIndex,\r\n navigation: true,\r\n watchOverflow: true, // Swiper will be disabled and hide navigation buttons on case there are not enough slides for sliding\r\n spaceBetween: 30,\r\n centeredSlides: true,\r\n centerInsufficientSlides: true,\r\n slidesPerView: 5,\r\n pagination: {\r\n el: '.swiper-pagination',\r\n type: 'bullets',\r\n clickable: true\r\n },\r\n effect: 'slide',\r\n coverflowEffect: {\r\n rotate: 40,\r\n stretch: 0,\r\n depth: 200,\r\n modifier: 1,\r\n slideShadows: false // for performance\r\n },\r\n breakpoints: {\r\n 768: { slidesPerView: 1, effect: 'coverflow' },\r\n 970: { slidesPerView: 3, effect: 'coverflow' },\r\n 1280: { slidesPerView: 4 },\r\n }\r\n /*\r\n$smWidth: 768px;\r\n$mdWidth: 970px;\r\n$lgWidth: 1280px;\r\n$xlWidth: 1500px;\r\n */\r\n };\r\n\r\n constructor(private _changeDetectorRef: ChangeDetectorRef) { }\r\n\r\n public setInitialIndex(index: number) {\r\n this.initialIndex = index;\r\n this.forceBindingRefresh();\r\n }\r\n\r\n public forceBindingRefresh() {\r\n setTimeout(() => {\r\n // this.componentRef.directiveRef.setIndex(this.initialIndex);\r\n this._changeDetectorRef.markForCheck();\r\n }, 50);\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./meal-slider.component.scss.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../meal-resume/meal-resume.component.ngfactory\";\nimport * as i3 from \"../meal-resume/meal-resume.component\";\nimport * as i4 from \"../../../node_modules/ngx-swiper-wrapper/dist/ngx-swiper-wrapper.ngfactory\";\nimport * as i5 from \"ngx-swiper-wrapper\";\nimport * as i6 from \"../shared/directives/pagination-color.directive\";\nimport * as i7 from \"../shared/directives/swiper-restaurant-theme.directive\";\nimport * as i8 from \"@angular/common\";\nimport * as i9 from \"./meal-slider.component\";\nvar styles_MealSliderComponent = [i0.styles];\nvar RenderType_MealSliderComponent = i1.ɵcrt({ encapsulation: 2, styles: styles_MealSliderComponent, data: {} });\nexport { RenderType_MealSliderComponent as RenderType_MealSliderComponent };\nfunction View_MealSliderComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-meal-resume\", [], null, null, null, i2.View_MealResumeComponent_0, i2.RenderType_MealResumeComponent)), i1.ɵdid(1, 114688, null, 0, i3.MealResumeComponent, [], { dailyPrestation: [0, \"dailyPrestation\"], currentType: [1, \"currentType\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _v.context.$implicit; var currVal_1 = _co.currentType; _ck(_v, 1, 0, currVal_0, currVal_1); }, null); }\nexport function View_MealSliderComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { componentRef: 0 }), (_l()(), i1.ɵeld(1, 0, null, null, 5, \"swiper\", [[\"class\", \"swiper-custom-navigation\"]], null, [[null, \"indexChange\"], [null, \"init\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"indexChange\" === en)) {\n var pd_0 = (true !== false);\n ad = (pd_0 && ad);\n } if ((\"init\" === en)) {\n var pd_1 = (_co.forceBindingRefresh() !== false);\n ad = (pd_1 && ad);\n } return ad; }, i4.View_SwiperComponent_0, i4.RenderType_SwiperComponent)), i1.ɵdid(2, 4374528, [[1, 4]], 0, i5.SwiperComponent, [i1.NgZone, i1.ChangeDetectorRef, i1.PLATFORM_ID, [2, i5.SWIPER_CONFIG]], { index: [0, \"index\"], config: [1, \"config\"] }, { indexChange: \"indexChange\", S_INIT: \"init\" }), i1.ɵdid(3, 278528, null, 0, i6.PaginationColorDirective, [i1.ElementRef], { paginationColor: [0, \"paginationColor\"] }, null), i1.ɵdid(4, 4210688, null, 0, i7.SwiperRestaurantThemeDirective, [i1.ElementRef, i1.Renderer2, [2, i5.SWIPER_CONFIG]], { config: [0, \"config\"] }, null), (_l()(), i1.ɵand(16777216, null, 0, 1, null, View_MealSliderComponent_1)), i1.ɵdid(6, 278528, null, 0, i8.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.initialIndex; var currVal_1 = _co.swiperConfig; _ck(_v, 2, 0, currVal_0, currVal_1); var currVal_2 = _co.currentType; _ck(_v, 3, 0, currVal_2); var currVal_3 = _co.swiperConfig; _ck(_v, 4, 0, currVal_3); var currVal_4 = _co.dailyPrestations; _ck(_v, 6, 0, currVal_4); }, null); }\nexport function View_MealSliderComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-meal-slider\", [], null, null, null, View_MealSliderComponent_0, RenderType_MealSliderComponent)), i1.ɵdid(1, 49152, null, 0, i9.MealSliderComponent, [i1.ChangeDetectorRef], null, null)], null, null); }\nvar MealSliderComponentNgFactory = i1.ɵccf(\"app-meal-slider\", i9.MealSliderComponent, View_MealSliderComponent_Host_0, { dailyPrestations: \"dailyPrestations\", currentType: \"currentType\" }, {}, []);\nexport { MealSliderComponentNgFactory as MealSliderComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"app-meal-slider .swiper-pagination-bullet{width:12px;height:12px;margin:0 4px}app-meal-slider .swiper-pagination{margin:10px 1px;height:43px;position:relative}app-meal-slider .swiper-pagination .swiper-pagination-bullet{background:#fff;opacity:1;margin:0 2px}\"];\nexport { styles as styles };\n"," \r\n \r\n\r\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { map } from 'rxjs/operators';\r\nimport { NotificationsModel } from '../alertes/models/notifications.model';\r\nimport { AlertesService } from '../alertes/services/alertes.service';\r\nimport { MealSliderComponent } from '../meal-slider/meal-slider.component';\r\nimport { CommandeRepasService } from '../repas/services/commande-repas.service';\r\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\nimport { DateHelper } from '../shared/helpers/date.helper';\r\nimport { DailyMenuPrestationModel } from '../shared/models/daily-menu/daily-menu-prestation.model';\r\nimport { RestaurantModel } from '../shared/models/restaurant.model';\r\nimport { LogoRouteService } from '../shared/services/api/logo/logo-route.service';\r\nimport { ApplicationDataService } from '../shared/services/application-data.service';\r\nimport { AuthenticationService } from '../shared/services/authentication/authentication.service';\r\nimport { InteractionService } from '../shared/services/interaction.service';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss']\r\n})\r\nexport class HomeComponent implements OnInit, OnDestroy {\r\n @ViewChild(MealSliderComponent, { static: true })\r\n mealSlider: MealSliderComponent;\r\n\r\n private _notifications: NotificationsModel;\r\n dailyQuote: string;\r\n dailyQuoteTitle: string;\r\n dailyPrestations: DailyMenuPrestationModel[] = null;\r\n currentType: RestaurantTypeEnum;\r\n logoContratUrl: string = '';\r\n\r\n menuList$ = this.authService.getAvailableMenuLinks().pipe(map(menuList => menuList.filter(m => m.isInHomeTile)));\r\n\r\n constructor(\r\n private cmdRepasService: CommandeRepasService,\r\n private appDataService: ApplicationDataService,\r\n private logoService: LogoRouteService,\r\n private authService: AuthenticationService,\r\n private interactionService: InteractionService,\r\n private _alertesService: AlertesService\r\n ) { }\r\n\r\n subscribeContrat() {\r\n this.appDataService.contrat$\r\n .pipe(untilDestroyed(this))\r\n .subscribe(contrat => {\r\n if (contrat) {\r\n this.logoContratUrl = this.logoService.GetPicture1Url(contrat.id, contrat.cuisineCentraleId);\r\n }\r\n });\r\n }\r\n\r\n openAlerte() {\r\n this._alertesService.showNotifications(this._notifications).subscribe();\r\n }\r\n\r\n ngOnInit() {\r\n this.subscribeRestaurant();\r\n this.subscribeContrat();\r\n this.subscribeAlertes();\r\n }\r\n\r\n private subscribeAlertes() {\r\n this._alertesService.notifications$.pipe(\r\n untilDestroyed(this),\r\n ).subscribe(notifications => {\r\n this._notifications = notifications;\r\n if (notifications) {\r\n if (notifications.hasDisplayableNotification) {\r\n this.dailyQuote = notifications.alerteShortMessage;\r\n this.dailyQuoteTitle = notifications.titre;\r\n } else {\r\n this.dailyQuote = null;\r\n this.dailyQuoteTitle = null;\r\n }\r\n if (notifications.shouldAutoDisplayNotifications) {\r\n this._alertesService.showNotifications(notifications).subscribe();\r\n }\r\n }\r\n });\r\n }\r\n\r\n private subscribeRestaurant() {\r\n this.appDataService.restaurant$\r\n .pipe(\r\n untilDestroyed(this)\r\n )\r\n .subscribe(restaurant => {\r\n this.currentType = restaurant && restaurant.type;\r\n this.getDailyMenu(restaurant);\r\n });\r\n }\r\n\r\n getDailyMenu(restaurant: RestaurantModel) {\r\n if (!restaurant) {\r\n this.dailyPrestations = null;\r\n return;\r\n }\r\n const date = new Date();\r\n this.cmdRepasService.getMenu(restaurant.cuisineCentraleId, restaurant.id, date)\r\n .subscribe((prestaModel: DailyMenuPrestationModel[]) => {\r\n if (prestaModel.length === 0) {\r\n this.dailyPrestations = null;\r\n this.interactionService.showSimpleMessage('Erreur', 'Aucun menu n\\'a été récupéré pour cette semaine.');\r\n } else {\r\n this.dailyPrestations = prestaModel;\r\n if (this.mealSlider) {\r\n this.handleSliderInitialIndex();\r\n }\r\n }\r\n },\r\n err => {\r\n this.interactionService.showSimpleMessage('Erreur', 'Une erreur est survenue lors de la récupération des menus de la semaine.');\r\n this.dailyPrestations = null;\r\n }\r\n );\r\n }\r\n\r\n private handleSliderInitialIndex() {\r\n const now = new Date();\r\n let firstCurrentSlideIndex: number = null;\r\n for (let i = 0; i < this.dailyPrestations.length; i++) {\r\n const presta = this.dailyPrestations[i];\r\n if (DateHelper.areSameDayOfYear(presta.date, now)) {\r\n firstCurrentSlideIndex = i;\r\n }\r\n }\r\n\r\n if (firstCurrentSlideIndex != null) {\r\n this.mealSlider.setInitialIndex(firstCurrentSlideIndex);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n // required (untilDestroyed)\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./home.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i3 from \"../meal-tile/meal-tile.component.ngfactory\";\nimport * as i4 from \"../meal-tile/meal-tile.component\";\nimport * as i5 from \"@angular/router\";\nimport * as i6 from \"../meal-slider/meal-slider.component.ngfactory\";\nimport * as i7 from \"../meal-slider/meal-slider.component\";\nimport * as i8 from \"@angular/common\";\nimport * as i9 from \"./home.component\";\nimport * as i10 from \"../repas/services/commande-repas.service\";\nimport * as i11 from \"../shared/services/application-data.service\";\nimport * as i12 from \"../shared/services/api/logo/logo-route.service\";\nimport * as i13 from \"../shared/services/authentication/authentication.service\";\nimport * as i14 from \"../shared/services/interaction.service\";\nimport * as i15 from \"../alertes/services/alertes.service\";\nvar styles_HomeComponent = [i0.styles];\nvar RenderType_HomeComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_HomeComponent, data: {} });\nexport { RenderType_HomeComponent as RenderType_HomeComponent };\nfunction View_HomeComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"span\", [[\"class\", \"title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"])), (_l()(), i1.ɵted(-1, null, [\" : \"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.dailyQuoteTitle; _ck(_v, 2, 0, currVal_0); }); }\nfunction View_HomeComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, \"div\", [[\"class\", \"box btn-ripple pointerHover\"]], [[2, \"disabled\", null]], null, null, null, null)), i1.ɵdid(1, 16384, null, 0, i2.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"background\": 1, \"hover\": 2, \"isSecondary\": 3 }), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"app-meal-tile\", [], null, null, null, i3.View_MealTileComponent_0, i3.RenderType_MealTileComponent)), i1.ɵdid(4, 114688, null, 0, i4.MealTileComponent, [i5.Router], { item: [0, \"item\"] }, null), (_l()(), i1.ɵeld(5, 0, null, null, 0, \"div\", [[\"class\", \"border\"]], null, null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_1 = _ck(_v, 2, 0, _co.currentType, true, true, true); _ck(_v, 1, 0, currVal_1); var currVal_2 = _v.context.$implicit; _ck(_v, 4, 0, currVal_2); }, function (_ck, _v) { var currVal_0 = !_v.context.$implicit.isEnabled; _ck(_v, 0, 0, currVal_0); }); }\nexport function View_HomeComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { mealSlider: 0 }), (_l()(), i1.ɵeld(1, 0, null, null, 9, \"div\", [[\"class\", \"home-top\"]], [[4, \"background-image\", null]], null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 4, \"div\", [[\"class\", \"welcome\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" Bienvenue sur \"])), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"div\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 0, \"img\", [[\"class\", \"logo-icon\"], [\"src\", \"/assets/images/welcome_logo.png\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 2, \"div\", [[\"class\", \"tiles-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"app-meal-slider\", [], [[8, \"hidden\", 0]], null, null, i6.View_MealSliderComponent_0, i6.RenderType_MealSliderComponent)), i1.ɵdid(9, 49152, [[1, 4]], 0, i7.MealSliderComponent, [i1.ChangeDetectorRef], { dailyPrestations: [0, \"dailyPrestations\"], currentType: [1, \"currentType\"] }, null), (_l()(), i1.ɵeld(10, 0, null, null, 0, \"div\", [[\"class\", \"jagged-border\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 13, \"div\", [[\"class\", \"home-bottom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 5, \"div\", [[\"class\", \"daily-quote pointerHover\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.openAlerte() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(13, 0, null, null, 4, \"div\", [], [[8, \"hidden\", 0]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_HomeComponent_1)), i1.ɵdid(15, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(16, 0, null, null, 1, \"span\", [[\"class\", \"message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(17, null, [\"\", \"\"])), (_l()(), i1.ɵeld(18, 0, null, null, 2, \"hr\", [[\"class\", \"bar\"]], null, null, null, null, null)), i1.ɵdid(19, 16384, null, 0, i2.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(20, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(21, 0, null, null, 3, \"div\", [[\"class\", \"menu\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_HomeComponent_2)), i1.ɵdid(23, 278528, null, 0, i8.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), i1.ɵpid(131072, i8.AsyncPipe, [i1.ChangeDetectorRef])], function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.dailyPrestations; var currVal_3 = _co.currentType; _ck(_v, 9, 0, currVal_2, currVal_3); var currVal_5 = _co.dailyQuoteTitle; _ck(_v, 15, 0, currVal_5); var currVal_7 = _ck(_v, 20, 0, _co.currentType, true); _ck(_v, 19, 0, currVal_7); var currVal_8 = i1.ɵunv(_v, 23, 0, i1.ɵnov(_v, 24).transform(_co.menuList$)); _ck(_v, 23, 0, currVal_8); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((\"url(\" + _co.logoContratUrl) + \")\"); _ck(_v, 1, 0, currVal_0); var currVal_1 = !_co.dailyPrestations; _ck(_v, 8, 0, currVal_1); var currVal_4 = !_co.dailyQuote; _ck(_v, 13, 0, currVal_4); var currVal_6 = _co.dailyQuote; _ck(_v, 17, 0, currVal_6); }); }\nexport function View_HomeComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-home\", [], null, null, null, View_HomeComponent_0, RenderType_HomeComponent)), i1.ɵdid(1, 245760, null, 0, i9.HomeComponent, [i10.CommandeRepasService, i11.ApplicationDataService, i12.LogoRouteService, i13.AuthenticationService, i14.InteractionService, i15.AlertesService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar HomeComponentNgFactory = i1.ɵccf(\"app-home\", i9.HomeComponent, View_HomeComponent_Host_0, {}, {}, []);\nexport { HomeComponentNgFactory as HomeComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{height:calc(100% - 57px);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}[_nghost-%COMP%] .home-top[_ngcontent-%COMP%]{height:calc(100% - 260px);min-height:300px;background-size:cover;background-position-x:center;background-position-y:center;position:relative}@media only screen and (min-width:768px){[_nghost-%COMP%] .home-top[_ngcontent-%COMP%]{height:auto;min-height:auto}[_nghost-%COMP%] .home-top[_ngcontent-%COMP%] .tiles-container[_ngcontent-%COMP%]{padding-bottom:20px}}[_nghost-%COMP%] .home-top[_ngcontent-%COMP%] .welcome[_ngcontent-%COMP%]{display:none;text-align:center;color:#fff;padding:40px;text-shadow:1px 1px 5px #000}[_nghost-%COMP%] .home-top[_ngcontent-%COMP%] .welcome[_ngcontent-%COMP%] [_ngcontent-%COMP%]:first-child{font-size:48px}[_nghost-%COMP%] .home-top[_ngcontent-%COMP%] .welcome[_ngcontent-%COMP%] [_ngcontent-%COMP%]:nth-child(2){font-size:87px}[_nghost-%COMP%] .home-top[_ngcontent-%COMP%] .welcome[_ngcontent-%COMP%] [_ngcontent-%COMP%]:last-child{font-size:56px}[_nghost-%COMP%] .home-top[_ngcontent-%COMP%] .jagged-border[_ngcontent-%COMP%]:after{content:\\\" \\\";width:100%;background-color:transparent;height:1rem;bottom:0;position:absolute;background:linear-gradient(-45deg,#fff .5rem,transparent 0),linear-gradient(45deg,#fff .5rem,transparent 0);background-repeat:repeat-x;background-size:1rem 1rem;margin-bottom:-1px;display:block}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%]{margin-bottom:12px}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .daily-quote[_ngcontent-%COMP%]{margin:12px 32px;font-style:italic;font-weight:600;font-size:16px;overflow:hidden;position:relative;line-height:1.2em;max-height:2.4em;text-align:justify}@media only screen and (min-width:768px){[_nghost-%COMP%] .home-top[_ngcontent-%COMP%] .welcome[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] .home-top[_ngcontent-%COMP%] .welcome[_ngcontent-%COMP%] .logo-icon{height:70px}[_nghost-%COMP%] .home-top[_ngcontent-%COMP%] .jagged-border[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .daily-quote[_ngcontent-%COMP%]{width:48%;margin:52px auto 16px;color:#000;font-size:28px}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%]{margin-top:64px}}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .daily-quote[_ngcontent-%COMP%]:before{content:\\\"...\\\";position:absolute;right:0;bottom:0;background:#fff}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .daily-quote[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{text-decoration:underline}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .btn-ripple[_ngcontent-%COMP%]{transition:ease-in-out all .3s;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .btn-ripple[_ngcontent-%COMP%]:hover{background-color:#f2f2f1}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .btn-ripple[_ngcontent-%COMP%]:after{content:\\\"\\\";display:block;position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,#000 25%,transparent 26%);background-repeat:no-repeat;background-position:50%;-ms-transform:scale(5,5);transform:scale(5,5);opacity:0;transition:transform 1s,opacity .5s}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .btn-ripple[_ngcontent-%COMP%]:active:after{-ms-transform:scale(0,0);transform:scale(0,0);opacity:.2;transition:0s}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .box[_ngcontent-%COMP%]{padding-bottom:16px;-ms-flex:0 0 32%;flex:0 0 32%;position:relative}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .box.disabled[_ngcontent-%COMP%]{opacity:.5}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .box.disabled.pointerHover[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .box[_ngcontent-%COMP%] app-meal-tile[_ngcontent-%COMP%]{min-height:100%}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .box[_ngcontent-%COMP%] .border[_ngcontent-%COMP%]{pointer-events:none;position:absolute;min-height:75%;border:0 solid #e6e6e6}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .box[_ngcontent-%COMP%]:nth-child(3n-2) .border[_ngcontent-%COMP%]{width:90%;bottom:0;right:0;border-bottom-width:2px}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .box[_ngcontent-%COMP%]:nth-child(3n-1) .border[_ngcontent-%COMP%]{bottom:0;left:0;width:31.3vw;border-width:0 2px 2px}@media (min-width:1425px){[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .box[_ngcontent-%COMP%]:nth-child(3n-1) .border[_ngcontent-%COMP%]{width:31.4vw}}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .box[_ngcontent-%COMP%]:nth-child(3n) .border[_ngcontent-%COMP%]{bottom:0;left:0;width:90%;border-bottom-width:2px}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .box[_ngcontent-%COMP%]:nth-child(n+3) .border[_ngcontent-%COMP%]{min-height:100%}[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .box[_ngcontent-%COMP%]:nth-child(7) .border[_ngcontent-%COMP%]{top:0;left:0;width:31.3vw;border-width:0 2px}@media (min-width:1425px){[_nghost-%COMP%] .home-bottom[_ngcontent-%COMP%] .menu[_ngcontent-%COMP%] .box[_ngcontent-%COMP%]:nth-child(7) .border[_ngcontent-%COMP%]{width:31.4vw}}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n Bienvenue sur\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{dailyQuoteTitle}} : {{dailyQuote}}
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { LegalInfoComponent } from '../legal-info/legal-info.component';\r\nimport { ApiSettings } from '../shared/models/api/api-settings';\r\nimport { NotificationCustomModel } from '../shared/models/notification.model';\r\nimport { InteractionService } from '../shared/services/interaction.service';\r\nimport { LogService } from '../shared/services/log.service';\r\n\r\n@Component({\r\n selector: 'sandbox',\r\n templateUrl: './sandbox.component.html',\r\n styleUrls: ['./sandbox.component.scss']\r\n})\r\nexport class SandboxComponent implements OnInit {\r\n\r\n public currentClock: string;\r\n private _clockDate: Date = new Date();\r\n\r\n public set clockDate(v: string) {\r\n const actualParsedDate = v ? new Date(v) : new Date();\r\n const normalizedParsedDate = new Date(actualParsedDate.getTime() + (actualParsedDate.getTimezoneOffset() * 60000));\r\n this._clockDate = normalizedParsedDate;\r\n }\r\n\r\n\r\n public get clockDate(): string {\r\n return this.parseDateToStringWithFormat(this._clockDate);\r\n }\r\n\r\n constructor(private _interactionService: InteractionService,\r\n private _logService: LogService,\r\n private _http: HttpClient,\r\n private _apiSettings: ApiSettings) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.refreshServerClock();\r\n }\r\n\r\n onButtonClick() {\r\n const notif: NotificationCustomModel = new NotificationCustomModel();\r\n notif.id = 1;\r\n notif.title = 'Mentions légales';\r\n notif.type = LegalInfoComponent;\r\n notif.fullScreen = true;\r\n\r\n this._interactionService.showNotification(notif);\r\n }\r\n\r\n throwException() {\r\n throw new Error('TEST EXCEPTION');\r\n }\r\n\r\n logInfo() {\r\n this._logService.Info('Test log d\\'information.');\r\n }\r\n\r\n setClock() {\r\n const serverDate = this.clockDate && moment(this.clockDate).toDate();\r\n this.setServerClock(serverDate).subscribe(() => this.refreshServerClock());\r\n }\r\n\r\n resetClock() {\r\n this.setServerClock(null).subscribe(() => {\r\n this.refreshServerClock();\r\n this._clockDate = new Date();\r\n });\r\n }\r\n\r\n private refreshServerClock() {\r\n this.getServerClock().subscribe(result => this.currentClock = result);\r\n }\r\n\r\n private getServerClock() {\r\n const url = `${this._apiSettings.apiUrl}/debug/getclock`;\r\n return this._http.get(url, { responseType: 'text' });\r\n }\r\n\r\n private setServerClock(serverDate?: Date) {\r\n const serverDateQueryParam: string = (serverDate && moment(serverDate).format('YYYY-MM-DD hh:mma')) || '';\r\n const url = `${this._apiSettings.apiUrl}/debug/setclock/${serverDateQueryParam}`;\r\n return this._http.post(url, null, { responseType: 'text' });\r\n }\r\n\r\n private parseDateToStringWithFormat(date: Date): string {\r\n let result: string;\r\n let dd = date.getDate().toString();\r\n let mm = (date.getMonth() + 1).toString();\r\n let hh = date.getHours().toString();\r\n let min = date.getMinutes().toString();\r\n dd = dd.length === 2 ? dd : '0' + dd;\r\n mm = mm.length === 2 ? mm : '0' + mm;\r\n hh = hh.length === 2 ? hh : '0' + hh;\r\n min = min.length === 2 ? min : '0' + min;\r\n result = [date.getFullYear(), '-', mm, '-', dd, 'T', hh, ':', min].join('');\r\n\r\n return result;\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./sandbox.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"./sandbox.component\";\nimport * as i4 from \"../shared/services/interaction.service\";\nimport * as i5 from \"../shared/services/log.service\";\nimport * as i6 from \"@angular/common/http\";\nimport * as i7 from \"../shared/models/api/api-settings\";\nvar styles_SandboxComponent = [i0.styles];\nvar RenderType_SandboxComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_SandboxComponent, data: {} });\nexport { RenderType_SandboxComponent as RenderType_SandboxComponent };\nexport function View_SandboxComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 34, \"div\", [[\"class\", \"page-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"h1\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Sandbox\"])), (_l()(), i1.ɵeld(3, 0, null, null, 21, \"div\", [[\"class\", \"widget\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"div\", [[\"class\", \"widget-title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Clock\"])), (_l()(), i1.ɵeld(6, 0, null, null, 18, \"div\", [[\"class\", \"widget-content\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 4, \"div\", [[\"class\", \"widget-row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Current clock : \"])), (_l()(), i1.ɵeld(10, 0, null, null, 1, \"span\", [[\"class\", \"value\"]], null, null, null, null, null)), (_l()(), i1.ɵted(11, null, [\"\", \"\"])), (_l()(), i1.ɵeld(12, 0, null, null, 12, \"div\", [[\"class\", \"widget-row\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(13, 0, null, null, 1, \"label\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Set clock : \"])), (_l()(), i1.ɵeld(15, 0, null, null, 5, \"input\", [[\"id\", \"clockDateTimePicker\"], [\"placeholder\", \"D\\u00E9finir Date\"], [\"type\", \"datetime-local\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 16)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 16).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 16)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 16)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.clockDate = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(16, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.DefaultValueAccessor]), i1.ɵdid(18, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(20, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(21, 0, null, null, 1, \"button\", [[\"class\", \"red-button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.setClock() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Forcer la date\"])), (_l()(), i1.ɵeld(23, 0, null, null, 1, \"button\", [[\"class\", \"green-button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.resetClock() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Restaurer la date\"])), (_l()(), i1.ɵeld(25, 0, null, null, 9, \"div\", [[\"class\", \"widget\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(26, 0, null, null, 1, \"div\", [[\"class\", \"widget-title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Divers\"])), (_l()(), i1.ɵeld(28, 0, null, null, 6, \"div\", [[\"class\", \"widget-content\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(29, 0, null, null, 1, \"button\", [], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onButtonClick() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Test mention l\\u00E9gales\"])), (_l()(), i1.ɵeld(31, 0, null, null, 1, \"button\", [], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.throwException() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Test exception logging\"])), (_l()(), i1.ɵeld(33, 0, null, null, 1, \"button\", [], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.logInfo() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Test info logging\"]))], function (_ck, _v) { var _co = _v.component; var currVal_8 = _co.clockDate; _ck(_v, 18, 0, currVal_8); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.currentClock; _ck(_v, 11, 0, currVal_0); var currVal_1 = i1.ɵnov(_v, 20).ngClassUntouched; var currVal_2 = i1.ɵnov(_v, 20).ngClassTouched; var currVal_3 = i1.ɵnov(_v, 20).ngClassPristine; var currVal_4 = i1.ɵnov(_v, 20).ngClassDirty; var currVal_5 = i1.ɵnov(_v, 20).ngClassValid; var currVal_6 = i1.ɵnov(_v, 20).ngClassInvalid; var currVal_7 = i1.ɵnov(_v, 20).ngClassPending; _ck(_v, 15, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); }); }\nexport function View_SandboxComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"sandbox\", [], null, null, null, View_SandboxComponent_0, RenderType_SandboxComponent)), i1.ɵdid(1, 114688, null, 0, i3.SandboxComponent, [i4.InteractionService, i5.LogService, i6.HttpClient, i7.ApiSettings], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar SandboxComponentNgFactory = i1.ɵccf(\"sandbox\", i3.SandboxComponent, View_SandboxComponent_Host_0, {}, {}, []);\nexport { SandboxComponentNgFactory as SandboxComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .page-container[_ngcontent-%COMP%]{margin:0 10px}[_nghost-%COMP%] .widget[_ngcontent-%COMP%]{display:inline-block;vertical-align:top;border:1px solid grey;margin-right:15px}[_nghost-%COMP%] .widget[_ngcontent-%COMP%] .widget-title[_ngcontent-%COMP%]{font-size:larger;font-weight:700;background-color:#d3d3d3;padding-left:.5em}[_nghost-%COMP%] .widget[_ngcontent-%COMP%] .widget-content[_ngcontent-%COMP%]{margin:10px}[_nghost-%COMP%] .widget[_ngcontent-%COMP%] .widget-content[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:700;display:inline-block;min-width:7em}[_nghost-%COMP%] #clockDateTimePicker[_ngcontent-%COMP%]{font-size:large}\"];\nexport { styles as styles };\n","
\r\n

Sandbox

\r\n\r\n
\r\n
Clock
\r\n
\r\n
{{ currentClock }}
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
Divers
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n","import { ApplicationDataService } from '../../shared/services/application-data.service';\n\nimport { RestaurantTypeEnum } from '../../shared/enums/restaurant-type.enum';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\n\nimport { OdgEvaluationModel } from '../models/odg.model';\n\n@Component({\n selector: 'odg-bad-evaluation',\n templateUrl: './odg-bad-evaluation.component.html',\n styleUrls: ['./odg-bad-evaluation.component.scss']\n})\nexport class OdgBadEvaluationComponent {\n @Input()\n badEvaluation: OdgEvaluationModel;\n @Input()\n currentType: RestaurantTypeEnum;\n\n @Output()\n badEvaluationClose: EventEmitter = new EventEmitter();\n\n get canValidate(): boolean {\n let bool = this.badEvaluation.aspect\n || this.badEvaluation.assaisonnement\n || this.badEvaluation.consistance\n || (this.badEvaluation.autreRaison != undefined && this.badEvaluation.autreRaison.length >= 3);\n return bool;\n }\n\n constructor(private appDataService: ApplicationDataService) { }\n\n validate() {\n if (this.canValidate)\n {\n this.badEvaluation.autre = !this.badEvaluation.aspect && !this.badEvaluation.assaisonnement && !this.badEvaluation.consistance && this.badEvaluation.autreRaison != undefined;\n\n this.badEvaluationClose.emit();\n this.appDataService.closeBadEvaluation(this.badEvaluation);\n }\n this.badEvaluation = null;\n }\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./odg-bad-evaluation.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"../../shared/directives/restaurant-type-color.directive\";\nimport * as i4 from \"./odg-bad-evaluation.component\";\nimport * as i5 from \"../../shared/services/application-data.service\";\nvar styles_OdgBadEvaluationComponent = [i0.styles];\nvar RenderType_OdgBadEvaluationComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_OdgBadEvaluationComponent, data: {} });\nexport { RenderType_OdgBadEvaluationComponent as RenderType_OdgBadEvaluationComponent };\nexport function View_OdgBadEvaluationComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"div\", [[\"class\", \"bg-overlay\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 44, \"div\", [[\"class\", \"bad-eval-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 43, \"div\", [[\"class\", \"bad-eval-content\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 42, \"div\", [[\"class\", \"inner-content\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, \"span\", [[\"class\", \"title\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"RAISON DE LA NON CONSOMMATION\"])), (_l()(), i1.ɵeld(6, 0, null, null, 9, \"div\", [[\"class\", \"checkboxCustom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 5, \"input\", [[\"id\", \"assaisonnement\"], [\"name\", \"\"], [\"type\", \"checkbox\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 8).onChange($event.target.checked) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 8).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.badEvaluation.assaisonnement = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(8, 16384, null, 0, i2.CheckboxControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.CheckboxControlValueAccessor]), i1.ɵdid(10, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(12, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(13, 0, null, null, 2, \"label\", [[\"for\", \"assaisonnement\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(14, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Assaisonnement\"])), (_l()(), i1.ɵeld(16, 0, null, null, 9, \"div\", [[\"class\", \"checkboxCustom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(17, 0, null, null, 5, \"input\", [[\"id\", \"consistance\"], [\"name\", \"\"], [\"type\", \"checkbox\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 18).onChange($event.target.checked) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 18).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.badEvaluation.consistance = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(18, 16384, null, 0, i2.CheckboxControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.CheckboxControlValueAccessor]), i1.ɵdid(20, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(22, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(23, 0, null, null, 2, \"label\", [[\"for\", \"consistance\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(24, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Consistance\"])), (_l()(), i1.ɵeld(26, 0, null, null, 9, \"div\", [[\"class\", \"checkboxCustom\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(27, 0, null, null, 5, \"input\", [[\"id\", \"aspect\"], [\"name\", \"\"], [\"type\", \"checkbox\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 28).onChange($event.target.checked) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 28).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.badEvaluation.aspect = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(28, 16384, null, 0, i2.CheckboxControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.CheckboxControlValueAccessor]), i1.ɵdid(30, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(32, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(33, 0, null, null, 2, \"label\", [[\"for\", \"aspect\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(34, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Aspect\"])), (_l()(), i1.ɵeld(36, 0, null, null, 5, \"textarea\", [[\"class\", \"simple-textarea\"], [\"placeholder\", \"Commentaire (3 caract\\u00E8res min.)\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 37)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 37).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 37)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 37)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_4 = ((_co.badEvaluation.autreRaison = $event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(37, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.DefaultValueAccessor]), i1.ɵdid(39, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(41, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(42, 0, null, null, 3, \"button\", [[\"class\", \"generic-button validate-button\"]], [[8, \"disabled\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.validate() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(43, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(44, { \"type\": 0, \"background\": 1, \"border\": 2 }), (_l()(), i1.ɵted(-1, null, [\"VALIDER\"]))], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"\"; var currVal_8 = _co.badEvaluation.assaisonnement; _ck(_v, 10, 0, currVal_7, currVal_8); var currVal_16 = \"\"; var currVal_17 = _co.badEvaluation.consistance; _ck(_v, 20, 0, currVal_16, currVal_17); var currVal_25 = \"\"; var currVal_26 = _co.badEvaluation.aspect; _ck(_v, 30, 0, currVal_25, currVal_26); var currVal_34 = _co.badEvaluation.autreRaison; _ck(_v, 39, 0, currVal_34); var currVal_36 = _ck(_v, 44, 0, _co.currentType, true, true); _ck(_v, 43, 0, currVal_36); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 12).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 12).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 12).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 12).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 12).ngClassValid; var currVal_5 = i1.ɵnov(_v, 12).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 12).ngClassPending; _ck(_v, 7, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_9 = i1.ɵnov(_v, 22).ngClassUntouched; var currVal_10 = i1.ɵnov(_v, 22).ngClassTouched; var currVal_11 = i1.ɵnov(_v, 22).ngClassPristine; var currVal_12 = i1.ɵnov(_v, 22).ngClassDirty; var currVal_13 = i1.ɵnov(_v, 22).ngClassValid; var currVal_14 = i1.ɵnov(_v, 22).ngClassInvalid; var currVal_15 = i1.ɵnov(_v, 22).ngClassPending; _ck(_v, 17, 0, currVal_9, currVal_10, currVal_11, currVal_12, currVal_13, currVal_14, currVal_15); var currVal_18 = i1.ɵnov(_v, 32).ngClassUntouched; var currVal_19 = i1.ɵnov(_v, 32).ngClassTouched; var currVal_20 = i1.ɵnov(_v, 32).ngClassPristine; var currVal_21 = i1.ɵnov(_v, 32).ngClassDirty; var currVal_22 = i1.ɵnov(_v, 32).ngClassValid; var currVal_23 = i1.ɵnov(_v, 32).ngClassInvalid; var currVal_24 = i1.ɵnov(_v, 32).ngClassPending; _ck(_v, 27, 0, currVal_18, currVal_19, currVal_20, currVal_21, currVal_22, currVal_23, currVal_24); var currVal_27 = i1.ɵnov(_v, 41).ngClassUntouched; var currVal_28 = i1.ɵnov(_v, 41).ngClassTouched; var currVal_29 = i1.ɵnov(_v, 41).ngClassPristine; var currVal_30 = i1.ɵnov(_v, 41).ngClassDirty; var currVal_31 = i1.ɵnov(_v, 41).ngClassValid; var currVal_32 = i1.ɵnov(_v, 41).ngClassInvalid; var currVal_33 = i1.ɵnov(_v, 41).ngClassPending; _ck(_v, 36, 0, currVal_27, currVal_28, currVal_29, currVal_30, currVal_31, currVal_32, currVal_33); var currVal_35 = !_co.canValidate; _ck(_v, 42, 0, currVal_35); }); }\nexport function View_OdgBadEvaluationComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"odg-bad-evaluation\", [], null, null, null, View_OdgBadEvaluationComponent_0, RenderType_OdgBadEvaluationComponent)), i1.ɵdid(1, 49152, null, 0, i4.OdgBadEvaluationComponent, [i5.ApplicationDataService], null, null)], null, null); }\nvar OdgBadEvaluationComponentNgFactory = i1.ɵccf(\"odg-bad-evaluation\", i4.OdgBadEvaluationComponent, View_OdgBadEvaluationComponent_Host_0, { badEvaluation: \"badEvaluation\", currentType: \"currentType\" }, { badEvaluationClose: \"badEvaluationClose\" }, []);\nexport { OdgBadEvaluationComponentNgFactory as OdgBadEvaluationComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{position:absolute;width:100%;height:100%;z-index:1000}[_nghost-%COMP%] .bg-overlay[_ngcontent-%COMP%]{position:fixed;width:100%;height:100%;z-index:998;background-color:rgba(0,0,0,.5);transition:all .3s}[_nghost-%COMP%] .bad-eval-container[_ngcontent-%COMP%]{z-index:999;position:relative;height:100%}[_nghost-%COMP%] .bad-eval-container[_ngcontent-%COMP%] .bad-eval-content[_ngcontent-%COMP%]{background:#f6f6f6;position:absolute;top:50%;left:50%;width:90%;-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}[_nghost-%COMP%] .bad-eval-container[_ngcontent-%COMP%] .bad-eval-content[_ngcontent-%COMP%] .inner-content[_ngcontent-%COMP%]{margin:32px}[_nghost-%COMP%] .bad-eval-container[_ngcontent-%COMP%] .bad-eval-content[_ngcontent-%COMP%] .inner-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}@media only screen and (min-width:768px){[_nghost-%COMP%] .bad-eval-container[_ngcontent-%COMP%] .bad-eval-content[_ngcontent-%COMP%]{width:initial}[_nghost-%COMP%] .bad-eval-container[_ngcontent-%COMP%] .bad-eval-content[_ngcontent-%COMP%] .inner-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:22px}}[_nghost-%COMP%] .bad-eval-container[_ngcontent-%COMP%] .bad-eval-content[_ngcontent-%COMP%] .inner-content[_ngcontent-%COMP%] .checkboxCustom[_ngcontent-%COMP%]{margin:24px 0;font-size:21px}[_nghost-%COMP%] .bad-eval-container[_ngcontent-%COMP%] .bad-eval-content[_ngcontent-%COMP%] .inner-content[_ngcontent-%COMP%] .validate-button[_ngcontent-%COMP%]{margin-top:24px;width:100%;font-size:22px}[_nghost-%COMP%] .bad-eval-container[_ngcontent-%COMP%] .bad-eval-content[_ngcontent-%COMP%] .inner-content[_ngcontent-%COMP%] .validate-button[_ngcontent-%COMP%]:disabled{opacity:.35}\"];\nexport { styles as styles };\n","
\r\n
\r\n
\r\n
\r\n
\r\n RAISON DE LA NON CONSOMMATION\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { EpicerieInventaireService } from '../epicerie-inventaire/services/epicerie-inventaire.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { CartArticleModel } from '../epicerie-inventaire/models/article.model';\r\n\r\n@Component({\r\n selector: 'app-cart-tile',\r\n templateUrl: './cart-tile.component.html',\r\n styleUrls: ['./cart-tile.component.scss']\r\n})\r\nexport class CartTileComponent implements OnInit {\r\n public get articles(): CartArticleModel[] {\r\n return this.epicerieInventaireService.currentCartArticles || [];\r\n }\r\n\r\n constructor(private epicerieInventaireService: EpicerieInventaireService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onClick() {\r\n this.epicerieInventaireService.toggleCart();\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./cart-tile.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"./cart-tile.component\";\nimport * as i3 from \"../epicerie-inventaire/services/epicerie-inventaire.service\";\nvar styles_CartTileComponent = [i0.styles];\nvar RenderType_CartTileComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_CartTileComponent, data: {} });\nexport { RenderType_CartTileComponent as RenderType_CartTileComponent };\nexport function View_CartTileComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"button\", [[\"class\", \"pointerHover\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onClick() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.articles.length; _ck(_v, 2, 0, currVal_0); }); }\nexport function View_CartTileComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-cart-tile\", [], null, null, null, View_CartTileComponent_0, RenderType_CartTileComponent)), i1.ɵdid(1, 114688, null, 0, i2.CartTileComponent, [i3.EpicerieInventaireService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar CartTileComponentNgFactory = i1.ɵccf(\"app-cart-tile\", i2.CartTileComponent, View_CartTileComponent_Host_0, {}, {}, []);\nexport { CartTileComponentNgFactory as CartTileComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] button[_ngcontent-%COMP%]{width:30px;height:20px;overflow:visible;border:none;outline:0;background:url(/assets/images/epicerie-inventaire/cart.png) left center/contain no-repeat;position:relative;vertical-align:top}@media only screen and (min-width:768px){[_nghost-%COMP%] button[_ngcontent-%COMP%]{width:27px;height:17px;background-size:contain}}[_nghost-%COMP%] button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{position:absolute;border-radius:50%;padding:1px 3px 4px;background:#000;top:-5px;right:-2px;font-size:10px;color:#fff;width:10px;height:10px}\"];\nexport { styles as styles };\n","","import { Component, OnDestroy, OnInit, HostListener } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { DiscussionService } from '../discussion/services/discussion.service';\r\nimport { ROUTE_URLS } from '../shared/constants/route_urls';\r\nimport { ApplicationDataService } from '../shared/services/application-data.service';\r\n\r\n@Component({\r\n selector: 'app-notif-tile',\r\n templateUrl: './notif-tile.component.html',\r\n styleUrls: ['./notif-tile.component.scss']\r\n})\r\nexport class NotifTileComponent implements OnInit, OnDestroy {\r\n public notifCount: number = 0;\r\n\r\n private notifLuSub: Subscription;\r\n\r\n @HostListener('click') onClick() {\r\n this.onNotifClick();\r\n }\r\n\r\n constructor(\r\n private appDataService: ApplicationDataService,\r\n private router: Router,\r\n private discussionService: DiscussionService) { }\r\n\r\n ngOnInit() {\r\n this.discussionService.getUnreadCount()\r\n .subscribe(count => {\r\n this.notifCount = count.unreadCount;\r\n },\r\n err => {\r\n this.notifCount = 0;\r\n });\r\n\r\n this.notifLuSub = this.appDataService.notificationLu\r\n .subscribe(decrease => {\r\n const newCount = this.notifCount - decrease;\r\n this.notifCount = Math.max(0, newCount);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.notifLuSub.unsubscribe();\r\n }\r\n\r\n onNotifClick() {\r\n this.router.navigate([ROUTE_URLS.Discussion]);\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./notif-tile.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./notif-tile.component\";\nimport * as i4 from \"../shared/services/application-data.service\";\nimport * as i5 from \"@angular/router\";\nimport * as i6 from \"../discussion/services/discussion.service\";\nvar styles_NotifTileComponent = [i0.styles];\nvar RenderType_NotifTileComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_NotifTileComponent, data: {} });\nexport { RenderType_NotifTileComponent as RenderType_NotifTileComponent };\nfunction View_NotifTileComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.notifCount; _ck(_v, 1, 0, currVal_0); }); }\nexport function View_NotifTileComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"mail_outline\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_NotifTileComponent_1)), i1.ɵdid(3, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.notifCount; _ck(_v, 3, 0, currVal_0); }, null); }\nexport function View_NotifTileComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-notif-tile\", [], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).onClick() !== false);\n ad = (pd_0 && ad);\n } return ad; }, View_NotifTileComponent_0, RenderType_NotifTileComponent)), i1.ɵdid(1, 245760, null, 0, i3.NotifTileComponent, [i4.ApplicationDataService, i5.Router, i6.DiscussionService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar NotifTileComponentNgFactory = i1.ɵccf(\"app-notif-tile\", i3.NotifTileComponent, View_NotifTileComponent_Host_0, {}, {}, []);\nexport { NotifTileComponentNgFactory as NotifTileComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{padding-top:5px;padding-right:5px;position:relative;color:#fff}[_nghost-%COMP%]:hover{cursor:pointer}@media only screen and (min-width:768px){[_nghost-%COMP%]{margin-top:2px}}[_nghost-%COMP%] span[_ngcontent-%COMP%]{position:absolute;border-radius:30%;padding:0 2px;background:#000;top:0;right:0;font-size:10px}\"];\nexport { styles as styles };\n","mail_outline\r\n{{notifCount}}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { includes } from 'lodash';\r\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\nimport { MenuLinkModel } from '../shared/models/menu-link.model';\r\nimport { LogService } from '../shared/services/log.service';\r\n\r\n@Component({\r\n selector: 'app-menu-item',\r\n templateUrl: './menu-item.component.html',\r\n styleUrls: ['./menu-item.component.scss']\r\n})\r\nexport class MenuItemComponent implements OnInit {\r\n @Input()\r\n item: MenuLinkModel;\r\n\r\n @Input()\r\n restaurantType: RestaurantTypeEnum;\r\n\r\n @Output()\r\n onNavigated: EventEmitter = new EventEmitter();\r\n\r\n\r\n constructor(private router: Router, private logService: LogService) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n onClick() {\r\n if (this.item.isEnabled) {\r\n this.onNavigated.next();\r\n this.router.navigate([this.item.path]);\r\n } else {\r\n this.logService.Info(`The navigation is disabled for ${this.item.name}`);\r\n }\r\n }\r\n\r\n isActive(): boolean {\r\n\r\n return includes(this.router.url, this.item.path);\r\n\r\n // return (this.item.path == this.router.url);\r\n }\r\n\r\n isEnabled(): boolean {\r\n return this.item.isEnabled;\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./menu-item.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i3 from \"./menu-item.component\";\nimport * as i4 from \"@angular/router\";\nimport * as i5 from \"../shared/services/log.service\";\nvar styles_MenuItemComponent = [i0.styles];\nvar RenderType_MenuItemComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_MenuItemComponent, data: {} });\nexport { RenderType_MenuItemComponent as RenderType_MenuItemComponent };\nexport function View_MenuItemComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 6, \"div\", [[\"class\", \"tile\"]], [[2, \"menu-link-active\", null], [2, \"menu-link-disabled\", null], [8, \"title\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onClick() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"img\", [], [[2, \"specialHeight\", null], [8, \"src\", 4]], null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(3, null, [\"\", \"\"])), (_l()(), i1.ɵeld(4, 0, null, null, 2, \"span\", [[\"class\", \"link-hover\"]], null, null, null, null, null)), i1.ɵdid(5, 16384, null, 0, i2.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(6, { \"type\": 0, \"background\": 1 })], function (_ck, _v) { var _co = _v.component; var currVal_6 = _ck(_v, 6, 0, _co.restaurantType, true); _ck(_v, 5, 0, currVal_6); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.isActive(); var currVal_1 = !_co.isEnabled(); var currVal_2 = i1.ɵinlineInterpolate(1, \"\", _co.item.description, \"\"); _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2); var currVal_3 = _co.item.isSpecialHeight; var currVal_4 = _co.item.icon; _ck(_v, 1, 0, currVal_3, currVal_4); var currVal_5 = _co.item.name; _ck(_v, 3, 0, currVal_5); }); }\nexport function View_MenuItemComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-menu-item\", [], null, null, null, View_MenuItemComponent_0, RenderType_MenuItemComponent)), i1.ɵdid(1, 114688, null, 0, i3.MenuItemComponent, [i4.Router, i5.LogService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar MenuItemComponentNgFactory = i1.ɵccf(\"app-menu-item\", i3.MenuItemComponent, View_MenuItemComponent_Host_0, { item: \"item\", restaurantType: \"restaurantType\" }, { onNavigated: \"onNavigated\" }, []);\nexport { MenuItemComponentNgFactory as MenuItemComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{clear:both;display:block;width:100%;height:40px;border-top:1px solid #e6e6e6;position:relative}[_nghost-%COMP%]:before{content:\\\"\\\";display:none;border-right:1px solid #ccc;width:0;height:20px;position:absolute;top:50%;-ms-transform:translateY(-50%);transform:translateY(-50%);left:0}@media only screen and (min-width:970px){[_nghost-%COMP%]{display:block;width:auto;border:none;overflow:hidden;padding:0 15px;height:auto}[_nghost-%COMP%]:before{display:block}[_nghost-%COMP%]:first-child:before{display:none}[_nghost-%COMP%]:last-child{border-right:none}}@media only screen and (max-width:1050px){[_nghost-%COMP%]{padding:0 6px}}[_nghost-%COMP%]:last-child{border-bottom:1px solid #e6e6e6}[_nghost-%COMP%] .tile[_ngcontent-%COMP%]{white-space:nowrap;position:relative;padding:0 20px 0 52px}[_nghost-%COMP%] .tile[_ngcontent-%COMP%]:hover .link-hover[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] .tile[_ngcontent-%COMP%] .link-hover[_ngcontent-%COMP%]{display:none;background:#565656;position:absolute;top:0;left:0;height:40px;width:3px}[_nghost-%COMP%] .tile.menu-link-active[_ngcontent-%COMP%] .link-hover[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] .tile.menu-link-disabled[_ngcontent-%COMP%]{opacity:.5;cursor:not-allowed}[_nghost-%COMP%] .tile.menu-link-disabled[_ngcontent-%COMP%] .link-hover[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .tile[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:19px;position:absolute;left:20px;top:50%;-ms-transform:translateY(-50%);transform:translateY(-50%)}@media only screen and (min-width:970px){[_nghost-%COMP%]:last-child{border-bottom:none}[_nghost-%COMP%] .tile[_ngcontent-%COMP%]{padding:8px 0}[_nghost-%COMP%] .tile[_ngcontent-%COMP%] .link-hover[_ngcontent-%COMP%]{top:auto;bottom:0;height:2px;width:100%}[_nghost-%COMP%] .tile[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{display:none}}[_nghost-%COMP%] .tile[_ngcontent-%COMP%] .specialHeight[_ngcontent-%COMP%]{height:15px}[_nghost-%COMP%] .tile[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-transform:uppercase;line-height:45px;font-weight:600}@media only screen and (min-width:970px){[_nghost-%COMP%] .tile[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{line-height:15px;font-size:13px;font-weight:700}}\"];\nexport { styles as styles };\n","
\r\n \r\n {{item.name}}\r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-hamburger',\r\n templateUrl: './hamburger.component.html',\r\n styleUrls: ['./hamburger.component.scss']\r\n})\r\nexport class HamburgerComponent implements OnInit {\r\n @Input()\r\n isRight: boolean;\r\n\r\n @Input()\r\n color: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n if (!this.color) {\r\n this.color = \"#fff\";\r\n }\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./hamburger.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./hamburger.component\";\nvar styles_HamburgerComponent = [i0.styles];\nvar RenderType_HamburgerComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_HamburgerComponent, data: {} });\nexport { RenderType_HamburgerComponent as RenderType_HamburgerComponent };\nexport function View_HamburgerComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 6, \"div\", [[\"id\", \"menuToggle\"]], null, null, null, null, null)), i1.ɵprd(512, null, i2.ɵNgClassImpl, i2.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(2, 278528, null, 0, i2.NgClass, [i2.ɵNgClassImpl], { ngClass: [0, \"ngClass\"] }, null), i1.ɵpod(3, { \"right\": 0 }), (_l()(), i1.ɵeld(4, 0, null, null, 0, \"span\", [], [[4, \"background-color\", null]], null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 0, \"span\", [], [[4, \"background-color\", null]], null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 0, \"span\", [], [[4, \"background-color\", null]], null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 3, 0, _co.isRight); _ck(_v, 2, 0, currVal_0); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.color; _ck(_v, 4, 0, currVal_1); var currVal_2 = _co.color; _ck(_v, 5, 0, currVal_2); var currVal_3 = _co.color; _ck(_v, 6, 0, currVal_3); }); }\nexport function View_HamburgerComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-hamburger\", [], null, null, null, View_HamburgerComponent_0, RenderType_HamburgerComponent)), i1.ɵdid(1, 114688, null, 0, i3.HamburgerComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar HamburgerComponentNgFactory = i1.ɵccf(\"app-hamburger\", i3.HamburgerComponent, View_HamburgerComponent_Host_0, { isRight: \"isRight\", color: \"color\" }, {}, []);\nexport { HamburgerComponentNgFactory as HamburgerComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{display:block}[_nghost-%COMP%] #menuToggle[_ngcontent-%COMP%]{width:21px;height:21px}[_nghost-%COMP%] #menuToggle.right[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{float:right}[_nghost-%COMP%] #menuToggle[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;height:2px;margin-bottom:5px;position:relative}[_nghost-%COMP%] #menuToggle[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child{width:21px}[_nghost-%COMP%] #menuToggle[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){width:15px}[_nghost-%COMP%] #menuToggle[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child{width:9px}\"];\nexport { styles as styles };\n","
\r\n\t\r\n\t\r\n\t\r\n
","import { Component, OnInit, HostListener, Input, HostBinding, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\r\nimport { AlertesService } from '../../services/alertes.service';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { NotificationsModel } from '../../models/notifications.model';\r\n\r\n@Component({\r\n selector: 'app-alertes-tile',\r\n templateUrl: './alertes-tile.component.html',\r\n styleUrls: ['./alertes-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AlertesTileComponent implements OnInit {\r\n\r\n notifications$ = this._alertesService.notifications$;\r\n\r\n @Input()\r\n hideIfNoAlerte?: boolean;\r\n\r\n constructor(\r\n private _alertesService: AlertesService,\r\n private _changeDetectorRef: ChangeDetectorRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n showNotifications(notifications: NotificationsModel) {\r\n if (notifications) {\r\n this._alertesService.showNotifications(notifications)\r\n .subscribe(() => {\r\n this._changeDetectorRef.markForCheck();\r\n });\r\n }\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./alertes-tile.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./alertes-tile.component\";\nimport * as i4 from \"../../services/alertes.service\";\nvar styles_AlertesTileComponent = [i0.styles];\nvar RenderType_AlertesTileComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_AlertesTileComponent, data: {} });\nexport { RenderType_AlertesTileComponent as RenderType_AlertesTileComponent };\nfunction View_AlertesTileComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [[\"class\", \"badge-alertes\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \"\"]))], null, function (_ck, _v) { var currVal_0 = _v.parent.parent.context.ngIf.countUnread; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_AlertesTileComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"btn-alertes\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.showNotifications(_v.parent.context.ngIf) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"i\", [[\"class\", \"material-icons\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"notifications_none\"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_AlertesTileComponent_3)), i1.ɵdid(4, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var currVal_0 = _v.parent.context.ngIf.countUnread; _ck(_v, 4, 0, currVal_0); }, null); }\nfunction View_AlertesTileComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_AlertesTileComponent_2)), i1.ɵdid(2, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = (!_co.hideIfNoAlerte || (_v.context.ngIf && _v.context.ngIf.hasDisplayableNotification)); _ck(_v, 2, 0, currVal_0); }, null); }\nexport function View_AlertesTileComponent_0(_l) { return i1.ɵvid(2, [(_l()(), i1.ɵand(16777216, null, null, 2, null, View_AlertesTileComponent_1)), i1.ɵdid(1, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), i1.ɵpid(131072, i2.AsyncPipe, [i1.ChangeDetectorRef])], function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵunv(_v, 1, 0, i1.ɵnov(_v, 2).transform(_co.notifications$)); _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_AlertesTileComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-alertes-tile\", [], null, null, null, View_AlertesTileComponent_0, RenderType_AlertesTileComponent)), i1.ɵdid(1, 114688, null, 0, i3.AlertesTileComponent, [i4.AlertesService, i1.ChangeDetectorRef], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar AlertesTileComponentNgFactory = i1.ɵccf(\"app-alertes-tile\", i3.AlertesTileComponent, View_AlertesTileComponent_Host_0, { hideIfNoAlerte: \"hideIfNoAlerte\" }, {}, []);\nexport { AlertesTileComponentNgFactory as AlertesTileComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".btn-alertes[_ngcontent-%COMP%]{position:relative;color:#fff;padding-top:5px;padding-right:5px}.btn-alertes[_ngcontent-%COMP%] .badge-alertes[_ngcontent-%COMP%]{position:absolute;border-radius:30%;padding:0 2px;background:#000;top:0;right:0;font-size:10px}.btn-alertes[_ngcontent-%COMP%]:hover{cursor:pointer}\"];\nexport { styles as styles };\n","\r\n
\r\n notifications_none\r\n {{ notifications.countUnread }}\r\n
\r\n
\r\n","import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { Observable, of as observableOf } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'select-autocomplete',\r\n templateUrl: './select-autocomplete.component.html',\r\n styleUrls: ['./select-autocomplete.component.scss']\r\n})\r\nexport class SelectAutocompleteComponent {\r\n\r\n @ViewChild('dropdownInput', { static: true }) input: ElementRef;\r\n\r\n @Input()\r\n entityDisplayProp: string;\r\n\r\n @Input()\r\n entityDisplayFunc: ((entity: any) => string) | null;\r\n\r\n @Input()\r\n entity: any;\r\n\r\n @Input()\r\n entities: any[];\r\n\r\n @Input()\r\n showTooltip: boolean = true;\r\n\r\n\r\n @Output()\r\n entityChange: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n private _cd: ChangeDetectorRef\r\n ) { }\r\n\r\n public getEntities = (search: string): Observable => {\r\n\r\n let filteredList: any[];\r\n\r\n if (search != null) {\r\n search = search.toLowerCase();\r\n filteredList = this.entities\r\n // && this.entities.filter(el => StringHelper.includes(this.entityFormatter(el), search))\r\n && this.entities.filter(el => this.entityFormatter(el).toLowerCase().indexOf(search) > -1) // bcp plus rapide\r\n || [];\r\n }\r\n else {\r\n filteredList = this.entities;\r\n }\r\n\r\n //console.log(`🔎 SelectAutocomplete Search for '${search}'`);\r\n\r\n // FIX bug dans le composant AutoComplete, il ne fait pas de check après la souscription à cette méthode\r\n // see: https://github.com/ng2-ui/auto-complete/blob/master/projects/auto-complete/src/lib/auto-complete.component.ts#L231\r\n // du coup on force le refresh de toute la grappe\r\n setTimeout(() => {\r\n this._cd.markForCheck();\r\n }, 50);\r\n\r\n return observableOf(filteredList);\r\n }\r\n\r\n entityChanged(newEntity: any) {\r\n // On ignore les strings pour l'instant car lorsqu'on ne clic pas sur une case c'est la string\r\n // et non l'objet qui est renvoyé. On pourrait faire du matching de nom par compairson de string par contre\r\n if (typeof (newEntity) === 'string') {\r\n if (newEntity === '') {\r\n this.input.nativeElement.value = this.entityFormatter(this.entity);\r\n }\r\n return;\r\n } else if (this.entity != newEntity) {\r\n // On met à jour l'input car le composant affiche undefined quand on clic sur un élément (à voir pourquoi pour enlever ça potentiellement)\r\n this.input.nativeElement.value = this.entityFormatter(newEntity);\r\n // On emit la nouvelle donnée\r\n this.entityChange.emit(newEntity);\r\n } else {\r\n this.input.nativeElement.value = this.entityFormatter(this.entity);\r\n }\r\n }\r\n\r\n onArrowClick(event: Event) {\r\n this.input.nativeElement.value = '';\r\n this.input.nativeElement.focus();\r\n\r\n this.forceAutoCompleteReloadList();\r\n }\r\n\r\n onInputFocus(event: FocusEvent) {\r\n this.input.nativeElement.value = '';\r\n\r\n this.forceAutoCompleteReloadList();\r\n }\r\n\r\n private forceAutoCompleteReloadList() {\r\n // raise 'Input' Event to force reload (without this, the autocomplete input requires at leat one key to display the dropdown).\r\n // see: https://github.com/ng2-ui/auto-complete/blob/master/projects/auto-complete/src/lib/auto-complete.directive.ts#L362\r\n\r\n //use setTimeout to operate after other js & angular events\r\n setTimeout(() => {\r\n // https://stackoverflow.com/a/35659572/590741\r\n var event = document.createEvent('Event');\r\n event.initEvent('input', true, true);\r\n this.input.nativeElement.dispatchEvent(event);\r\n }, 100);\r\n\r\n }\r\n\r\n entityFormatter(entity: any): string {\r\n return entity\r\n && (this.entityDisplayProp\r\n ? entity[this.entityDisplayProp] // display using entityDisplayProp\r\n : (this.entityDisplayFunc && this.entityDisplayFunc(entity)) // display using entityDisplayFunc\r\n ) || entity;\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./select-autocomplete.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@ngui/auto-complete/dist/auto-complete.directive\";\nimport * as i3 from \"@angular/forms\";\nimport * as i4 from \"./select-autocomplete.component\";\nvar styles_SelectAutocompleteComponent = [i0.styles];\nvar RenderType_SelectAutocompleteComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_SelectAutocompleteComponent, data: {} });\nexport { RenderType_SelectAutocompleteComponent as RenderType_SelectAutocompleteComponent };\nexport function View_SelectAutocompleteComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(402653184, 1, { input: 0 }), (_l()(), i1.ɵeld(1, 16777216, null, null, 8, \"div\", [[\"class\", \"autocomplete-container\"], [\"match-formatted\", \"true\"], [\"ngui-auto-complete\", \"\"], [\"no-match-found-text\", \"Aucun r\\u00E9sultat\"], [\"z-index\", \"10\"]], [[8, \"title\", 0]], [[null, \"valueChanged\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"valueChanged\" === en)) {\n var pd_0 = (_co.entityChanged($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(2, 4931584, null, 0, i2.NguiAutoCompleteDirective, [i1.ComponentFactoryResolver, i1.ViewContainerRef, [8, null]], { source: [0, \"source\"], acceptUserInput: [1, \"acceptUserInput\"], listFormatter: [2, \"listFormatter\"], noMatchFoundText: [3, \"noMatchFoundText\"], matchFormatted: [4, \"matchFormatted\"], reFocusAfterSelect: [5, \"reFocusAfterSelect\"], zIndex: [6, \"zIndex\"] }, { valueChanged: \"valueChanged\" }), (_l()(), i1.ɵeld(3, 0, [[1, 0], [\"dropdownInput\", 1]], null, 5, \"input\", [], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"focus\"], [null, \"input\"], [null, \"blur\"], [null, \"compositionstart\"], [null, \"compositionend\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"input\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 4)._handleInput($event.target.value) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 4).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"compositionstart\" === en)) {\n var pd_2 = (i1.ɵnov(_v, 4)._compositionStart() !== false);\n ad = (pd_2 && ad);\n } if ((\"compositionend\" === en)) {\n var pd_3 = (i1.ɵnov(_v, 4)._compositionEnd($event.target.value) !== false);\n ad = (pd_3 && ad);\n } if ((\"focus\" === en)) {\n var pd_4 = (_co.onInputFocus($event) !== false);\n ad = (pd_4 && ad);\n } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i3.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i3.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i3.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i3.DefaultValueAccessor]), i1.ɵdid(6, 671744, null, 0, i3.NgModel, [[8, null], [8, null], [8, null], [6, i3.NG_VALUE_ACCESSOR]], { model: [0, \"model\"] }, null), i1.ɵprd(2048, null, i3.NgControl, null, [i3.NgModel]), i1.ɵdid(8, 16384, null, 0, i3.NgControlStatus, [[4, i3.NgControl]], null, null), (_l()(), i1.ɵeld(9, 0, null, null, 0, \"img\", [[\"class\", \"pointerHover\"], [\"src\", \"/assets/images/dropdown-arrow.png\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.onArrowClick($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.getEntities; var currVal_2 = false; var currVal_3 = _co.entityFormatter.bind(_co); var currVal_4 = \"Aucun r\\u00E9sultat\"; var currVal_5 = \"true\"; var currVal_6 = false; var currVal_7 = \"10\"; _ck(_v, 2, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7); var currVal_15 = _co.entityFormatter(_co.entity); _ck(_v, 6, 0, currVal_15); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.showTooltip && i1.ɵnov(_v, 3).value); _ck(_v, 1, 0, currVal_0); var currVal_8 = i1.ɵnov(_v, 8).ngClassUntouched; var currVal_9 = i1.ɵnov(_v, 8).ngClassTouched; var currVal_10 = i1.ɵnov(_v, 8).ngClassPristine; var currVal_11 = i1.ɵnov(_v, 8).ngClassDirty; var currVal_12 = i1.ɵnov(_v, 8).ngClassValid; var currVal_13 = i1.ɵnov(_v, 8).ngClassInvalid; var currVal_14 = i1.ɵnov(_v, 8).ngClassPending; _ck(_v, 3, 0, currVal_8, currVal_9, currVal_10, currVal_11, currVal_12, currVal_13, currVal_14); }); }\nexport function View_SelectAutocompleteComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"select-autocomplete\", [], null, null, null, View_SelectAutocompleteComponent_0, RenderType_SelectAutocompleteComponent)), i1.ɵdid(1, 49152, null, 0, i4.SelectAutocompleteComponent, [i1.ChangeDetectorRef], null, null)], null, null); }\nvar SelectAutocompleteComponentNgFactory = i1.ɵccf(\"select-autocomplete\", i4.SelectAutocompleteComponent, View_SelectAutocompleteComponent_Host_0, { entityDisplayProp: \"entityDisplayProp\", entityDisplayFunc: \"entityDisplayFunc\", entity: \"entity\", entities: \"entities\", showTooltip: \"showTooltip\" }, { entityChange: \"entityChange\" }, []);\nexport { SelectAutocompleteComponentNgFactory as SelectAutocompleteComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] ngui-auto-complete .ngui-auto-complete ul{max-height:400px;overflow-y:auto;background:#fff!important}[_nghost-%COMP%] ngui-auto-complete .ngui-auto-complete ul li{text-align:left;cursor:pointer;line-height:30px}[_nghost-%COMP%] ngui-auto-complete .ngui-auto-complete ul li:hover{background:#d3d3d3}\"];\nexport { styles as styles };\n","
\r\n \r\n \r\n
\r\n","import { Component, OnInit, ChangeDetectionStrategy, Input, OnChanges, SimpleChanges, EventEmitter, Output, ViewEncapsulation, ChangeDetectorRef } from '@angular/core';\nimport { RythmeContratEnum } from '../shared/enums/rythme-contrat.enum';\nimport { ContratModel } from '../shared/models/contrat.model';\nimport { RestaurantModel } from '../shared/models/restaurant.model';\nimport { InteractionService } from '../shared/services/interaction.service';\nimport { RestaurantContext } from './model/restaurant-context.model';\nimport { uniqBy, sortBy } from 'lodash';\n\nexport interface GrandCompte {\n id: number;\n libelle: string\n}\n\n@Component({\n selector: 'app-restaurant-selector',\n templateUrl: './restaurant-selector.component.html',\n styleUrls: ['./restaurant-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n // encapsulation: ViewEncapsulation.None\n})\nexport class RestaurantSelectorComponent implements OnInit, OnChanges {\n\n @Input()\n displayGrandCompteSelector: false;\n\n @Input()\n contrats: ContratModel[] = [];\n\n // @Input()\n // selectedContrat: ContratModel | null;\n // @Output()\n // selectedContratChange: EventEmitter = new EventEmitter();\n\n @Input()\n selectedRestaurant: RestaurantModel | null;\n private _oldSelectedRestaurant: RestaurantModel | null;\n\n @Input()\n showDebugInfo: boolean = false;\n\n @Output()\n selectedRestaurantContextChange: EventEmitter = new EventEmitter();\n\n internalSelectableGrandComptes: GrandCompte[];\n internalSelectedGrandCompte: GrandCompte | null;\n internalSelectableContrats: ContratModel[];\n internalSelectedContrat: ContratModel | null;\n internalSelectedRestaurantContext: RestaurantContext | null;\n\n restaurants: RestaurantModel[] = [];\n\n // private _allRestaurants: Array | null;\n // private get allRestaurants(): Array | null {\n // if (!this._allRestaurants) {\n // // generate the whole combination of all restaurants\n // this._allRestaurants = [];\n // for (const contrat of this.contrats) {\n // this._allRestaurants.push(...contrat.restaurants);\n // }\n // this._allRestaurants.sort((a, b) => a.name.localeCompare(b.name));\n // }\n // return this._allRestaurants;\n // }\n\n selectedRestaurantTooltip: string = '';\n selectedContratTooltip: string = '';\n\n constructor(\n // private _appDataService: ApplicationDataService,\n private _interactionService: InteractionService,\n private _cd: ChangeDetectorRef\n ) { }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['contrats']) {\n // // reset _allRestaurants\n // this._allRestaurants = null;\n\n if (this.displayGrandCompteSelector) {\n this.loadGrandComptes(this.contrats);\n } else {\n this.loadContrats(this.contrats);\n }\n }\n if (changes['selectedRestaurant']) {\n this.selectRestaurant(this.selectedRestaurant);\n }\n }\n\n ngOnInit() {\n }\n\n private loadContrats(contrats: ContratModel[] | null) {\n contrats = contrats || [];\n if (contrats.length > 1 || contrats.length === 0) {\n this.internalSelectableContrats = [\n // Append dummy contrat 'TOUS'\n {\n id: 0,\n libelle: 'TOUS',\n cuisineCentraleId: 0,\n cuisineCentraleCode: '',\n cuisineCentrale: '',\n // grandCompteId?: null;\n // grandCompteLibelle?: null;\n restaurants: [],\n rythme: RythmeContratEnum.None\n }\n , ...contrats];\n } else {\n this.internalSelectableContrats = contrats;\n }\n\n //check if contrat exists in new list else take first\n const newContrat = (this.internalSelectedContrat && this.internalSelectableContrats.find(c => c.id === this.internalSelectedContrat.id))\n || (this.internalSelectableContrats && this.internalSelectableContrats[0]);\n\n this.selectContrat(newContrat);\n }\n\n private loadGrandComptes(contrats: ContratModel[] | null) {\n let grandComptes = uniqBy(contrats || [], 'grandCompteId')\n .filter(c => c.grandCompteId != null)\n .map(c => ({ id: c.grandCompteId, libelle: c.grandCompteLibelle }));\n\n grandComptes.sort((a, b) => a.libelle.localeCompare(b.libelle)); //= sortBy(grandComptes, 'libelle');\n\n if (grandComptes.length > 1 || grandComptes.length === 0) {\n this.internalSelectableGrandComptes = [\n // Append dummy grandCompte 'TOUS'\n {\n id: 0,\n libelle: 'TOUS'\n }\n , ...grandComptes];\n } else {\n this.internalSelectableGrandComptes = grandComptes;\n }\n\n const newGrandCompte = (this.internalSelectedGrandCompte && this.internalSelectableGrandComptes.find(gc => gc.id === this.internalSelectedGrandCompte.id))\n || (this.internalSelectableGrandComptes && this.internalSelectableGrandComptes[0]);\n\n this.selectGrandCompte(newGrandCompte);\n }\n\n private getRestaurantContrat(restaurant: RestaurantModel | null): ContratModel | null {\n if (!restaurant) {\n return null;\n }\n const cuisineId = restaurant.cuisineCentraleId;\n const contratId = restaurant.contratId;\n const contrat = this.contrats.find(c => c.id === contratId && c.cuisineCentraleId === cuisineId);\n return contrat;\n }\n\n private selectRestaurant(newSelectedRestaurant: RestaurantModel) {\n if (newSelectedRestaurant !== this._oldSelectedRestaurant) {\n this.internalSelectedRestaurantContext = {\n restaurant: newSelectedRestaurant,\n contrat: this.getRestaurantContrat(newSelectedRestaurant)\n };\n\n this.selectedRestaurant = newSelectedRestaurant;\n this.selectedRestaurantContextChange.emit(this.internalSelectedRestaurantContext);\n\n // update internalSelectedContrat\n if (!this.internalSelectedContrat\n || (this.internalSelectedContrat.id != 0 // not 'Tous'\n // different du Contrat actuel du restaurant\n && this.internalSelectedContrat != this.internalSelectedRestaurantContext.contrat)\n ) {\n //this.internalSelectedContrat = this.internalSelectedRestaurantContext.contrat;\n this.selectContrat(this.internalSelectedRestaurantContext.contrat);\n }\n\n // update tooltips\n const newContrat = this.internalSelectedRestaurantContext.contrat;\n this.selectedContratTooltip = newContrat && `👨‍🍳 Cuisine : ${newContrat.cuisineCentrale} (${newContrat.cuisineCentraleCode})` || '';\n if (this.showDebugInfo) {\n this.selectedContratTooltip += newContrat && ` - id:${newContrat.cuisineCentraleId}` || '';\n }\n this.selectedContratTooltip += newContrat && `\\n💼 Contrat : ${newContrat.libelle}` || '';\n if (this.showDebugInfo) {\n this.selectedContratTooltip += newContrat && ` - id:${newContrat.id}` || '';\n }\n if (newContrat.grandCompteId) {\n this.selectedContratTooltip += newContrat && `\\n🏢 Grand compte : ${newContrat.grandCompteLibelle}` || '';\n if (this.showDebugInfo) {\n this.selectedContratTooltip += newContrat && ` - id:${newContrat.grandCompteId}` || '';\n }\n }\n\n const restaurantLabel = this.formatRestaurantLabel(newSelectedRestaurant);\n this.selectedRestaurantTooltip = newSelectedRestaurant && this.selectedContratTooltip + (newSelectedRestaurant && `\\n🏠 Restaurant : ${restaurantLabel}` || '');\n if (this.showDebugInfo) {\n this.selectedRestaurantTooltip += newSelectedRestaurant && ` - id:${newSelectedRestaurant.id}` || '';\n }\n\n }\n }\n\n private selectContrat(newSelectedContrat: ContratModel) {\n this.internalSelectedContrat = newSelectedContrat;\n\n if (this.internalSelectedContrat) {\n if (this.internalSelectedContrat.id == 0) {\n const allRestaurants: Array = [];\n for (const contrat of this.internalSelectableContrats) {\n allRestaurants.push(...contrat.restaurants);\n }\n allRestaurants.sort((a, b) => a.name.localeCompare(b.name));\n this.restaurants = allRestaurants;\n } else {\n this.restaurants = this.internalSelectedContrat.restaurants;\n }\n }\n else {\n // selectedContrat is null\n this.restaurants = [];\n }\n\n //check if restaurant exists in new list else take first\n const newRestaurant = (this.selectedRestaurant && this.restaurants.find(r => r.cuisineCentraleId === this.selectedRestaurant.cuisineCentraleId && r.id === this.selectedRestaurant.id))\n || (this.restaurants && this.restaurants[0]);\n\n this.selectRestaurant(newRestaurant);\n this._cd.markForCheck();\n\n }\n\n private selectGrandCompte(newSelectedGrandCompte: GrandCompte) {\n this.internalSelectedGrandCompte = newSelectedGrandCompte;\n\n if (this.internalSelectedGrandCompte) {\n if (this.internalSelectedGrandCompte.id == 0) {\n this.loadContrats(this.contrats)\n } else {\n const grandCompteContrats = this.contrats.filter(c => c.grandCompteId === this.internalSelectedGrandCompte.id);\n this.loadContrats(grandCompteContrats)\n }\n }\n\n this._cd.markForCheck();\n }\n\n onSelectedGrandCompteChanged(newSelectedGrandCompte: GrandCompte) {\n this.selectGrandCompte(newSelectedGrandCompte);\n }\n\n onSelectedContratChanged(newSelectedContrat: ContratModel) {\n this.selectContrat(newSelectedContrat);\n }\n\n onSelectedRestaurantChanged(newSelectedRestaurant: RestaurantModel) {\n this.selectRestaurant(newSelectedRestaurant);\n }\n\n formatGrandCompteLabel(gc: GrandCompte) {\n if (gc == null) return null;\n return gc.libelle;\n }\n formatRestaurantLabel(entity: any) {\n const restaurant = entity as RestaurantModel;\n if (restaurant == null) return null;\n\n const code = restaurant.code && restaurant.code.trim();\n const codeSearchString = code.toLowerCase();\n const nameHasAlreadyCode = restaurant.name.toLowerCase().indexOf(codeSearchString) > -1;\n return nameHasAlreadyCode\n ? restaurant.name\n : `${restaurant.name}${code ? (' (' + code + ')') : ''}`\n }\n\n displayDebugInfo(info: string) {\n this._interactionService.showSimpleMessage('🛈 Informations', info);\n }\n\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./restaurant-selector.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../select-autocomplete/select-autocomplete.component.ngfactory\";\nimport * as i3 from \"../select-autocomplete/select-autocomplete.component\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"./restaurant-selector.component\";\nimport * as i6 from \"../shared/services/interaction.service\";\nvar styles_RestaurantSelectorComponent = [i0.styles];\nvar RenderType_RestaurantSelectorComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_RestaurantSelectorComponent, data: {} });\nexport { RenderType_RestaurantSelectorComponent as RenderType_RestaurantSelectorComponent };\nfunction View_RestaurantSelectorComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"div\", [[\"class\", \"restaurant-selector-dropdown\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"img\", [[\"src\", \"/assets/images/layout-header/grandcompte.png\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, \"select-autocomplete\", [], null, [[null, \"entityChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"entityChange\" === en)) {\n var pd_0 = (_co.onSelectedGrandCompteChanged($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_SelectAutocompleteComponent_0, i2.RenderType_SelectAutocompleteComponent)), i1.ɵdid(3, 49152, null, 0, i3.SelectAutocompleteComponent, [i1.ChangeDetectorRef], { entityDisplayFunc: [0, \"entityDisplayFunc\"], entity: [1, \"entity\"], entities: [2, \"entities\"] }, { entityChange: \"entityChange\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.formatGrandCompteLabel; var currVal_1 = _co.internalSelectedGrandCompte; var currVal_2 = _co.internalSelectableGrandComptes; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2); }, null); }\nexport function View_RestaurantSelectorComponent_0(_l) { return i1.ɵvid(2, [(_l()(), i1.ɵeld(0, 0, null, null, 10, \"div\", [[\"class\", \"restaurant-selector-content\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_RestaurantSelectorComponent_1)), i1.ɵdid(2, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 3, \"div\", [[\"class\", \"restaurant-selector-dropdown\"]], [[8, \"title\", 0]], null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 0, \"img\", [[\"src\", \"/assets/images/layout-header/contrat.png\"]], null, [[null, \"dblclick\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"dblclick\" === en)) {\n var pd_0 = (_co.displayDebugInfo(_co.selectedContratTooltip) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"select-autocomplete\", [[\"entityDisplayProp\", \"libelle\"]], null, [[null, \"entityChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"entityChange\" === en)) {\n var pd_0 = (_co.onSelectedContratChanged($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_SelectAutocompleteComponent_0, i2.RenderType_SelectAutocompleteComponent)), i1.ɵdid(6, 49152, null, 0, i3.SelectAutocompleteComponent, [i1.ChangeDetectorRef], { entityDisplayProp: [0, \"entityDisplayProp\"], entity: [1, \"entity\"], entities: [2, \"entities\"] }, { entityChange: \"entityChange\" }), (_l()(), i1.ɵeld(7, 0, null, null, 3, \"div\", [[\"class\", \"restaurant-selector-dropdown\"]], [[8, \"title\", 0]], null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 0, \"img\", [[\"src\", \"/assets/images/layout-header/home.png\"]], null, [[null, \"dblclick\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"dblclick\" === en)) {\n var pd_0 = (_co.displayDebugInfo(_co.selectedRestaurantTooltip) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 1, \"select-autocomplete\", [], null, [[null, \"entityChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"entityChange\" === en)) {\n var pd_0 = (_co.onSelectedRestaurantChanged($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_SelectAutocompleteComponent_0, i2.RenderType_SelectAutocompleteComponent)), i1.ɵdid(10, 49152, null, 0, i3.SelectAutocompleteComponent, [i1.ChangeDetectorRef], { entityDisplayFunc: [0, \"entityDisplayFunc\"], entity: [1, \"entity\"], entities: [2, \"entities\"] }, { entityChange: \"entityChange\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.displayGrandCompteSelector; _ck(_v, 2, 0, currVal_0); var currVal_2 = \"libelle\"; var currVal_3 = _co.internalSelectedContrat; var currVal_4 = _co.internalSelectableContrats; _ck(_v, 6, 0, currVal_2, currVal_3, currVal_4); var currVal_6 = _co.formatRestaurantLabel; var currVal_7 = _co.selectedRestaurant; var currVal_8 = _co.restaurants; _ck(_v, 10, 0, currVal_6, currVal_7, currVal_8); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = i1.ɵinlineInterpolate(1, \"\", _co.selectedContratTooltip, \"\"); _ck(_v, 3, 0, currVal_1); var currVal_5 = i1.ɵinlineInterpolate(1, \"\", _co.selectedRestaurantTooltip, \"\"); _ck(_v, 7, 0, currVal_5); }); }\nexport function View_RestaurantSelectorComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-restaurant-selector\", [], null, null, null, View_RestaurantSelectorComponent_0, RenderType_RestaurantSelectorComponent)), i1.ɵdid(1, 638976, null, 0, i5.RestaurantSelectorComponent, [i6.InteractionService, i1.ChangeDetectorRef], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar RestaurantSelectorComponentNgFactory = i1.ɵccf(\"app-restaurant-selector\", i5.RestaurantSelectorComponent, View_RestaurantSelectorComponent_Host_0, { displayGrandCompteSelector: \"displayGrandCompteSelector\", contrats: \"contrats\", selectedRestaurant: \"selectedRestaurant\", showDebugInfo: \"showDebugInfo\" }, { selectedRestaurantContextChange: \"selectedRestaurantContextChange\" }, []);\nexport { RestaurantSelectorComponentNgFactory as RestaurantSelectorComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\".restaurant-selector-content[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;min-width:500px;max-width:900px;height:100%}.restaurant-selector-dropdown[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;margin-left:2px;padding-right:12px;position:relative;background:rgba(255,255,255,.8);height:100%;color:#000;-ms-flex-align:center;align-items:center;min-width:250px;max-width:440px}.restaurant-selector-dropdown[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:19px;margin:0 6px 0 12px}.restaurant-selector-dropdown[_ngcontent-%COMP%] select-autocomplete[_ngcontent-%COMP%]{display:block;width:100%;height:100%}.restaurant-selector-dropdown[_ngcontent-%COMP%] select-autocomplete[_ngcontent-%COMP%] .ngui-auto-complete-wrapper{width:100%;height:100%}.restaurant-selector-dropdown[_ngcontent-%COMP%] select-autocomplete[_ngcontent-%COMP%] .ngui-auto-complete-wrapper .autocomplete-container{width:100%;height:100%;text-transform:uppercase;font-weight:600;font-size:13px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:distribute;justify-content:space-around;-ms-flex-align:center;align-items:center;color:#565656}.restaurant-selector-dropdown[_ngcontent-%COMP%] select-autocomplete[_ngcontent-%COMP%] .ngui-auto-complete-wrapper .autocomplete-container input{text-transform:uppercase;background:0 0;width:100%;height:100%;border:none}.restaurant-selector-dropdown[_ngcontent-%COMP%] select-autocomplete[_ngcontent-%COMP%] .ngui-auto-complete-wrapper .autocomplete-container input:focus{outline:0}.restaurant-selector-dropdown[_ngcontent-%COMP%] select-autocomplete[_ngcontent-%COMP%] .ngui-auto-complete-wrapper .autocomplete-container ngui-auto-complete{text-transform:uppercase}.restaurant-selector-dropdown[_ngcontent-%COMP%] select-autocomplete[_ngcontent-%COMP%] .ngui-auto-complete-wrapper .autocomplete-container img{height:8px;margin-left:5px}.restaurant-selector-dropdown[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;height:100%}.restaurant-selector-dropdown[_ngcontent-%COMP%] select[_ngcontent-%COMP%]::-ms-expand{display:none}\"];\nexport { styles as styles };\n","
\n \n \n \n
\n \n \n \n \n \n \n \n \n\n","import { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, Inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { asapScheduler, from } from 'rxjs';\r\nimport { observeOn } from 'rxjs/operators';\r\nimport { ROUTE_URLS } from '../shared/constants/route_urls';\r\nimport { AllowedFeatureEnum } from '../shared/enums/allowed-feature.enum';\r\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\nimport { AppSettings } from '../shared/models/app-settings.model';\r\nimport { ContratModel } from '../shared/models/contrat.model';\r\nimport { MenuLinkModel } from '../shared/models/menu-link.model';\r\nimport { RestaurantModel } from '../shared/models/restaurant.model';\r\nimport { UserInfoModel } from '../shared/models/user-info.model';\r\nimport { ApplicationDataService } from '../shared/services/application-data.service';\r\nimport { InteractionService } from '../shared/services/interaction.service';\r\nimport { AuthenticationService } from '../shared/services/authentication/authentication.service';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { RestaurantContext } from '../restaurant-selector/model/restaurant-context.model';\r\n\r\nconst { version: appVersion } = require('../../../package.json');\r\n\r\n@Component({\r\n selector: 'app-layout-header',\r\n templateUrl: './layout-header.component.html',\r\n styleUrls: ['./styles/layout-header.component.scss', './styles/layout-subheader.component.scss'],\r\n host: {\r\n '(document:click)': 'onDocumentClick($event)',\r\n }\r\n})\r\n\r\nexport class LayoutHeaderComponent implements OnInit, OnDestroy {\r\n @ViewChild('menuCheckInput', { static: true })\r\n menuCheckInput: ElementRef;\r\n\r\n // events\r\n @Output()\r\n onShowDrawer = new EventEmitter();\r\n\r\n @Input()\r\n menuList: MenuLinkModel[];\r\n\r\n // @Input()\r\n // restaurants: RestaurantModel[] = [];\r\n\r\n @Input()\r\n contrats: ContratModel[] = [];\r\n\r\n @Input()\r\n restaurant: RestaurantModel[];\r\n\r\n @Output()\r\n selectedRestaurantContextChange: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n showDebugInfo: boolean = false;\r\n\r\n @Input()\r\n logoContratUrl: string = '';\r\n\r\n hasAccessToAdmin: boolean;\r\n user: UserInfoModel;\r\n pageTitle: string = '';\r\n currentType: RestaurantTypeEnum;\r\n appVersion: string;\r\n\r\n public hasAccessToContact: boolean;\r\n public hasAccessToDiscussion: boolean;\r\n\r\n constructor(\r\n private _router: Router,\r\n private _appDataService: ApplicationDataService,\r\n private _authService: AuthenticationService,\r\n private _interactionService: InteractionService,\r\n private _appSettings: AppSettings,\r\n private router: Router,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {\r\n\r\n this.appVersion = appVersion;\r\n }\r\n\r\n onDocumentClick(event: any) {\r\n if (this.menuCheckInput.nativeElement != null) {\r\n const isChecked = this.menuCheckInput.nativeElement.checked === true;\r\n if (!this.menuCheckInput.nativeElement.contains(event.target) && isChecked) {\r\n this.menuCheckInput.nativeElement.checked = false;\r\n }\r\n }\r\n }\r\n\r\n showDrawer() {\r\n this.onShowDrawer.emit();\r\n }\r\n\r\n get cartIsVisible(): boolean {\r\n return this._router.url.indexOf('epicerieinventaire/create') !== -1;\r\n }\r\n\r\n logOff() {\r\n this._authService.signOut(true, this._router.routerState.snapshot.url);\r\n }\r\n\r\n redirectToAdmin() {\r\n if (this._appSettings.administrationPageUrl != null && this._appSettings.administrationPageUrl !== '') {\r\n window.open(this._appSettings.administrationPageUrl, '_blank');\r\n } else {\r\n this._interactionService.showSimpleMessage('Erreur', 'L\\'adresse du backoffice n\\'est pas configurée.');\r\n }\r\n }\r\n\r\n navigateToContact() {\r\n this._router.navigate([ROUTE_URLS.Contact]);\r\n }\r\n\r\n // public goHome(event: Event) {\r\n // event.preventDefault();\r\n // this.router.navigate([ROUTE_URLS.Home]);\r\n // this.swUpdate.available\r\n // .pipe(first())\r\n // .subscribe(e => {\r\n // this.swUpdate.activateUpdate().then(() => document.location.href = (this.platformLocation as any).location.origin);\r\n // });\r\n // }\r\n\r\n ngOnInit() {\r\n\r\n this._authService.currentUser$\r\n .pipe(untilDestroyed(this))\r\n .subscribe(user => {\r\n this.user = user;\r\n\r\n this.hasAccessToAdmin = user && user.isAdmin;\r\n this.hasAccessToContact = user && user.hasAccessToFeature(AllowedFeatureEnum.Contacts);\r\n this.hasAccessToDiscussion = user && user.hasAccessToFeature(AllowedFeatureEnum.Discussion);\r\n });\r\n\r\n this._appDataService.restaurant$\r\n .pipe(untilDestroyed(this))\r\n .subscribe(rest => {\r\n if (rest) {\r\n this.currentType = rest.type;\r\n }\r\n });\r\n\r\n this._appDataService.pageTitle$\r\n .pipe(untilDestroyed(this))\r\n .pipe(observeOn(asapScheduler))\r\n .subscribe(title => this.pageTitle = title);\r\n }\r\n\r\n navigateToHome() {\r\n from(this.router.navigate([ROUTE_URLS.Home]))\r\n .pipe(untilDestroyed(this))\r\n .subscribe(navigated => {\r\n // Force reload\r\n this.document.location.reload();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n // mandatory for untilDestroyed\r\n }\r\n\r\n selectedRestaurantContextChanged(selectedRestaurantContext: RestaurantContext) {\r\n this.selectedRestaurantContextChange.emit(selectedRestaurantContext);\r\n }\r\n}\r\n","export class AppSettings {\r\n public environment: string;\r\n public apiUrl: string;\r\n public administrationPageUrl: string;\r\n public appInsightsInstrumentationKey: string;\r\n public googleAnalyticsKey: string;\r\n public apiSubscriberKey: string;\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./styles/layout-header.component.scss.shim.ngstyle\";\nimport * as i1 from \"./styles/layout-subheader.component.scss.shim.ngstyle\";\nimport * as i2 from \"@angular/core\";\nimport * as i3 from \"../cart-tile/cart-tile.component.ngfactory\";\nimport * as i4 from \"../cart-tile/cart-tile.component\";\nimport * as i5 from \"../epicerie-inventaire/services/epicerie-inventaire.service\";\nimport * as i6 from \"../notif-tile/notif-tile.component.ngfactory\";\nimport * as i7 from \"../notif-tile/notif-tile.component\";\nimport * as i8 from \"../shared/services/application-data.service\";\nimport * as i9 from \"@angular/router\";\nimport * as i10 from \"../discussion/services/discussion.service\";\nimport * as i11 from \"../menu-item/menu-item.component.ngfactory\";\nimport * as i12 from \"../menu-item/menu-item.component\";\nimport * as i13 from \"../shared/services/log.service\";\nimport * as i14 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i15 from \"../hamburger/hamburger.component.ngfactory\";\nimport * as i16 from \"../hamburger/hamburger.component\";\nimport * as i17 from \"@angular/common\";\nimport * as i18 from \"../alertes/components/alertes-tile/alertes-tile.component.ngfactory\";\nimport * as i19 from \"../alertes/components/alertes-tile/alertes-tile.component\";\nimport * as i20 from \"../alertes/services/alertes.service\";\nimport * as i21 from \"../restaurant-selector/restaurant-selector.component.ngfactory\";\nimport * as i22 from \"../restaurant-selector/restaurant-selector.component\";\nimport * as i23 from \"../shared/services/interaction.service\";\nimport * as i24 from \"./layout-header.component\";\nimport * as i25 from \"../shared/services/authentication/authentication.service\";\nimport * as i26 from \"../shared/models/app-settings.model\";\nvar styles_LayoutHeaderComponent = [i0.styles, i1.styles];\nvar RenderType_LayoutHeaderComponent = i2.ɵcrt({ encapsulation: 0, styles: styles_LayoutHeaderComponent, data: {} });\nexport { RenderType_LayoutHeaderComponent as RenderType_LayoutHeaderComponent };\nfunction View_LayoutHeaderComponent_1(_l) { return i2.ɵvid(0, [(_l()(), i2.ɵeld(0, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i2.ɵted(1, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.user.fullName; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_LayoutHeaderComponent_2(_l) { return i2.ɵvid(0, [(_l()(), i2.ɵeld(0, 0, null, null, 1, \"li\", [[\"class\", \"pointerHover\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.redirectToAdmin() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i2.ɵted(-1, null, [\"Administration\"]))], null, null); }\nfunction View_LayoutHeaderComponent_3(_l) { return i2.ɵvid(0, [(_l()(), i2.ɵeld(0, 0, null, null, 1, \"app-cart-tile\", [], [[2, \"conditional-display\", null]], null, null, i3.View_CartTileComponent_0, i3.RenderType_CartTileComponent)), i2.ɵdid(1, 114688, null, 0, i4.CartTileComponent, [i5.EpicerieInventaireService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.cartIsVisible; _ck(_v, 0, 0, currVal_0); }); }\nfunction View_LayoutHeaderComponent_4(_l) { return i2.ɵvid(0, [(_l()(), i2.ɵeld(0, 0, null, null, 1, \"app-notif-tile\", [[\"title\", \"Demandes clients\"]], [[2, \"conditional-display\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; if ((\"click\" === en)) {\n var pd_0 = (i2.ɵnov(_v, 1).onClick() !== false);\n ad = (pd_0 && ad);\n } return ad; }, i6.View_NotifTileComponent_0, i6.RenderType_NotifTileComponent)), i2.ɵdid(1, 245760, null, 0, i7.NotifTileComponent, [i8.ApplicationDataService, i9.Router, i10.DiscussionService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.cartIsVisible; _ck(_v, 0, 0, currVal_0); }); }\nfunction View_LayoutHeaderComponent_5(_l) { return i2.ɵvid(0, [(_l()(), i2.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"contact-icon pointerHover\"], [\"title\", \"Contacts\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.navigateToContact() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i2.ɵeld(1, 0, null, null, 0, \"img\", [[\"src\", \"assets/images/mobile-circle.png\"]], null, null, null, null, null))], null, null); }\nfunction View_LayoutHeaderComponent_6(_l) { return i2.ɵvid(0, [(_l()(), i2.ɵeld(0, 0, null, null, 1, \"app-menu-item\", [[\"class\", \"pointerHover\"]], null, null, null, i11.View_MenuItemComponent_0, i11.RenderType_MenuItemComponent)), i2.ɵdid(1, 114688, null, 0, i12.MenuItemComponent, [i9.Router, i13.LogService], { item: [0, \"item\"], restaurantType: [1, \"restaurantType\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _v.context.$implicit; var currVal_1 = _co.currentType; _ck(_v, 1, 0, currVal_0, currVal_1); }, null); }\nexport function View_LayoutHeaderComponent_0(_l) { return i2.ɵvid(0, [i2.ɵqud(402653184, 1, { menuCheckInput: 0 }), (_l()(), i2.ɵeld(1, 0, null, null, 33, \"header\", [[\"class\", \"color-animation\"]], null, null, null, null, null)), i2.ɵdid(2, 16384, null, 0, i14.RestaurantTypeColorDirective, [i2.ElementRef, i2.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i2.ɵpod(3, { \"type\": 0, \"background\": 1 }), (_l()(), i2.ɵeld(4, 0, null, null, 30, \"div\", [[\"class\", \"header-container\"]], null, null, null, null, null)), (_l()(), i2.ɵeld(5, 0, null, null, 1, \"a\", [], [[8, \"title\", 0]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.navigateToHome() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i2.ɵeld(6, 0, null, null, 0, \"img\", [[\"class\", \"brand-logo\"], [\"src\", \"/assets/images/brand-logo.png\"]], null, null, null, null, null)), (_l()(), i2.ɵeld(7, 0, null, null, 1, \"app-hamburger\", [[\"class\", \"pointerHover\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.showDrawer() !== false);\n ad = (pd_0 && ad);\n } return ad; }, i15.View_HamburgerComponent_0, i15.RenderType_HamburgerComponent)), i2.ɵdid(8, 114688, null, 0, i16.HamburgerComponent, [], null, null), (_l()(), i2.ɵeld(9, 0, null, null, 1, \"div\", [[\"class\", \"title\"]], null, null, null, null, null)), (_l()(), i2.ɵted(10, null, [\"\", \"\"])), (_l()(), i2.ɵeld(11, 0, null, null, 23, \"div\", [[\"class\", \"right\"]], null, null, null, null, null)), (_l()(), i2.ɵeld(12, 0, null, null, 12, \"div\", [[\"class\", \"user-info button-dropdown\"]], null, null, null, null, null)), (_l()(), i2.ɵeld(13, 0, [[1, 0], [\"menuCheckInput\", 1]], null, 0, \"input\", [[\"id\", \"menu-check\"], [\"name\", \"menu\"], [\"type\", \"checkbox\"]], null, null, null, null, null)), (_l()(), i2.ɵeld(14, 0, null, null, 3, \"label\", [[\"class\", \"pointerHover\"], [\"for\", \"menu-check\"]], null, null, null, null, null)), (_l()(), i2.ɵeld(15, 0, null, null, 0, \"img\", [[\"src\", \"/assets/images/layout-header/user-logo.png\"]], null, null, null, null, null)), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_LayoutHeaderComponent_1)), i2.ɵdid(17, 16384, null, 0, i17.NgIf, [i2.ViewContainerRef, i2.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i2.ɵeld(18, 0, null, null, 6, \"ul\", [[\"class\", \"submenu submenu-style1\"]], null, null, null, null, null)), i2.ɵdid(19, 16384, null, 0, i14.RestaurantTypeColorDirective, [i2.ElementRef, i2.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i2.ɵpod(20, { \"type\": 0, \"background\": 1, \"border\": 2 }), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_LayoutHeaderComponent_2)), i2.ɵdid(22, 16384, null, 0, i17.NgIf, [i2.ViewContainerRef, i2.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i2.ɵeld(23, 0, null, null, 1, \"li\", [[\"class\", \"pointerHover\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.logOff() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i2.ɵted(-1, null, [\"Se d\\u00E9connecter\"])), (_l()(), i2.ɵeld(25, 0, null, null, 1, \"app-alertes-tile\", [[\"hideIfNoAlerte\", \"true\"], [\"title\", \"Notifications\"]], [[2, \"conditional-display\", null]], null, null, i18.View_AlertesTileComponent_0, i18.RenderType_AlertesTileComponent)), i2.ɵdid(26, 114688, null, 0, i19.AlertesTileComponent, [i20.AlertesService, i2.ChangeDetectorRef], { hideIfNoAlerte: [0, \"hideIfNoAlerte\"] }, null), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_LayoutHeaderComponent_3)), i2.ɵdid(28, 16384, null, 0, i17.NgIf, [i2.ViewContainerRef, i2.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_LayoutHeaderComponent_4)), i2.ɵdid(30, 16384, null, 0, i17.NgIf, [i2.ViewContainerRef, i2.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_LayoutHeaderComponent_5)), i2.ɵdid(32, 16384, null, 0, i17.NgIf, [i2.ViewContainerRef, i2.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i2.ɵeld(33, 0, null, null, 1, \"app-restaurant-selector\", [], null, [[null, \"selectedRestaurantContextChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"selectedRestaurantContextChange\" === en)) {\n var pd_0 = (_co.selectedRestaurantContextChanged($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i21.View_RestaurantSelectorComponent_0, i21.RenderType_RestaurantSelectorComponent)), i2.ɵdid(34, 638976, null, 0, i22.RestaurantSelectorComponent, [i23.InteractionService, i2.ChangeDetectorRef], { displayGrandCompteSelector: [0, \"displayGrandCompteSelector\"], contrats: [1, \"contrats\"], selectedRestaurant: [2, \"selectedRestaurant\"], showDebugInfo: [3, \"showDebugInfo\"] }, { selectedRestaurantContextChange: \"selectedRestaurantContextChange\" }), (_l()(), i2.ɵeld(35, 0, null, null, 5, \"header\", [[\"class\", \"sub-header-container\"]], null, null, null, null, null)), (_l()(), i2.ɵeld(36, 0, null, null, 1, \"div\", [[\"class\", \"contrat-bar\"]], null, null, null, null, null)), (_l()(), i2.ɵeld(37, 0, null, null, 0, \"img\", [[\"class\", \"contrat-logo\"], [\"onerror\", \"this.src='/assets/images/blank.png'\"]], [[8, \"src\", 4]], null, null, null, null)), (_l()(), i2.ɵeld(38, 0, null, null, 2, \"div\", [[\"class\", \"links\"]], null, null, null, null, null)), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_LayoutHeaderComponent_6)), i2.ɵdid(40, 278528, null, 0, i17.NgForOf, [i2.ViewContainerRef, i2.TemplateRef, i2.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 3, 0, _co.currentType, true); _ck(_v, 2, 0, currVal_0); _ck(_v, 8, 0); var currVal_3 = _co.user; _ck(_v, 17, 0, currVal_3); var currVal_4 = _ck(_v, 20, 0, _co.currentType, true, true); _ck(_v, 19, 0, currVal_4); var currVal_5 = _co.hasAccessToAdmin; _ck(_v, 22, 0, currVal_5); var currVal_7 = \"true\"; _ck(_v, 26, 0, currVal_7); var currVal_8 = _co.cartIsVisible; _ck(_v, 28, 0, currVal_8); var currVal_9 = _co.hasAccessToDiscussion; _ck(_v, 30, 0, currVal_9); var currVal_10 = _co.hasAccessToContact; _ck(_v, 32, 0, currVal_10); var currVal_11 = _co.hasAccessToAdmin; var currVal_12 = _co.contrats; var currVal_13 = _co.restaurant; var currVal_14 = _co.showDebugInfo; _ck(_v, 34, 0, currVal_11, currVal_12, currVal_13, currVal_14); var currVal_16 = _co.menuList; _ck(_v, 40, 0, currVal_16); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = i2.ɵinlineInterpolate(1, \"v\", _co.appVersion, \"\"); _ck(_v, 5, 0, currVal_1); var currVal_2 = _co.pageTitle; _ck(_v, 10, 0, currVal_2); var currVal_6 = _co.cartIsVisible; _ck(_v, 25, 0, currVal_6); var currVal_15 = _co.logoContratUrl; _ck(_v, 37, 0, currVal_15); }); }\nexport function View_LayoutHeaderComponent_Host_0(_l) { return i2.ɵvid(0, [(_l()(), i2.ɵeld(0, 0, null, null, 1, \"app-layout-header\", [], null, [[\"document\", \"click\"]], function (_v, en, $event) { var ad = true; if ((\"document:click\" === en)) {\n var pd_0 = (i2.ɵnov(_v, 1).onDocumentClick($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, View_LayoutHeaderComponent_0, RenderType_LayoutHeaderComponent)), i2.ɵdid(1, 245760, null, 0, i24.LayoutHeaderComponent, [i9.Router, i8.ApplicationDataService, i25.AuthenticationService, i23.InteractionService, i26.AppSettings, i9.Router, i17.DOCUMENT], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }\nvar LayoutHeaderComponentNgFactory = i2.ɵccf(\"app-layout-header\", i24.LayoutHeaderComponent, View_LayoutHeaderComponent_Host_0, { menuList: \"menuList\", contrats: \"contrats\", restaurant: \"restaurant\", showDebugInfo: \"showDebugInfo\", logoContratUrl: \"logoContratUrl\" }, { onShowDrawer: \"onShowDrawer\", selectedRestaurantContextChange: \"selectedRestaurantContextChange\" }, []);\nexport { LayoutHeaderComponentNgFactory as LayoutHeaderComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] header[_ngcontent-%COMP%]{height:57px;box-sizing:border-box}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%]{width:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:0;margin:0;text-align:center}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] app-hamburger[_ngcontent-%COMP%]{margin-left:18px;width:40px;text-align:center;float:left}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .brand-logo[_ngcontent-%COMP%]{margin-left:18px;display:none;float:left}@media only screen and (min-width:970px){[_nghost-%COMP%] header[_ngcontent-%COMP%]{height:35px}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] app-hamburger[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .brand-logo[_ngcontent-%COMP%]{display:block}}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:inline-block;margin:2px auto 0;color:#fff;font-size:17px;text-align:center;text-transform:uppercase;line-height:59px}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .contact-icon[_ngcontent-%COMP%]{display:none;margin-left:12px}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .contact-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:20px;vertical-align:text-top}@media only screen and (min-width:970px){[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .contact-icon[_ngcontent-%COMP%]{display:block}}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{padding-right:10px;height:57px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-left:8px}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] app-cart-tile.conditional-display[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] app-alertes-tile.conditional-display[_ngcontent-%COMP%], [_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] app-notif-tile.conditional-display[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%], [_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%], [_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] app-restaurant-selector[_ngcontent-%COMP%]{display:none}@media only screen and (min-width:970px){[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{height:35px}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] app-cart-tile.conditional-display[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] app-alertes-tile.conditional-display[_ngcontent-%COMP%], [_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] app-notif-tile.conditional-display[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%], [_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%], [_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] app-restaurant-selector[_ngcontent-%COMP%]{display:block}}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{margin-right:14px}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] label[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:rgba(255,255,255,.9);font-weight:600;font-size:14px;display:inline-block;margin-left:8px}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] label[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:20px;height:20px;vertical-align:text-top}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .submenu[_ngcontent-%COMP%]{top:26px}[_nghost-%COMP%] header[_ngcontent-%COMP%] .header-container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] app-restaurant-selector[_ngcontent-%COMP%]{height:100%}\"];\nexport { styles as styles };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .sub-header-container[_ngcontent-%COMP%]{display:none;height:70px;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}@media only screen and (min-width:970px){[_nghost-%COMP%] .sub-header-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between}}[_nghost-%COMP%] .sub-header-container[_ngcontent-%COMP%] .contrat-bar[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center}[_nghost-%COMP%] .sub-header-container[_ngcontent-%COMP%] .contrat-bar[_ngcontent-%COMP%] img.contrat-logo[_ngcontent-%COMP%]{max-height:60px;min-width:60px;max-width:150px;padding:0 15px;text-indent:-10000px}[_nghost-%COMP%] .sub-header-container[_ngcontent-%COMP%] .links[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;margin-right:12px;overflow:hidden}\"];\nexport { styles as styles };\n","
\n
\n \n \n \n \n
{{pageTitle}}
\n
\n
\n \n \n
    \n
  • Administration
  • \n
  • Se déconnecter
  • \n
\n
\n \n \n \n
\n \n
\n \n \n
\n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n","import { Component, Input } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\nimport { AuthenticationService } from '../shared/services/authentication/authentication.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-user-info',\r\n templateUrl: './user-info.component.html',\r\n styleUrls: ['./user-info.component.scss']\r\n})\r\n\r\nexport class UserInfoComponent {\r\n @Input()\r\n public user$ = this._authService.currentUser$;\r\n\r\n constructor(\r\n private _router: Router,\r\n private _authService: AuthenticationService) {\r\n }\r\n\r\n logOff() {\r\n this._authService.signOut(true, this._router.routerState.snapshot.url);\r\n }\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./user-info.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"./user-info.component\";\nimport * as i4 from \"@angular/router\";\nimport * as i5 from \"../shared/services/authentication/authentication.service\";\nvar styles_UserInfoComponent = [i0.styles];\nvar RenderType_UserInfoComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_UserInfoComponent, data: {} });\nexport { RenderType_UserInfoComponent as RenderType_UserInfoComponent };\nfunction View_UserInfoComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"span\", [[\"class\", \"restaurant-type-color\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\" \", \"\"]))], null, function (_ck, _v) { var currVal_0 = _v.context.ngIf.fullName; _ck(_v, 1, 0, currVal_0); }); }\nexport function View_UserInfoComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 13, \"div\", [[\"class\", \"user button-dropdown\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 0, \"input\", [[\"id\", \"menu-check2\"], [\"name\", \"menu\"], [\"type\", \"checkbox\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 8, \"label\", [[\"class\", \"pointerHover\"], [\"for\", \"menu-check2\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 4, \":svg:svg\", [[\"class\", \"restaurant-type-fill\"], [\"height\", \"52\"], [\"viewBox\", \"0 0 50 52\"], [\"width\", \"50\"], [\"xmlns\", \"http://www.w3.org/2000/svg\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 2, \":svg:defs\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 1, \":svg:style\", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\" .cls-1 { fill: inherit; fill-rule: evenodd; } \"])), (_l()(), i1.ɵeld(7, 0, null, null, 0, \":svg:path\", [[\"class\", \"cls-1\"], [\"d\", \"M65,35C51.251,35,40,46.7,40,61S51.251,87,65,87s25-11.7,25-26S78.755,35,65,35Zm0.532,5.313a8.479,8.479,0,0,1,8.516,8.746,8.518,8.518,0,1,1-17.031,0A8.479,8.479,0,0,1,65.535,40.313Zm0,41.4A20.57,20.57,0,0,1,48.5,72.383c0-5.831,11.354-9.038,17.031-9.038s17.031,3.207,17.031,9.038A20.57,20.57,0,0,1,65.535,81.711Z\"], [\"id\", \"user.svg\"], [\"transform\", \"translate(-40 -35)\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_UserInfoComponent_1)), i1.ɵdid(9, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), i1.ɵpid(131072, i2.AsyncPipe, [i1.ChangeDetectorRef]), (_l()(), i1.ɵeld(11, 0, null, null, 2, \"ul\", [[\"class\", \"submenu submenu-style2 restaurant-type-background\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"li\", [[\"class\", \"pointerHover\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.logOff() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, [\"Se d\\u00E9connecter\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵunv(_v, 9, 0, i1.ɵnov(_v, 10).transform(_co.user$)); _ck(_v, 9, 0, currVal_0); }, null); }\nexport function View_UserInfoComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-user-info\", [], null, null, null, View_UserInfoComponent_0, RenderType_UserInfoComponent)), i1.ɵdid(1, 49152, null, 0, i3.UserInfoComponent, [i4.Router, i5.AuthenticationService], null, null)], null, null); }\nvar UserInfoComponentNgFactory = i1.ɵccf(\"app-user-info\", i3.UserInfoComponent, View_UserInfoComponent_Host_0, { user$: \"user$\" }, {}, []);\nexport { UserInfoComponentNgFactory as UserInfoComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{display:inline-block}[_nghost-%COMP%] .user[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-weight:600;font-size:18px;float:right;margin:3px 0 0 8px}[_nghost-%COMP%] .user[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:30px;height:30px}\"];\nexport { styles as styles };\n","
\r\n\t\r\n\t\r\n\t\r\n\t
    \r\n\t\t
  • Se déconnecter
  • \r\n\t
\r\n
\r\n","import { Component, HostBinding, Input, OnDestroy, OnInit, Inject, Output, EventEmitter } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { untilDestroyed } from 'ngx-take-until-destroy';\nimport { ROUTE_URLS } from '../shared/constants/route_urls';\nimport { AllowedFeatureEnum } from '../shared/enums/allowed-feature.enum';\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\nimport { ContratModel } from '../shared/models/contrat.model';\nimport { MenuLinkModel } from '../shared/models/menu-link.model';\nimport { RestaurantModel } from '../shared/models/restaurant.model';\nimport { ApplicationDataService } from '../shared/services/application-data.service';\nimport { AuthenticationService } from '../shared/services/authentication/authentication.service';\nimport { from } from 'rxjs';\nimport { DOCUMENT } from '@angular/common';\nimport { RestaurantContext } from '../restaurant-selector/model/restaurant-context.model';\n\n@Component({\n selector: 'app-drawer',\n templateUrl: './drawer.component.html',\n styleUrls: ['./drawer.component.scss']\n})\nexport class DrawerComponent implements OnInit, OnDestroy {\n // @Input()\n // restaurants: RestaurantModel[];\n\n @Input()\n contrats: ContratModel[];\n\n @Input()\n restaurant: RestaurantModel[];\n\n @Output()\n selectedRestaurantContextChange: EventEmitter = new EventEmitter();\n\n @Input()\n showDebugInfo: boolean = false;\n\n @Input()\n menuList: MenuLinkModel[];\n\n @Input()\n logoContratUrl: string = '';\n\n @HostBinding('class.visible')\n public showDrawer: boolean;\n\n currentType: RestaurantTypeEnum;\n\n public hasAccessToDiscussion: boolean = false;\n public hasAccessToContact: boolean = false;\n public displayGrandCompteSelector: boolean = false;\n\n constructor(\n private _appDataService: ApplicationDataService,\n // private _logService: LogService,\n private _authService: AuthenticationService,\n // private logoService: LogoRouteService,\n private _router: Router,\n @Inject(DOCUMENT) private document: Document,\n ) {\n }\n\n ngOnInit() {\n this._appDataService.restaurant$\n .pipe(untilDestroyed(this))\n .subscribe(rest => {\n if (rest) {\n this.currentType = rest.type;\n }\n });\n\n this._authService.currentUser$\n .pipe(untilDestroyed(this))\n .subscribe(user => {\n this.hasAccessToContact = user && user.hasAccessToFeature(AllowedFeatureEnum.Contacts);\n this.displayGrandCompteSelector = user && user.isAdmin;\n });\n }\n\n navigateToContact() {\n this._router.navigate([ROUTE_URLS.Contact]);\n this.hide();\n }\n\n navigateToHome() {\n from(this._router.navigate([ROUTE_URLS.Home]))\n .pipe(untilDestroyed(this))\n .subscribe(navigated => {\n // Force reload\n this.document.location.reload();\n });\n\n this.hide();\n }\n\n show() {\n this.showDrawer = true;\n }\n\n hide() {\n this.showDrawer = false;\n }\n\n ngOnDestroy() {\n // mandatory for untildestroyed\n }\n\n selectedRestaurantContextChanged(selectedRestaurantContext: RestaurantContext) {\n this.selectedRestaurantContextChange.emit(selectedRestaurantContext);\n }\n\n}\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./drawer.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../restaurant-selector/restaurant-selector.component.ngfactory\";\nimport * as i3 from \"../restaurant-selector/restaurant-selector.component\";\nimport * as i4 from \"../shared/services/interaction.service\";\nimport * as i5 from \"../menu-item/menu-item.component.ngfactory\";\nimport * as i6 from \"../menu-item/menu-item.component\";\nimport * as i7 from \"@angular/router\";\nimport * as i8 from \"../shared/services/log.service\";\nimport * as i9 from \"@angular/common\";\nimport * as i10 from \"../user-info/user-info.component.ngfactory\";\nimport * as i11 from \"../user-info/user-info.component\";\nimport * as i12 from \"../shared/services/authentication/authentication.service\";\nimport * as i13 from \"../hamburger/hamburger.component.ngfactory\";\nimport * as i14 from \"../hamburger/hamburger.component\";\nimport * as i15 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i16 from \"./drawer.component\";\nimport * as i17 from \"../shared/services/application-data.service\";\nvar styles_DrawerComponent = [i0.styles];\nvar RenderType_DrawerComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_DrawerComponent, data: {} });\nexport { RenderType_DrawerComponent as RenderType_DrawerComponent };\nfunction View_DrawerComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, \"div\", [[\"class\", \"dropdown-wrapper\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, \"app-restaurant-selector\", [], null, [[null, \"selectedRestaurantContextChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"selectedRestaurantContextChange\" === en)) {\n var pd_0 = (_co.selectedRestaurantContextChanged($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_RestaurantSelectorComponent_0, i2.RenderType_RestaurantSelectorComponent)), i1.ɵdid(2, 638976, null, 0, i3.RestaurantSelectorComponent, [i4.InteractionService, i1.ChangeDetectorRef], { displayGrandCompteSelector: [0, \"displayGrandCompteSelector\"], contrats: [1, \"contrats\"], selectedRestaurant: [2, \"selectedRestaurant\"], showDebugInfo: [3, \"showDebugInfo\"] }, { selectedRestaurantContextChange: \"selectedRestaurantContextChange\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.displayGrandCompteSelector; var currVal_1 = _co.contrats; var currVal_2 = _co.restaurant; var currVal_3 = _co.showDebugInfo; _ck(_v, 2, 0, currVal_0, currVal_1, currVal_2, currVal_3); }, null); }\nfunction View_DrawerComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-menu-item\", [[\"class\", \"pointerHover\"]], null, [[null, \"onNavigated\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"onNavigated\" === en)) {\n var pd_0 = (_co.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, i5.View_MenuItemComponent_0, i5.RenderType_MenuItemComponent)), i1.ɵdid(1, 114688, null, 0, i6.MenuItemComponent, [i7.Router, i8.LogService], { item: [0, \"item\"], restaurantType: [1, \"restaurantType\"] }, { onNavigated: \"onNavigated\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _v.context.$implicit; var currVal_1 = _co.currentType; _ck(_v, 1, 0, currVal_0, currVal_1); }, null); }\nfunction View_DrawerComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 0, \"img\", [[\"class\", \"contact pointerHover\"], [\"src\", \"assets/images/mobile-circle.png\"], [\"title\", \"Contacts\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.navigateToContact() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], null, null); }\nexport function View_DrawerComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 22, \"div\", [[\"class\", \"container\"]], null, null, null, null, null)), i1.ɵprd(512, null, i9.ɵNgClassImpl, i9.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(2, 278528, null, 0, i9.NgClass, [i9.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(3, { \"visible\": 0 }), (_l()(), i1.ɵeld(4, 0, null, null, 0, \"div\", [[\"id\", \"behind-layout\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 17, \"nav\", [[\"id\", \"drawer\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 1, \"app-user-info\", [], null, null, null, i10.View_UserInfoComponent_0, i10.RenderType_UserInfoComponent)), i1.ɵdid(7, 49152, null, 0, i11.UserInfoComponent, [i7.Router, i12.AuthenticationService], null, null), (_l()(), i1.ɵeld(8, 0, null, null, 1, \"app-hamburger\", [[\"class\", \"pointerHover\"], [\"color\", \"#000\"], [\"isRight\", \"true\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, i13.View_HamburgerComponent_0, i13.RenderType_HamburgerComponent)), i1.ɵdid(9, 114688, null, 0, i14.HamburgerComponent, [], { isRight: [0, \"isRight\"], color: [1, \"color\"] }, null), (_l()(), i1.ɵeld(10, 0, null, null, 0, \"div\", [[\"class\", \"clear\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DrawerComponent_1)), i1.ɵdid(12, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(13, 0, null, null, 2, \"div\", [[\"class\", \"menu-item-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DrawerComponent_2)), i1.ɵdid(15, 278528, null, 0, i9.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, \"ngForOf\"] }, null), (_l()(), i1.ɵeld(16, 0, null, null, 5, \"div\", [[\"class\", \"company-bar color-animation\"]], null, null, null, null, null)), i1.ɵdid(17, 16384, null, 0, i15.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(18, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(19, 0, null, null, 0, \"img\", [[\"class\", \"brand\"], [\"src\", \"/assets/images/brand-logo.png\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.navigateToHome() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_DrawerComponent_3)), i1.ɵdid(21, 16384, null, 0, i9.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(22, 0, null, null, 0, \"div\", [[\"class\", \"contrat-bar\"]], [[4, \"background-image\", null]], null, null, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_0 = \"container\"; var currVal_1 = _ck(_v, 3, 0, _co.showDrawer); _ck(_v, 2, 0, currVal_0, currVal_1); var currVal_2 = \"true\"; var currVal_3 = \"#000\"; _ck(_v, 9, 0, currVal_2, currVal_3); var currVal_4 = _co.showDrawer; _ck(_v, 12, 0, currVal_4); var currVal_5 = _co.menuList; _ck(_v, 15, 0, currVal_5); var currVal_6 = _ck(_v, 18, 0, _co.currentType, true); _ck(_v, 17, 0, currVal_6); var currVal_7 = _co.hasAccessToContact; _ck(_v, 21, 0, currVal_7); }, function (_ck, _v) { var _co = _v.component; var currVal_8 = ((\"url(\" + _co.logoContratUrl) + \")\"); _ck(_v, 22, 0, currVal_8); }); }\nexport function View_DrawerComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-drawer\", [], [[2, \"visible\", null]], null, null, View_DrawerComponent_0, RenderType_DrawerComponent)), i1.ɵdid(1, 245760, null, 0, i16.DrawerComponent, [i17.ApplicationDataService, i12.AuthenticationService, i7.Router, i9.DOCUMENT], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 1).showDrawer; _ck(_v, 0, 0, currVal_0); }); }\nvar DrawerComponentNgFactory = i1.ɵccf(\"app-drawer\", i16.DrawerComponent, View_DrawerComponent_Host_0, { contrats: \"contrats\", restaurant: \"restaurant\", showDebugInfo: \"showDebugInfo\", menuList: \"menuList\", logoContratUrl: \"logoContratUrl\" }, { selectedRestaurantContextChange: \"selectedRestaurantContextChange\" }, []);\nexport { DrawerComponentNgFactory as DrawerComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{width:100%;height:100%;position:fixed;z-index:1000;visibility:collapse;top:0}@media only screen and (min-width:970px){[_nghost-%COMP%]{display:none}}.visible[_nghost-%COMP%] .container[_ngcontent-%COMP%]{opacity:1;visibility:visible}.visible[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%]{left:0;width:300px}.visible[_nghost-%COMP%] .container[_ngcontent-%COMP%] #behind-layout[_ngcontent-%COMP%]{background:rgba(0,0,0,.5)}[_nghost-%COMP%] *[_ngcontent-%COMP%]{transition:.3s ease-in-out}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{opacity:0;width:100%;height:100%;background:0 0}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #behind-layout[_ngcontent-%COMP%]{background:0 0;width:100%;height:100%;position:absolute;z-index:999}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%]{z-index:1000;position:relative;left:-300px;height:100%;width:0;background:#f6f6f6;overflow:hidden;box-shadow:0 0 10px rgba(0,0,0,.5)}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%] app-user-info[_ngcontent-%COMP%]{float:left;margin:18px 0 0 18px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%] app-hamburger[_ngcontent-%COMP%]{float:right;margin:25px 18px 0 0}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%] .dropdown-wrapper[_ngcontent-%COMP%]{margin-bottom:10px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%] .dropdown-wrapper[_ngcontent-%COMP%] .restaurant-selector-content{min-width:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%] .dropdown-wrapper[_ngcontent-%COMP%] .restaurant-selector-content .restaurant-selector-dropdown{background:0 0}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%] .dropdown-wrapper[_ngcontent-%COMP%] .restaurant-selector-content .restaurant-selector-dropdown:last-child{margin-left:0}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%] .dropdown-wrapper[_ngcontent-%COMP%] .restaurant-selector-content .restaurant-selector-dropdown img{margin:0 6px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%] .dropdown-wrapper[_ngcontent-%COMP%] .restaurant-selector-content select-autocomplete{width:100%;margin:8px auto 5px;border:1px solid #c7c7c7}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%] .dropdown-wrapper[_ngcontent-%COMP%] .restaurant-selector-content select-autocomplete img, [_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%] .dropdown-wrapper[_ngcontent-%COMP%] .restaurant-selector-content select-autocomplete input{padding:5px 0;font-size:16px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%] .dropdown-wrapper[_ngcontent-%COMP%] .restaurant-selector-content select-autocomplete input{padding-left:5px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%] .dropdown-wrapper[_ngcontent-%COMP%] .restaurant-selector-content select-autocomplete img{padding-right:5px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] #drawer[_ngcontent-%COMP%] .menu-item-container[_ngcontent-%COMP%]{height:calc(100% - 246px);overflow:auto;-webkit-overflow-scrolling:touch}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .company-bar[_ngcontent-%COMP%]{width:100%;height:40px;position:absolute;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .company-bar[_ngcontent-%COMP%] .brand[_ngcontent-%COMP%]{margin-left:12px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .company-bar[_ngcontent-%COMP%] .contact[_ngcontent-%COMP%]{margin-right:12px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .company-bar[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:24px}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .contrat-bar[_ngcontent-%COMP%]{width:100%;height:60px;position:absolute;bottom:40px;background-color:#fff;background-repeat:no-repeat;background-size:contain}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .contrat-bar[_ngcontent-%COMP%] .contrat-libelle[_ngcontent-%COMP%]{position:absolute;top:50%;-ms-transform:translateY(-50%);transform:translateY(-50%)}\"];\nexport { styles as styles };\n","
\n
\n
\n \n
\n","import { Component, OnInit, HostBinding } from \"@angular/core\";\r\ndeclare var SVGLoader: any;\r\ndeclare var mina: any;\r\n\r\n// TODO : Revoir les animations (utiliser les observables) --> le cercle ne convient pas donc en QUICK FIX on a mis des durées très courtes\r\nconst ANIMATION_DURATION_MS: number = 1;\r\nconst KEEP_OPEN_MIN_MS: number = 0;\r\n// Sans un délai supplémentaire, le script n'arrive pas à le réouvrir de suite\r\nconst SAFE_LOADER_RELAUNCH_MS: number = 100;\r\n\r\n@Component({\r\n selector: \"app-loading-overlay\",\r\n templateUrl: \"./loading-overlay.component.html\",\r\n styleUrls: [\"./loading-overlay.component.scss\"]\r\n})\r\nexport class LoadingOverlayComponent {\r\n\r\n @HostBinding(\"class.show\")\r\n public isDisplay: boolean = false;\r\n public customMessage: string;\r\n\r\n constructor() { }\r\n\r\n public open(message: string) {\r\n this.customMessage = message;\r\n this.isDisplay = true;\r\n }\r\n\r\n public hide() {\r\n this.isDisplay = false;\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./loading-overlay.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../loader/loader.component.ngfactory\";\nimport * as i3 from \"../loader/loader.component\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"./loading-overlay.component\";\nvar styles_LoadingOverlayComponent = [i0.styles];\nvar RenderType_LoadingOverlayComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_LoadingOverlayComponent, data: {} });\nexport { RenderType_LoadingOverlayComponent as RenderType_LoadingOverlayComponent };\nfunction View_LoadingOverlayComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, [\"\", \"\"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.customMessage; _ck(_v, 1, 0, currVal_0); }); }\nfunction View_LoadingOverlayComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"div\", [[\"class\", \"message\"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [\"Chargement en cours...\"]))], null, null); }\nexport function View_LoadingOverlayComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 10, \"div\", [[\"class\", \"pageload-overlay\"], [\"id\", \"overlay-container\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 2, \":svg:svg\", [[\"height\", \"100%\"], [\"preserveAspectRatio\", \"xMidYMid slice\"], [\"viewBox\", \"0 0 80 60\"], [\"width\", \"100%\"], [\"xmlns\", \"http://www.w3.org/2000/svg\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 0, \":svg:path\", [[\"d\", \"M40,30 c 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 Z\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 0, \":svg:defs\", [], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 6, \"div\", [[\"class\", \"loader-content\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"app-loader\", [], null, null, null, i2.View_LoaderComponent_0, i2.RenderType_LoaderComponent)), i1.ɵdid(6, 114688, null, 0, i3.LoaderComponent, [], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LoadingOverlayComponent_1)), i1.ɵdid(8, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_LoadingOverlayComponent_2)), i1.ɵdid(10, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; _ck(_v, 6, 0); var currVal_0 = _co.customMessage; _ck(_v, 8, 0, currVal_0); var currVal_1 = !_co.customMessage; _ck(_v, 10, 0, currVal_1); }, null); }\nexport function View_LoadingOverlayComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-loading-overlay\", [], [[2, \"show\", null]], null, null, View_LoadingOverlayComponent_0, RenderType_LoadingOverlayComponent)), i1.ɵdid(1, 49152, null, 0, i5.LoadingOverlayComponent, [], null, null)], null, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 1).isDisplay; _ck(_v, 0, 0, currVal_0); }); }\nvar LoadingOverlayComponentNgFactory = i1.ɵccf(\"app-loading-overlay\", i5.LoadingOverlayComponent, View_LoadingOverlayComponent_Host_0, {}, {}, []);\nexport { LoadingOverlayComponentNgFactory as LoadingOverlayComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%]{display:none;position:absolute;z-index:99;transition:opacity .3s}.show[_nghost-%COMP%]{display:block}.show[_nghost-%COMP%] .pageload-overlay[_ngcontent-%COMP%]{visibility:visible}.show[_nghost-%COMP%] .pageload-overlay[_ngcontent-%COMP%] .pageload-loading[_ngcontent-%COMP%] .loader-content[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .pageload-overlay[_ngcontent-%COMP%]{position:fixed;width:100%;height:100%;top:0;left:0;visibility:hidden;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}[_nghost-%COMP%] .pageload-overlay[_ngcontent-%COMP%] .message[_ngcontent-%COMP%]{font-size:24px;color:#fff;position:relative;text-align:center}[_nghost-%COMP%] .pageload-overlay[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{position:absolute;top:0;left:0;pointer-events:none}[_nghost-%COMP%] .pageload-overlay[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] path[_ngcontent-%COMP%]{fill:rgba(0,0,0,.7)}[_nghost-%COMP%] .loader-content[_ngcontent-%COMP%]{opacity:0}\"];\nexport { styles as styles };\n","
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
{{customMessage}}
\r\n
Chargement en cours...
\r\n
\r\n
\r\n","import { LogService } from \"../shared/services/log.service\";\r\nimport { RestaurantTypeEnum } from \"../shared/enums/restaurant-type.enum\";\r\nimport { ApplicationDataService } from \"../shared/services/application-data.service\";\r\nimport { NotificationModel } from \"../shared/models/notification.model\";\r\nimport { Component, OnInit, HostBinding, OnDestroy } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"app-popup\",\r\n templateUrl: \"./popup.component.html\",\r\n styleUrls: [\"./popup.component.scss\"]\r\n})\r\nexport class PopupComponent implements OnInit, OnDestroy {\r\n @HostBinding(\"class.visible\")\r\n public showPopup: boolean;\r\n public currentNotification: NotificationModel;\r\n public currentType: RestaurantTypeEnum;\r\n private restTypeSubscription: Subscription;\r\n\r\n constructor(private appDataService: ApplicationDataService, private logService: LogService) { }\r\n\r\n ngOnInit() {\r\n this.restTypeSubscription = this.appDataService.restaurantType$\r\n .subscribe(type => {\r\n this.currentType = type;\r\n });\r\n }\r\n\r\n get isChecked(): boolean {\r\n return this.currentNotification.isChecked;\r\n }\r\n\r\n set isChecked(value: boolean) {\r\n this.currentNotification.isChecked = value;\r\n this.currentNotification.onCheck(this.currentNotification.isChecked);\r\n }\r\n\r\n print() {\r\n if (this.currentNotification.isPrintable) {\r\n try {\r\n window.print();\r\n } catch (e) {\r\n // log / show message ?\r\n this.logService.Error(e, \"PopupComponent\");\r\n }\r\n }\r\n }\r\n\r\n show(notif: NotificationModel) {\r\n this.currentNotification = notif;\r\n this.showPopup = true;\r\n }\r\n\r\n hide() {\r\n this.showPopup = false;\r\n if (this.currentNotification) {\r\n this.currentNotification.onClose();\r\n this.currentNotification = null;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.restTypeSubscription.unsubscribe();\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./popup.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"./popup.component\";\nimport * as i6 from \"../shared/services/application-data.service\";\nimport * as i7 from \"../shared/services/log.service\";\nvar styles_PopupComponent = [i0.styles];\nvar RenderType_PopupComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_PopupComponent, data: {} });\nexport { RenderType_PopupComponent as RenderType_PopupComponent };\nfunction View_PopupComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 8, \"label\", [[\"class\", \"custom-label-checkbox\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 5, \"input\", [[\"name\", \"isReaded\"], [\"type\", \"checkbox\"]], [[2, \"ng-untouched\", null], [2, \"ng-touched\", null], [2, \"ng-pristine\", null], [2, \"ng-dirty\", null], [2, \"ng-valid\", null], [2, \"ng-invalid\", null], [2, \"ng-pending\", null]], [[null, \"ngModelChange\"], [null, \"change\"], [null, \"blur\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"change\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 2).onChange($event.target.checked) !== false);\n ad = (pd_0 && ad);\n } if ((\"blur\" === en)) {\n var pd_1 = (i1.ɵnov(_v, 2).onTouched() !== false);\n ad = (pd_1 && ad);\n } if ((\"ngModelChange\" === en)) {\n var pd_2 = ((_co.isChecked = $event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, null, null)), i1.ɵdid(2, 16384, null, 0, i2.CheckboxControlValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.CheckboxControlValueAccessor]), i1.ɵdid(4, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { name: [0, \"name\"], model: [1, \"model\"] }, { update: \"ngModelChange\" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(6, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"span\", [], null, null, null, null, null)), (_l()(), i1.ɵted(8, null, [\"\", \"\"]))], function (_ck, _v) { var _co = _v.component; var currVal_7 = \"isReaded\"; var currVal_8 = _co.isChecked; _ck(_v, 4, 0, currVal_7, currVal_8); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = i1.ɵnov(_v, 6).ngClassUntouched; var currVal_1 = i1.ɵnov(_v, 6).ngClassTouched; var currVal_2 = i1.ɵnov(_v, 6).ngClassPristine; var currVal_3 = i1.ɵnov(_v, 6).ngClassDirty; var currVal_4 = i1.ɵnov(_v, 6).ngClassValid; var currVal_5 = i1.ɵnov(_v, 6).ngClassInvalid; var currVal_6 = i1.ɵnov(_v, 6).ngClassPending; _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); var currVal_9 = _co.currentNotification.checkboxText; _ck(_v, 8, 0, currVal_9); }); }\nfunction View_PopupComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"button\", [[\"class\", \"print-btn\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.print() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵted(-1, null, [\"Imprimer\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 2, 0, _co.currentType, true); _ck(_v, 1, 0, currVal_0); }, null); }\nfunction View_PopupComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 27, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 22, \"div\", [[\"class\", \"popup\"]], null, null, null, null, null)), i1.ɵprd(512, null, i4.ɵNgClassImpl, i4.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(3, 278528, null, 0, i4.NgClass, [i4.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(4, { \"visible\": 0 }), (_l()(), i1.ɵeld(5, 0, null, null, 18, \"div\", [[\"class\", \"popup-content\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 5, \"div\", [[\"class\", \"popup-header\"]], null, null, null, null, null)), i1.ɵdid(7, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(8, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(9, 0, null, null, 0, \"span\", [[\"class\", \"pop-close close-cross\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(11, null, [\"\", \"\"])), (_l()(), i1.ɵeld(12, 0, null, null, 1, \"div\", [[\"class\", \"popup-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(13, 0, null, null, 0, \"div\", [[\"class\", \"popup-message\"]], [[8, \"innerHTML\", 1]], null, null, null, null)), (_l()(), i1.ɵeld(14, 0, null, null, 9, \"div\", [[\"class\", \"footer-container\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupComponent_2)), i1.ɵdid(16, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(17, 0, null, null, 6, \"div\", [[\"class\", \"btns\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupComponent_3)), i1.ɵdid(19, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(20, 0, null, null, 3, \"button\", [[\"class\", \"close-btn\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(21, 16384, null, 0, i3.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(22, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵted(-1, null, [\"Fermer\"])), (_l()(), i1.ɵeld(24, 0, null, null, 3, \"div\", [[\"class\", \"popup-bckg\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = ((_co.currentNotification.closeOnBackdropClick && _co.hide()) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵprd(512, null, i4.ɵNgClassImpl, i4.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(26, 278528, null, 0, i4.NgClass, [i4.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(27, { \"visible\": 0 })], function (_ck, _v) { var _co = _v.component; var currVal_0 = \"popup\"; var currVal_1 = _ck(_v, 4, 0, _co.showPopup); _ck(_v, 3, 0, currVal_0, currVal_1); var currVal_2 = _ck(_v, 8, 0, _co.currentType, true); _ck(_v, 7, 0, currVal_2); var currVal_5 = _co.currentNotification.checkboxText; _ck(_v, 16, 0, currVal_5); var currVal_6 = _co.currentNotification.isPrintable; _ck(_v, 19, 0, currVal_6); var currVal_7 = _ck(_v, 22, 0, _co.currentType, true); _ck(_v, 21, 0, currVal_7); var currVal_8 = \"popup-bckg\"; var currVal_9 = _ck(_v, 27, 0, _co.showPopup); _ck(_v, 26, 0, currVal_8, currVal_9); }, function (_ck, _v) { var _co = _v.component; var currVal_3 = _co.currentNotification.title; _ck(_v, 11, 0, currVal_3); var currVal_4 = _co.currentNotification.message; _ck(_v, 13, 0, currVal_4); }); }\nexport function View_PopupComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupComponent_1)), i1.ɵdid(1, 16384, null, 0, i4.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.currentNotification; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_PopupComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-popup\", [], [[2, \"visible\", null]], null, null, View_PopupComponent_0, RenderType_PopupComponent)), i1.ɵdid(1, 245760, null, 0, i5.PopupComponent, [i6.ApplicationDataService, i7.LogService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 1).showPopup; _ck(_v, 0, 0, currVal_0); }); }\nvar PopupComponentNgFactory = i1.ɵccf(\"app-popup\", i5.PopupComponent, View_PopupComponent_Host_0, {}, {}, []);\nexport { PopupComponentNgFactory as PopupComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .popup-bckg[_ngcontent-%COMP%]{position:fixed;visibility:collapse;width:100%;height:100%;z-index:998;background-color:rgba(0,0,0,.5);opacity:0;transition:all .3s}[_nghost-%COMP%] .popup-bckg.visible[_ngcontent-%COMP%]{visibility:visible;opacity:1}[_nghost-%COMP%] .custom-label-checkbox[_ngcontent-%COMP%]{-ms-flex-align:center;align-items:center}[_nghost-%COMP%] .popup[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;visibility:collapse;position:fixed;z-index:999;width:100%;height:100%;overflow:hidden;opacity:0;-ms-transform:scale(.7);transform:scale(.7);transition:all .3s ease-out}[_nghost-%COMP%] .popup.visible[_ngcontent-%COMP%]{visibility:visible;-ms-transform:scale(1);transform:scale(1);opacity:1}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;background-color:#fff;margin:auto;width:80%}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%], [_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-header[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-header[_ngcontent-%COMP%]{padding:1px 0;color:#fff}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-header[_ngcontent-%COMP%] .close-cross[_ngcontent-%COMP%]{float:right;margin:15px 15px 0 0;width:13px;height:13px;cursor:pointer;background-image:url(/assets/images/close.png);background-size:13px}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:30px;background-color:#fff;word-wrap:break-word;-ms-flex:1 1 auto;flex:1 1 auto;overflow-y:auto}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%] .popup-message[_ngcontent-%COMP%]{text-align:justify;line-height:1.5;white-space:pre-wrap}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .footer-container[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:12px}@media only screen and (min-width:768px){[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%]{width:50%}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .footer-container[_ngcontent-%COMP%]{-ms-flex-direction:row;flex-direction:row}}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .footer-container[_ngcontent-%COMP%] .btns[_ngcontent-%COMP%]{display:inline-block;-ms-flex-item-align:end;align-self:flex-end}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .footer-container[_ngcontent-%COMP%] .btns[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%], [_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .footer-container[_ngcontent-%COMP%] .btns[_ngcontent-%COMP%] .print-btn[_ngcontent-%COMP%]{padding:10px 35px;margin:6px;cursor:pointer;border:none;color:#fff;text-align:center;font-size:20px}\"];\nexport { styles as styles };\n","\r\n
\r\n
\r\n
\r\n \r\n

{{currentNotification.title}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./popup-custom-content.component\";\nvar styles_PopupCustomContentComponent = [];\nvar RenderType_PopupCustomContentComponent = i0.ɵcrt({ encapsulation: 2, styles: styles_PopupCustomContentComponent, data: {} });\nexport { RenderType_PopupCustomContentComponent as RenderType_PopupCustomContentComponent };\nexport function View_PopupCustomContentComponent_0(_l) { return i0.ɵvid(0, [i0.ɵqud(402653184, 1, { target: 0 }), (_l()(), i0.ɵeld(1, 16777216, [[1, 3], [\"target\", 1]], null, 0, \"div\", [], null, null, null, null, null))], null, null); }\nexport function View_PopupCustomContentComponent_Host_0(_l) { return i0.ɵvid(0, [(_l()(), i0.ɵeld(0, 0, null, null, 1, \"popup-custom-content\", [], null, null, null, View_PopupCustomContentComponent_0, RenderType_PopupCustomContentComponent)), i0.ɵdid(1, 1228800, null, 0, i1.PopupCustomContentComponent, [i0.ComponentFactoryResolver], null, null)], null, null); }\nvar PopupCustomContentComponentNgFactory = i0.ɵccf(\"popup-custom-content\", i1.PopupCustomContentComponent, View_PopupCustomContentComponent_Host_0, { innerComponentType: \"innerComponentType\", innerComponentData: \"innerComponentData\" }, { onHideEmitter: \"onHideEmitter\" }, []);\nexport { PopupCustomContentComponentNgFactory as PopupCustomContentComponentNgFactory };\n","
\r\n","import { Component, ComponentFactoryResolver, HostBinding, OnDestroy, OnInit } from '@angular/core';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\nimport { NotificationCustomModel } from '../shared/models/notification.model';\r\nimport { ApplicationDataService } from '../shared/services/application-data.service';\r\n\r\n@Component({\r\n selector: 'app-popup-custom',\r\n templateUrl: './popup-custom.component.html',\r\n styleUrls: ['./popup-custom.component.scss']\r\n})\r\nexport class PopupCustomComponent implements OnInit, OnDestroy {\r\n @HostBinding('class.visible')\r\n public showPopup: boolean;\r\n\r\n public withButton: boolean = false;\r\n\r\n public currentType: RestaurantTypeEnum;\r\n\r\n public currentNotification: NotificationCustomModel;\r\n\r\n constructor(private appDataService: ApplicationDataService, private componentFactoryResolver: ComponentFactoryResolver) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.appDataService.restaurantType$\r\n .pipe(untilDestroyed(this))\r\n .subscribe(type => {\r\n this.currentType = type;\r\n });\r\n }\r\n\r\n show(notif: NotificationCustomModel) {\r\n this.currentNotification = notif;\r\n this.showPopup = true;\r\n }\r\n\r\n hide() {\r\n this.showPopup = false;\r\n if (this.currentNotification) {\r\n this.currentNotification.onClose();\r\n this.currentNotification = null;\r\n }\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./popup-custom.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"./popup-custom-content.component.ngfactory\";\nimport * as i5 from \"./popup-custom-content.component\";\nimport * as i6 from \"./popup-custom.component\";\nimport * as i7 from \"../shared/services/application-data.service\";\nvar styles_PopupCustomComponent = [i0.styles];\nvar RenderType_PopupCustomComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_PopupCustomComponent, data: {} });\nexport { RenderType_PopupCustomComponent as RenderType_PopupCustomComponent };\nfunction View_PopupCustomComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, \"div\", [[\"class\", \"popup-footer\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, \"button\", [[\"class\", \"pop-close close-btn\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(2, 16384, null, 0, i2.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(3, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵted(-1, null, [\"Fermer\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 3, 0, _co.currentType, true); _ck(_v, 2, 0, currVal_0); }, null); }\nfunction View_PopupCustomComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 20, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 15, \"div\", [[\"class\", \"popup\"]], null, null, null, null, null)), i1.ɵprd(512, null, i3.ɵNgClassImpl, i3.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(3, 278528, null, 0, i3.NgClass, [i3.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(4, { \"visible\": 0 }), (_l()(), i1.ɵeld(5, 0, null, null, 11, \"div\", [[\"class\", \"popup-content\"]], [[2, \"full-screen\", null]], null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 5, \"div\", [[\"class\", \"popup-header\"]], null, null, null, null, null)), i1.ɵdid(7, 16384, null, 0, i2.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(8, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(9, 0, null, null, 0, \"span\", [[\"class\", \"pop-close close-cross\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(11, null, [\"\", \"\"])), (_l()(), i1.ɵeld(12, 0, null, null, 2, \"div\", [[\"class\", \"popup-body\"]], [[2, \"over-hide\", null]], null, null, null, null)), (_l()(), i1.ɵeld(13, 0, null, null, 1, \"popup-custom-content\", [], null, [[null, \"onHideEmitter\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"onHideEmitter\" === en)) {\n var pd_0 = (_co.hide() !== false);\n ad = (pd_0 && ad);\n } return ad; }, i4.View_PopupCustomContentComponent_0, i4.RenderType_PopupCustomContentComponent)), i1.ɵdid(14, 1228800, null, 0, i5.PopupCustomContentComponent, [i1.ComponentFactoryResolver], { innerComponentType: [0, \"innerComponentType\"], innerComponentData: [1, \"innerComponentData\"] }, { onHideEmitter: \"onHideEmitter\" }), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupCustomComponent_2)), i1.ɵdid(16, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(17, 0, null, null, 3, \"div\", [[\"class\", \"popup-bckg\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = ((_co.currentNotification.closeOnBackdropClick && _co.hide()) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵprd(512, null, i3.ɵNgClassImpl, i3.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(19, 278528, null, 0, i3.NgClass, [i3.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(20, { \"visible\": 0 })], function (_ck, _v) { var _co = _v.component; var currVal_0 = \"popup\"; var currVal_1 = _ck(_v, 4, 0, _co.showPopup); _ck(_v, 3, 0, currVal_0, currVal_1); var currVal_3 = _ck(_v, 8, 0, _co.currentType, true); _ck(_v, 7, 0, currVal_3); var currVal_6 = _co.currentNotification.type; var currVal_7 = _co.currentNotification.data; _ck(_v, 14, 0, currVal_6, currVal_7); var currVal_8 = _co.withButton; _ck(_v, 16, 0, currVal_8); var currVal_9 = \"popup-bckg\"; var currVal_10 = _ck(_v, 20, 0, _co.showPopup); _ck(_v, 19, 0, currVal_9, currVal_10); }, function (_ck, _v) { var _co = _v.component; var currVal_2 = _co.currentNotification.fullScreen; _ck(_v, 5, 0, currVal_2); var currVal_4 = _co.currentNotification.title; _ck(_v, 11, 0, currVal_4); var currVal_5 = _co.currentNotification.hasNoOverflow; _ck(_v, 12, 0, currVal_5); }); }\nexport function View_PopupCustomComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupCustomComponent_1)), i1.ɵdid(1, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.currentNotification; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_PopupCustomComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-popup-custom\", [], [[2, \"visible\", null]], null, null, View_PopupCustomComponent_0, RenderType_PopupCustomComponent)), i1.ɵdid(1, 245760, null, 0, i6.PopupCustomComponent, [i7.ApplicationDataService, i1.ComponentFactoryResolver], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 1).showPopup; _ck(_v, 0, 0, currVal_0); }); }\nvar PopupCustomComponentNgFactory = i1.ɵccf(\"app-popup-custom\", i6.PopupCustomComponent, View_PopupCustomComponent_Host_0, {}, {}, []);\nexport { PopupCustomComponentNgFactory as PopupCustomComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .popup-bckg[_ngcontent-%COMP%]{position:fixed;visibility:collapse;width:100%;height:100%;z-index:996;background-color:rgba(0,0,0,.5);opacity:0;transition:all .3s}[_nghost-%COMP%] .popup-bckg.visible[_ngcontent-%COMP%]{visibility:visible;opacity:1}[_nghost-%COMP%] .popup[_ngcontent-%COMP%]{visibility:collapse;position:fixed;z-index:997;width:100%;overflow:hidden;opacity:0;-ms-transform:scale(.7);transform:scale(.7);transition:all .3s ease-out}[_nghost-%COMP%] .popup.visible[_ngcontent-%COMP%]{visibility:visible;-ms-transform:scale(1);transform:scale(1);opacity:1}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:start;justify-content:flex-start;max-height:90vh;margin:5vh auto;background-color:#fff;width:80%;box-shadow:0 4px 8px 0 rgba(0,0,0,.2)}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content.full-screen[_ngcontent-%COMP%]{width:90%}@media only screen and (min-width:768px){[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%]{width:50%}}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%], [_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-header[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-header[_ngcontent-%COMP%]{padding:1px 0;color:#fff}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-header[_ngcontent-%COMP%] .close-cross[_ngcontent-%COMP%]{float:right;margin:15px 15px 0 0;width:13px;height:13px;opacity:.6;transition:all .3s;cursor:pointer;background-image:url(/assets/images/close.png);background-size:13px}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-header[_ngcontent-%COMP%] .close-cross[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-header[_ngcontent-%COMP%] .close-cross[_ngcontent-%COMP%]:hover{opacity:1}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{text-align:left;max-height:calc(90vh - 150px);padding:10px;background-color:#fff;word-wrap:break-word;overflow-y:scroll}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-body.over-hide[_ngcontent-%COMP%]{overflow-y:auto!important}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-footer[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-footer[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]{margin:20px 0;padding:10px 35px;transition:all .3s;cursor:pointer;border:none;opacity:.8;color:#fff;text-align:center;font-size:20px}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-footer[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-footer[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]:hover{opacity:1}\"];\nexport { styles as styles };\n","\r\n
\r\n
\r\n
\r\n \r\n

{{currentNotification.title}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { NotificationConfirmModel } from '../shared/models/notification.model';\r\nimport { RestaurantTypeEnum } from '../shared/enums/restaurant-type.enum';\r\nimport { ApplicationDataService } from '../shared/services/application-data.service';\r\nimport { Component, OnInit, OnDestroy, HostBinding } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-popup-confirm',\r\n templateUrl: './popup-confirm.component.html',\r\n styleUrls: ['./popup-confirm.component.scss']\r\n})\r\nexport class PopupConfirmComponent implements OnInit, OnDestroy {\r\n @HostBinding('class.visible')\r\n public showPopup: boolean;\r\n public currentNotification: NotificationConfirmModel;\r\n public currentType: RestaurantTypeEnum;\r\n private restTypeSubscription: Subscription;\r\n\r\n constructor(private appDataService: ApplicationDataService) { }\r\n\r\n ngOnInit() {\r\n this.restTypeSubscription = this.appDataService.restaurantType$\r\n .subscribe(type => {\r\n this.currentType = type;\r\n });\r\n }\r\n\r\n show(notif: NotificationConfirmModel) {\r\n this.currentNotification = notif;\r\n this.showPopup = true;\r\n }\r\n\r\n ok() {\r\n this.currentNotification.onOk();\r\n this.hide();\r\n }\r\n\r\n cancel() {\r\n this.currentNotification.onCancel();\r\n this.hide();\r\n }\r\n\r\n hide() {\r\n this.showPopup = false;\r\n if (this.currentNotification) {\r\n this.currentNotification.onClose();\r\n this.currentNotification = null;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.restTypeSubscription.unsubscribe();\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./popup-confirm.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"../shared/directives/restaurant-type-color.directive\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"./popup-confirm.component\";\nimport * as i5 from \"../shared/services/application-data.service\";\nvar styles_PopupConfirmComponent = [i0.styles];\nvar RenderType_PopupConfirmComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_PopupConfirmComponent, data: {} });\nexport { RenderType_PopupConfirmComponent as RenderType_PopupConfirmComponent };\nfunction View_PopupConfirmComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"button\", [[\"class\", \"pop-close close-btn\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.ok() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i2.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵted(-1, null, [\"OK\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 2, 0, _co.currentType, true); _ck(_v, 1, 0, currVal_0); }, null); }\nfunction View_PopupConfirmComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 3, \"button\", [[\"class\", \"pop-close close-btn\"], [\"type\", \"button\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.cancel() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i2.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(2, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵted(-1, null, [\"Annuler\"]))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _ck(_v, 2, 0, _co.currentType, true); _ck(_v, 1, 0, currVal_0); }, null); }\nfunction View_PopupConfirmComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 19, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 17, \"div\", [[\"class\", \"popup\"]], null, null, null, null, null)), i1.ɵprd(512, null, i3.ɵNgClassImpl, i3.ɵNgClassR2Impl, [i1.IterableDiffers, i1.KeyValueDiffers, i1.ElementRef, i1.Renderer2]), i1.ɵdid(3, 278528, null, 0, i3.NgClass, [i3.ɵNgClassImpl], { klass: [0, \"klass\"], ngClass: [1, \"ngClass\"] }, null), i1.ɵpod(4, { \"visible\": 0 }), (_l()(), i1.ɵeld(5, 0, null, null, 13, \"div\", [[\"class\", \"popup-content\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 5, \"div\", [[\"class\", \"popup-header\"]], null, null, null, null, null)), i1.ɵdid(7, 16384, null, 0, i2.RestaurantTypeColorDirective, [i1.ElementRef, i1.Renderer2], { restaurantColor: [0, \"restaurantColor\"] }, null), i1.ɵpod(8, { \"type\": 0, \"background\": 1 }), (_l()(), i1.ɵeld(9, 0, null, null, 0, \"span\", [[\"class\", \"pop-close close-cross\"]], null, [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = (_co.cancel() !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 1, \"h3\", [], null, null, null, null, null)), (_l()(), i1.ɵted(11, null, [\"\", \"\"])), (_l()(), i1.ɵeld(12, 0, null, null, 6, \"div\", [[\"class\", \"popup-body\"]], null, null, null, null, null)), (_l()(), i1.ɵeld(13, 0, null, null, 0, \"div\", [[\"class\", \"popup-message\"]], [[8, \"innerHTML\", 1]], null, null, null, null)), (_l()(), i1.ɵeld(14, 0, null, null, 4, \"div\", [[\"class\", \"popup-actions\"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupConfirmComponent_2)), i1.ɵdid(16, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupConfirmComponent_3)), i1.ɵdid(18, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(19, 0, null, null, 0, \"div\", [[\"class\", \"popup-bckg\"]], [[2, \"visible\", null]], [[null, \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"click\" === en)) {\n var pd_0 = ((_co.currentNotification.closeOnBackdropClick && _co.cancel()) !== false);\n ad = (pd_0 && ad);\n } return ad; }, null, null))], function (_ck, _v) { var _co = _v.component; var currVal_0 = \"popup\"; var currVal_1 = _ck(_v, 4, 0, _co.showPopup); _ck(_v, 3, 0, currVal_0, currVal_1); var currVal_2 = _ck(_v, 8, 0, _co.currentType, true); _ck(_v, 7, 0, currVal_2); var currVal_5 = _co.currentNotification.showOk; _ck(_v, 16, 0, currVal_5); var currVal_6 = _co.currentNotification.showCancel; _ck(_v, 18, 0, currVal_6); }, function (_ck, _v) { var _co = _v.component; var currVal_3 = _co.currentNotification.title; _ck(_v, 11, 0, currVal_3); var currVal_4 = _co.currentNotification.message; _ck(_v, 13, 0, currVal_4); var currVal_7 = _co.showPopup; _ck(_v, 19, 0, currVal_7); }); }\nexport function View_PopupConfirmComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_PopupConfirmComponent_1)), i1.ɵdid(1, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.currentNotification; _ck(_v, 1, 0, currVal_0); }, null); }\nexport function View_PopupConfirmComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-popup-confirm\", [], [[2, \"visible\", null]], null, null, View_PopupConfirmComponent_0, RenderType_PopupConfirmComponent)), i1.ɵdid(1, 245760, null, 0, i4.PopupConfirmComponent, [i5.ApplicationDataService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 1).showPopup; _ck(_v, 0, 0, currVal_0); }); }\nvar PopupConfirmComponentNgFactory = i1.ɵccf(\"app-popup-confirm\", i4.PopupConfirmComponent, View_PopupConfirmComponent_Host_0, {}, {}, []);\nexport { PopupConfirmComponentNgFactory as PopupConfirmComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"[_nghost-%COMP%] .popup-bckg[_ngcontent-%COMP%]{position:fixed;visibility:collapse;width:100%;height:100%;z-index:998;background-color:rgba(0,0,0,.5);opacity:0;transition:all .3s}[_nghost-%COMP%] .popup-bckg.visible[_ngcontent-%COMP%]{visibility:visible;opacity:1}[_nghost-%COMP%] .checkbox-label[_ngcontent-%COMP%]{margin-right:10px}[_nghost-%COMP%] .popup[_ngcontent-%COMP%]{visibility:collapse;position:fixed;z-index:999;width:100%;margin:100px auto;overflow:hidden;opacity:0;-ms-transform:scale(.7);transform:scale(.7);transition:all .3s ease-out}[_nghost-%COMP%] .popup.visible[_ngcontent-%COMP%]{visibility:visible;-ms-transform:scale(1);transform:scale(1);opacity:1}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%]{background-color:#fff;margin:auto;width:80%;box-shadow:0 4px 8px 0 rgba(0,0,0,.2)}@media only screen and (min-width:768px){[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%]{width:50%}}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%], [_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-header[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-header[_ngcontent-%COMP%]{padding:1px 0;color:#fff}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-header[_ngcontent-%COMP%] .close-cross[_ngcontent-%COMP%]{float:right;margin:15px 15px 0 0;width:13px;height:13px;opacity:.6;transition:all .3s;cursor:pointer;background-image:url(/assets/images/close.png);background-size:13px}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-header[_ngcontent-%COMP%] .close-cross[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-header[_ngcontent-%COMP%] .close-cross[_ngcontent-%COMP%]:hover{opacity:1}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:30px;background-color:#fff;word-wrap:break-word}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%] .popup-message[_ngcontent-%COMP%]{text-align:justify;line-height:1;white-space:pre-wrap}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%] .popup-actions[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:first-child){margin-left:10px}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]{margin-top:30px;padding:10px 35px;transition:all .3s;cursor:pointer;border:none;opacity:.8;color:#fff;text-align:center;font-size:20px}[_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .popup[_ngcontent-%COMP%] .popup-content[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]:hover{opacity:1}\"];\nexport { styles as styles };\n","\r\n
\r\n
\r\n
\r\n \r\n

{{currentNotification.title}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { SessionStorageService } from \"./browser-storage.service\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\nconst CORRELATIONTOKEN_STORAGEKEY = \"CORRELATION_ID\";\r\n\r\n@Injectable()\r\nexport class CorrelationTokenService {\r\n\r\n private _correlationId: string;\r\n public get correlationId(): string {\r\n if (!this._correlationId) {\r\n this.correlationId = this._sessionStorageService.getString(CORRELATIONTOKEN_STORAGEKEY);\r\n if (!this._correlationId) {\r\n // set property with new correlationToken\r\n this.correlationId = this._createCorrelationId();\r\n }\r\n }\r\n return this._correlationId;\r\n }\r\n public set correlationId(correlationId: string) {\r\n this._correlationId = correlationId;\r\n this._sessionStorageService.setString(CORRELATIONTOKEN_STORAGEKEY, correlationId);\r\n }\r\n\r\n constructor(private _sessionStorageService: SessionStorageService) {\r\n }\r\n\r\n private _createCorrelationId(): string {\r\n return \"_\" + new Date().valueOf() + \"_\" + Math.random().toFixed(16).substring(2);\r\n }\r\n}\r\n","\r\nimport { observeOn, filter, distinctUntilChanged } from 'rxjs/operators';\r\nimport { GoogleAnalyticsProvider } from './providers/google-analytics-provider';\r\nimport { Injectable } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { AnalyticsDimensions } from './models/analytics-dimensions.model';\r\nimport { AppInsightsAnalyticsProvider } from './providers/appinsights-analytics-provider';\r\nimport { ReplaySubject, Scheduler, asapScheduler } from 'rxjs';\r\nimport { Location } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class AnalyticsService {\r\n private dimensions: AnalyticsDimensions = {};\r\n\r\n // private subjects\r\n private setUserIdSubject: ReplaySubject = new ReplaySubject(10);\r\n private setCorrelationIdSubject: ReplaySubject = new ReplaySubject(10);\r\n\r\n private pageTrackSubject: ReplaySubject<{ path: string, dimensions: AnalyticsDimensions }> = new ReplaySubject(10);\r\n private eventTrackSubject: ReplaySubject<{ action: string, properties: any, dimensions: AnalyticsDimensions }> = new ReplaySubject(10);\r\n\r\n // Exposed subscribable events\r\n public pageTrack$ = this.pageTrackSubject.asObservable().pipe(distinctUntilChanged(this.deepCompare));\r\n public eventTrack$ = this.eventTrackSubject.asObservable().pipe(distinctUntilChanged(this.deepCompare));\r\n public setUserId$ = this.setUserIdSubject.asObservable().pipe(distinctUntilChanged());\r\n public setCorrelationId$ = this.setCorrelationIdSubject.asObservable().pipe(distinctUntilChanged());\r\n\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n private appInsights: AppInsightsAnalyticsProvider,\r\n private google: GoogleAnalyticsProvider) {\r\n\r\n // On link les childrens aux events (méthode générique, il suffit de fournir l'instance courante du service)\r\n this.appInsights.subscribeToMainService(this);\r\n this.google.subscribeToMainService(this);\r\n\r\n // On s'abonne au router pour les pageView\r\n this.subscribeToRouter();\r\n }\r\n\r\n\r\n /** Public methods */\r\n\r\n public eventTrack(action: string, properties: any, trackUrlChange: boolean = false) {\r\n this.eventTrackSubject.next({\r\n action: action,\r\n properties: properties,\r\n dimensions: this.dimensions\r\n });\r\n\r\n if (trackUrlChange) {\r\n this.trackUrlChange(this.location.path());\r\n }\r\n }\r\n\r\n public setUserId(userId: string) {\r\n this.dimensions.userId = userId;\r\n this.setUserIdSubject.next(userId);\r\n }\r\n\r\n public setCorrelationId(correlationId: string) {\r\n this.dimensions.correlationId = correlationId;\r\n this.setCorrelationIdSubject.next(correlationId);\r\n }\r\n\r\n public setDimensionProperties(dimensionValues: any) {\r\n if (dimensionValues != null) {\r\n for (const dimensionProp in dimensionValues) {\r\n this.dimensions[dimensionProp] = dimensionValues[dimensionProp];\r\n }\r\n }\r\n }\r\n clearDimensionProperties() {\r\n this.dimensions = {};\r\n }\r\n\r\n private subscribeToRouter() {\r\n this.router.events.pipe(\r\n filter(event => event instanceof NavigationEnd),\r\n observeOn(asapScheduler)\r\n )\r\n .subscribe((event: NavigationEnd) => {\r\n this.trackUrlChange(event.urlAfterRedirects);\r\n });\r\n }\r\n\r\n private trackUrlChange(url: string) {\r\n this.pageTrackSubject.next(\r\n {\r\n path: this.location.prepareExternalUrl(url),\r\n dimensions: this.dimensions\r\n });\r\n }\r\n\r\n\r\n private deepCompare(object: any, base: any): boolean {\r\n // cheap deep-comparison. see:https://stackoverflow.com/a/44446930/590741\r\n return JSON.stringify(object) === JSON.stringify(base);\r\n }\r\n\r\n}\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"./app.component.scss.shim.ngstyle\";\nimport * as i1 from \"@angular/core\";\nimport * as i2 from \"./odg/odg-bad-evaluation/odg-bad-evaluation.component.ngfactory\";\nimport * as i3 from \"./odg/odg-bad-evaluation/odg-bad-evaluation.component\";\nimport * as i4 from \"./shared/services/application-data.service\";\nimport * as i5 from \"./layout-header/layout-header.component.ngfactory\";\nimport * as i6 from \"./layout-header/layout-header.component\";\nimport * as i7 from \"@angular/router\";\nimport * as i8 from \"./shared/services/authentication/authentication.service\";\nimport * as i9 from \"./shared/services/interaction.service\";\nimport * as i10 from \"./shared/models/app-settings.model\";\nimport * as i11 from \"@angular/common\";\nimport * as i12 from \"./drawer/drawer.component.ngfactory\";\nimport * as i13 from \"./drawer/drawer.component\";\nimport * as i14 from \"./loading-overlay/loading-overlay.component.ngfactory\";\nimport * as i15 from \"./loading-overlay/loading-overlay.component\";\nimport * as i16 from \"./popup/popup.component.ngfactory\";\nimport * as i17 from \"./popup/popup.component\";\nimport * as i18 from \"./shared/services/log.service\";\nimport * as i19 from \"./popup-custom/popup-custom.component.ngfactory\";\nimport * as i20 from \"./popup-custom/popup-custom.component\";\nimport * as i21 from \"./popup-confirm/popup-confirm.component.ngfactory\";\nimport * as i22 from \"./popup-confirm/popup-confirm.component\";\nimport * as i23 from \"./app.component\";\nimport * as i24 from \"@angular/platform-browser\";\nimport * as i25 from \"./shared/services/api/logo/logo-route.service\";\nimport * as i26 from \"./shared/services/navigation.service\";\nimport * as i27 from \"./shared/services/correlationToken.service\";\nimport * as i28 from \"./analytics/analytics-service\";\nimport * as i29 from \"./shared/services/browser-storage.service\";\nimport * as i30 from \"@angular/service-worker\";\nvar styles_AppComponent = [i0.styles];\nvar RenderType_AppComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_AppComponent, data: {} });\nexport { RenderType_AppComponent as RenderType_AppComponent };\nfunction View_AppComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"odg-bad-evaluation\", [], null, [[null, \"badEvaluationClose\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"badEvaluationClose\" === en)) {\n var pd_0 = (_co.onBadEvaluationClose() !== false);\n ad = (pd_0 && ad);\n } return ad; }, i2.View_OdgBadEvaluationComponent_0, i2.RenderType_OdgBadEvaluationComponent)), i1.ɵdid(1, 49152, null, 0, i3.OdgBadEvaluationComponent, [i4.ApplicationDataService], { badEvaluation: [0, \"badEvaluation\"], currentType: [1, \"currentType\"] }, { badEvaluationClose: \"badEvaluationClose\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.badOdgEvaluation; var currVal_1 = _co.currentType; _ck(_v, 1, 0, currVal_0, currVal_1); }, null); }\nfunction View_AppComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-layout-header\", [], null, [[null, \"onShowDrawer\"], [null, \"selectedRestaurantContextChange\"], [\"document\", \"click\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"document:click\" === en)) {\n var pd_0 = (i1.ɵnov(_v, 1).onDocumentClick($event) !== false);\n ad = (pd_0 && ad);\n } if ((\"onShowDrawer\" === en)) {\n var pd_1 = (_co.onShowDrawer() !== false);\n ad = (pd_1 && ad);\n } if ((\"selectedRestaurantContextChange\" === en)) {\n var pd_2 = (_co.selectedRestaurantContextChanged($event) !== false);\n ad = (pd_2 && ad);\n } return ad; }, i5.View_LayoutHeaderComponent_0, i5.RenderType_LayoutHeaderComponent)), i1.ɵdid(1, 245760, null, 0, i6.LayoutHeaderComponent, [i7.Router, i4.ApplicationDataService, i8.AuthenticationService, i9.InteractionService, i10.AppSettings, i7.Router, i11.DOCUMENT], { menuList: [0, \"menuList\"], contrats: [1, \"contrats\"], restaurant: [2, \"restaurant\"], showDebugInfo: [3, \"showDebugInfo\"], logoContratUrl: [4, \"logoContratUrl\"] }, { onShowDrawer: \"onShowDrawer\", selectedRestaurantContextChange: \"selectedRestaurantContextChange\" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.headerMenuList; var currVal_1 = _co.contrats; var currVal_2 = _co.currentRestaurant; var currVal_3 = _co.isUserAdmin; var currVal_4 = _co.logoContratUrl; _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4); }, null); }\nfunction View_AppComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-drawer\", [], [[2, \"visible\", null]], [[null, \"selectedRestaurantContextChange\"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if ((\"selectedRestaurantContextChange\" === en)) {\n var pd_0 = (_co.selectedRestaurantContextChanged($event) !== false);\n ad = (pd_0 && ad);\n } return ad; }, i12.View_DrawerComponent_0, i12.RenderType_DrawerComponent)), i1.ɵdid(1, 245760, [[1, 4]], 0, i13.DrawerComponent, [i4.ApplicationDataService, i8.AuthenticationService, i7.Router, i11.DOCUMENT], { contrats: [0, \"contrats\"], restaurant: [1, \"restaurant\"], showDebugInfo: [2, \"showDebugInfo\"], menuList: [3, \"menuList\"], logoContratUrl: [4, \"logoContratUrl\"] }, { selectedRestaurantContextChange: \"selectedRestaurantContextChange\" })], function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.contrats; var currVal_2 = _co.currentRestaurant; var currVal_3 = _co.isUserAdmin; var currVal_4 = _co.menuList; var currVal_5 = _co.logoContratUrl; _ck(_v, 1, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 1).showDrawer; _ck(_v, 0, 0, currVal_0); }); }\nexport function View_AppComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud(671088640, 1, { drawerComponent: 0 }), i1.ɵqud(402653184, 2, { popupComponent: 0 }), i1.ɵqud(402653184, 3, { popupCustomComponent: 0 }), i1.ɵqud(402653184, 4, { popupConfirmComponent: 0 }), i1.ɵqud(402653184, 5, { loaderOverlayComponent: 0 }), (_l()(), i1.ɵeld(5, 0, null, null, 1, \"app-loading-overlay\", [], [[2, \"show\", null]], null, null, i14.View_LoadingOverlayComponent_0, i14.RenderType_LoadingOverlayComponent)), i1.ɵdid(6, 49152, [[5, 4], [\"mainLoadingOverlay\", 4]], 0, i15.LoadingOverlayComponent, [], null, null), (_l()(), i1.ɵeld(7, 0, null, null, 1, \"app-popup\", [], [[2, \"visible\", null]], null, null, i16.View_PopupComponent_0, i16.RenderType_PopupComponent)), i1.ɵdid(8, 245760, [[2, 4]], 0, i17.PopupComponent, [i4.ApplicationDataService, i18.LogService], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_AppComponent_1)), i1.ɵdid(10, 16384, null, 0, i11.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(11, 0, null, null, 1, \"app-popup-custom\", [], [[2, \"visible\", null]], null, null, i19.View_PopupCustomComponent_0, i19.RenderType_PopupCustomComponent)), i1.ɵdid(12, 245760, [[3, 4]], 0, i20.PopupCustomComponent, [i4.ApplicationDataService, i1.ComponentFactoryResolver], null, null), (_l()(), i1.ɵeld(13, 0, null, null, 1, \"app-popup-confirm\", [], [[2, \"visible\", null]], null, null, i21.View_PopupConfirmComponent_0, i21.RenderType_PopupConfirmComponent)), i1.ɵdid(14, 245760, [[4, 4]], 0, i22.PopupConfirmComponent, [i4.ApplicationDataService], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_AppComponent_2)), i1.ɵdid(16, 16384, null, 0, i11.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_AppComponent_3)), i1.ɵdid(18, 16384, null, 0, i11.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, \"ngIf\"] }, null), (_l()(), i1.ɵeld(19, 16777216, null, null, 1, \"router-outlet\", [], null, null, null, null, null)), i1.ɵdid(20, 212992, null, 0, i7.RouterOutlet, [i7.ChildrenOutletContexts, i1.ViewContainerRef, i1.ComponentFactoryResolver, [8, null], i1.ChangeDetectorRef], null, null)], function (_ck, _v) { var _co = _v.component; _ck(_v, 8, 0); var currVal_2 = _co.badOdgEvaluation; _ck(_v, 10, 0, currVal_2); _ck(_v, 12, 0); _ck(_v, 14, 0); var currVal_5 = (_co.isUserLogged && !_co.isLoginPage); _ck(_v, 16, 0, currVal_5); var currVal_6 = (_co.isUserLogged && !_co.isLoginPage); _ck(_v, 18, 0, currVal_6); _ck(_v, 20, 0); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 6).isDisplay; _ck(_v, 5, 0, currVal_0); var currVal_1 = i1.ɵnov(_v, 8).showPopup; _ck(_v, 7, 0, currVal_1); var currVal_3 = i1.ɵnov(_v, 12).showPopup; _ck(_v, 11, 0, currVal_3); var currVal_4 = i1.ɵnov(_v, 14).showPopup; _ck(_v, 13, 0, currVal_4); }); }\nexport function View_AppComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, \"app-root\", [], [[8, \"className\", 0]], null, null, View_AppComponent_0, RenderType_AppComponent)), i1.ɵdid(1, 245760, null, 0, i23.AppComponent, [i4.ApplicationDataService, i18.LogService, i8.AuthenticationService, i11.Location, i11.DOCUMENT, i7.Router, i7.ActivatedRoute, i24.Title, i25.LogoRouteService, i26.NavigationService, i9.InteractionService, i27.CorrelationTokenService, i28.AnalyticsService, i29.SessionStorageService, i30.SwUpdate, i11.PlatformLocation, i1.ChangeDetectorRef, i1.ApplicationRef], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, function (_ck, _v) { var currVal_0 = i1.ɵnov(_v, 1).hostClasses; _ck(_v, 0, 0, currVal_0); }); }\nvar AppComponentNgFactory = i1.ɵccf(\"app-root\", i23.AppComponent, View_AppComponent_Host_0, { class: \"class\" }, {}, []);\nexport { AppComponentNgFactory as AppComponentNgFactory };\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nvar styles = [\"\"];\nexport { styles as styles };\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\n\r\nexport class ErrorApiModel {\r\n Code: number;\r\n Message: string;\r\n Content?: any;\r\n\r\n static FromJsonObject(json: any): ErrorApiModel {\r\n // let object = Object.create(ErrorApiModel.prototype);\r\n // Object.assign(object, json);\r\n const error = new ErrorApiModel();\r\n if (json) {\r\n if (typeof (json.Code) !== 'undefined') {\r\n error.Code = Number(json.Code);\r\n }\r\n if (typeof (json.Message) !== 'undefined') {\r\n error.Message = json.Message;\r\n }\r\n if (typeof (json.Content) !== 'undefined') {\r\n error.Content = json.Content;\r\n }\r\n }\r\n return error;\r\n }\r\n\r\n static FromMessage(message: string): ErrorApiModel {\r\n const error = new ErrorApiModel();\r\n error.Message = message;\r\n return error;\r\n }\r\n\r\n static FromHttpErrorResponse(errorResponse: HttpErrorResponse) {\r\n const error = errorResponse.error;\r\n if (error && (error.Code || error.Content || error.Message)) {\r\n return {\r\n Code: error.Code,\r\n Message: error.Message,\r\n Content: error.Content\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n}\r\n\r\nexport function CheckIsErrorApiModel(obj: any): obj is ErrorApiModel {\r\n const error = obj as ErrorApiModel;\r\n return error && (error.Code || error.Content || error.Message);\r\n}\r\n\r\n","import { parse as parseUrl } from 'url';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, throwError as observableThrowError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { HttpStatusCode } from '../../../enums/http-status-code.enum';\r\nimport { ApiSettings } from '../../../models/api/api-settings';\r\nimport { AuthenticateApiRequest, AuthTokenApiRequest, AuthTokenApiResponse, GetMeApiResponse } from '../../../models/api/authentication';\r\nimport { SendPasswordApiRequest } from '../../../models/api/authentication/requests/send-password.apirequest';\r\nimport { ErrorApiModel, CheckIsErrorApiModel } from '../../../models/api/error/error.apimodel';\r\nimport { LogService } from '../../log.service';\r\n\r\nconst CONTROLLER_URL = 'oauth';\r\n\r\n@Injectable()\r\nexport class AuthenticationApiService {\r\n\r\n private readonly LOGIN_ACTION_URL = `${this._apiSettings.apiUrl}/${CONTROLLER_URL}`;\r\n\r\n constructor(private _apiSettings: ApiSettings,\r\n private _http: HttpClient,\r\n private _logService: LogService) {\r\n }\r\n\r\n refresh(refreshToken: string): Observable {\r\n const url = `${this._apiSettings.apiUrl}/${CONTROLLER_URL}/refresh`;\r\n const request: AuthTokenApiRequest = { refreshToken };\r\n return this.postRequest(url, request);\r\n }\r\n\r\n login(username: string, password: string): Observable {\r\n const request: AuthenticateApiRequest = { username, password };\r\n return this.postRequest(this.LOGIN_ACTION_URL, request);\r\n }\r\n\r\n sendPassword(username: string): Observable {\r\n const payload: SendPasswordApiRequest = { username };\r\n const url = `${this._apiSettings.apiUrl}/${CONTROLLER_URL}/sendpassword`;\r\n return this.postRequest(url, payload).pipe(\r\n map(res => {\r\n return true;\r\n }));\r\n }\r\n\r\n me(): Observable {\r\n const url = `${this._apiSettings.apiUrl}/${CONTROLLER_URL}/me`;\r\n return this._http.get(url);\r\n }\r\n\r\n private postRequest(url: string, payload: any) {\r\n return this._http.post(url, payload)\r\n .pipe(\r\n catchError((response: HttpErrorResponse) => {\r\n return this.handleError(response);\r\n })\r\n );\r\n }\r\n\r\n private throwError(error: string, extraInfo: any = null) {\r\n const errorModel = new ErrorApiModel();\r\n errorModel.Message = error;\r\n errorModel.Content = extraInfo;\r\n this._logService.Error(JSON.stringify(errorModel), 'AuthenticationApiService');\r\n return observableThrowError(errorModel);\r\n }\r\n\r\n private handleError(response: HttpErrorResponse) {\r\n if (response.status === HttpStatusCode.ConnectionRefused) { // net::ERR_CONNECTION_REFUSED\r\n return this.throwError('Le serveur n\\'est pas joignable, veuillez réessayer dans quelques instants.');\r\n }\r\n\r\n if (CheckIsErrorApiModel(response)) {\r\n return observableThrowError(response);\r\n }\r\n\r\n if (response.url) {\r\n const responseUrl = parseUrl(response.url);\r\n if (responseUrl.path === this.LOGIN_ACTION_URL && response.status === HttpStatusCode.Unauthorized) { // 401 (Unauthorized)\r\n return this.throwError('Utilisateur ou mot de passe non valide.');\r\n }\r\n }\r\n\r\n return this.throwError(response.message);\r\n }\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { parse as parseUrl } from 'url';\r\nimport { Logger } from './log.service';\r\n\r\nexport abstract class BaseHttpInterceptor implements HttpInterceptor {\r\n\r\n constructor(protected _log: Logger,\r\n private _options: HttpInterceptorOptions) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (this.canIntercept(req)) {\r\n this._log.debug(`intercept ${req.url}`);\r\n return this.handleInterception(req, next);\r\n } else {\r\n this._log.debug(`bypass ${req.url}`);\r\n return next.handle(req);\r\n }\r\n }\r\n\r\n private canIntercept(request: HttpRequest): boolean {\r\n return this.isWhitelistedDomain(request)\r\n && !this.isBlacklistedRoute(request);\r\n }\r\n\r\n protected abstract handleInterception(request: HttpRequest, next: HttpHandler): Observable>;\r\n\r\n private isBlacklistedRoute(request: HttpRequest): boolean {\r\n const url = request.url;\r\n\r\n return this._options.blacklistedRoutes\r\n && (\r\n this._options.blacklistedRoutes.findIndex(\r\n route =>\r\n typeof route === 'string'\r\n ? route === url\r\n : route instanceof RegExp\r\n ? route.test(url)\r\n : false\r\n ) > -1\r\n );\r\n }\r\n\r\n private isWhitelistedDomain(request: HttpRequest): boolean {\r\n const requestUrl = parseUrl(request.url, false, true);\r\n\r\n return !this._options.whitelistedDomains\r\n || (\r\n requestUrl.host === null ||\r\n this._options.whitelistedDomains.findIndex(\r\n domain =>\r\n typeof domain === 'string'\r\n ? domain === requestUrl.host\r\n : domain instanceof RegExp\r\n ? domain.test(requestUrl.host)\r\n : false\r\n ) > -1\r\n );\r\n }\r\n}\r\n\r\nexport interface HttpInterceptorOptions {\r\n whitelistedDomains?: Array;\r\n blacklistedRoutes?: Array;\r\n}\r\n","import { HttpEvent, HttpHandler, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ApiSettings } from '../../models/api/api-settings';\r\nimport { BaseHttpInterceptor } from '../base-http-interceptor';\r\nimport { CorrelationTokenService } from '../correlationToken.service';\r\nimport { LogService } from '../log.service';\r\nimport { StringHelper } from '../../helpers/string.helper';\r\n\r\nconst { version: appVersion } = require('../../../../../package.json');\r\n\r\n@Injectable()\r\nexport class AppHttpInterceptor extends BaseHttpInterceptor {\r\n\r\n constructor(\r\n private _correlationTokenService: CorrelationTokenService,\r\n private _apiSettings: ApiSettings,\r\n logService: LogService\r\n ) {\r\n super(\r\n logService.getLogger('AppHttpInterceptor'),\r\n {\r\n whitelistedDomains: [null, /localhost(:\\d+)/i],\r\n blacklistedRoutes: [\r\n /// (?!\\/(api|api-internal)\\/)/i // on bypass tout ce qui n'est pas API\r\n RegExp(`^(?!${StringHelper.escapeRegExp(_apiSettings.apiUrl)})`, 'gi')\r\n ]\r\n }\r\n );\r\n }\r\n\r\n protected handleInterception(request: HttpRequest, next: HttpHandler): Observable> {\r\n request = request.clone({\r\n setHeaders: {\r\n // ajout de la version de l'api\r\n 'client-version': appVersion,\r\n // ajout du correlationId\r\n 'client-correlationId': this._correlationTokenService.correlationId,\r\n // ajout de la subscriberkey API Managment\r\n 'Ocp-Apim-Subscription-Key': this._apiSettings.subscriberKey\r\n }\r\n });\r\n\r\n return next.handle(request);\r\n }\r\n}\r\n","\r\nimport { HttpClient, HttpErrorResponse, HttpEvent, HttpHandler, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport * as HttpStatus from 'http-status-codes';\r\nimport { includes } from 'lodash';\r\nimport { Observable, throwError as observableThrowError } from 'rxjs';\r\nimport { catchError, switchMap } from 'rxjs/operators';\r\nimport { ErrorApiModel } from '../../models/api/error/error.apimodel';\r\nimport { AuthenticationService } from '../authentication/authentication.service';\r\nimport { BaseHttpInterceptor } from '../base-http-interceptor';\r\nimport { LogService } from '../log.service';\r\nimport { ApiSettings } from '../../models/api/api-settings';\r\nimport { StringHelper } from '../../helpers/string.helper';\r\n\r\nconst SKIP_REFRESH_TOKEN_HEADERNAME = 'ng-skip-refreshToken';\r\n\r\n// Erreurs serveurs en cas de token expiré\r\n// https://github.com/aspnet/AspNetCore/blob/f4972dc6b61968ab244f6e030535974376298ba1/src/Security/Authentication/JwtBearer/src/JwtBearerHandler.cs#L286\r\n// https://github.com/aspnet/AspNetCore/blob/f4972dc6b61968ab244f6e030535974376298ba1/src/Security/Authentication/JwtBearer/src/JwtBearerHandler.cs#L222\r\nconst TOKEN_EXPIRATION_SERVER_ERRORS = [\r\n 'token expired', // SecurityTokenExpiredException\r\n 'token lifetime is invalid' // SecurityTokenInvalidLifetimeException\r\n];\r\n\r\n@Injectable()\r\nexport class AuthHttpInterceptor extends BaseHttpInterceptor {\r\n\r\n constructor(\r\n private _httpClient: HttpClient,\r\n private _authenticationService: AuthenticationService,\r\n private _apiSettings: ApiSettings,\r\n logService: LogService) {\r\n super(\r\n logService.getLogger('AuthHttpInterceptor'),\r\n {\r\n whitelistedDomains: [null, /localhost(:\\d+)/i],\r\n blacklistedRoutes: [\r\n /oauth\\/refresh/,\r\n /oauth\\/sendpassword/,\r\n /oauth$/, // login\r\n /// (?!\\/(api|api-internal)\\/)/i // on bypass tout ce qui n'est pas API\r\n RegExp(`^(?!${StringHelper.escapeRegExp(_apiSettings.apiUrl)})`, 'gi')\r\n ]\r\n }\r\n );\r\n }\r\n\r\n protected handleInterception(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n const shouldRefreshToken = this.shouldRefreshToken(request);\r\n\r\n return this._authenticationService.getToken()\r\n .pipe(\r\n switchMap((token) => {\r\n if (token != null) {\r\n const authenticatedRequest = this.applyBearerToken(request, token.accessToken);\r\n return next.handle(authenticatedRequest);\r\n }\r\n // sinon on tente tout de même l'appel\r\n return next.handle(request);\r\n }),\r\n catchError((error) => {\r\n // on vérifie si l'erreur ne serait pas un token expiré, auquel cas on fait un refresh et on relance le pipe\r\n if (error instanceof HttpErrorResponse) {\r\n const response = error;\r\n\r\n if (this.isTokenExpirationServerErrors(response)) {\r\n if (shouldRefreshToken) {\r\n // on retente un refresh et on relance le pipe complet\r\n return this._authenticationService.refreshToken()\r\n .pipe(\r\n switchMap(token => {\r\n // on réapplique le token \"rafraichi\"...\r\n let relaunchRequest = this.applyBearerToken(request, token.accessToken);\r\n // ...avec l'ajout d'un flag pour skipper le refresh auto lors du relancement dans le pipe http (pour éviter de boucler s'il y a de nouveau un autre problème en 401)\r\n relaunchRequest = this.applySkipRefreshTokenHeader(relaunchRequest);\r\n return this._httpClient.request(relaunchRequest);\r\n })\r\n );\r\n } else {\r\n // erreur générique\r\n return this.throwError('Problème d\\'authentification, veuillez vous réauthentifier ou contacter un administrateur.', response.error);\r\n }\r\n }\r\n\r\n }\r\n\r\n // par défault on rethrow\r\n return observableThrowError(error);\r\n })\r\n );\r\n\r\n }\r\n\r\n\r\n private applyBearerToken(request: HttpRequest, token: string): HttpRequest {\r\n return request.clone({\r\n setHeaders: {\r\n // ajout du token d'authentification\r\n Authorization: `Bearer ${token}`\r\n }\r\n });\r\n }\r\n\r\n private applySkipRefreshTokenHeader(request: HttpRequest, skip: boolean = true): HttpRequest {\r\n return request.clone({\r\n setHeaders: {\r\n // ajout du token d'authentification\r\n [SKIP_REFRESH_TOKEN_HEADERNAME]: String(skip)\r\n }\r\n });\r\n }\r\n\r\n private shouldRefreshToken(request: HttpRequest): boolean {\r\n return !request.headers.get(SKIP_REFRESH_TOKEN_HEADERNAME);\r\n }\r\n\r\n private throwError(error: string, extraInfo: any = null): Observable {\r\n const errorModel: ErrorApiModel = {\r\n Code: 0,\r\n Message: error,\r\n Content: extraInfo\r\n };\r\n return this.throwErrorFromModel(errorModel);\r\n\r\n }\r\n private throwErrorFromModel(errorModel: ErrorApiModel): Observable {\r\n this._log.error(JSON.stringify(errorModel));\r\n return observableThrowError(errorModel);\r\n }\r\n\r\n private isTokenExpirationServerErrors(response: HttpErrorResponse) {\r\n if (response.status === HttpStatus.UNAUTHORIZED) { // 401 (Unauthorized)\r\n // on check la présence de headers laissés par le JwtBearerHandler explicitant que le token a expiré, auquel cas fait un refresh et on relance le pipe\r\n // ex: www-authenticate: Bearer error=\"invalid_token\", error_description=\"The token lifetime is invalid\"\r\n // refresh si unauthorized\r\n const tokenError = response.headers.get('www-authenticate');\r\n\r\n return (tokenError\r\n && TOKEN_EXPIRATION_SERVER_ERRORS.some(search => includes(tokenError, search)));\r\n }\r\n }\r\n}\r\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport * as HttpStatus from 'http-status-codes';\r\nimport { Observable, Subscriber, throwError as observableThrowError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { CheckIsErrorApiModel, ErrorApiModel } from '../../models/api/error/error.apimodel';\r\nimport { BaseHttpInterceptor } from '../base-http-interceptor';\r\nimport { LogService } from '../log.service';\r\nimport { ApiSettings } from '../../models/api/api-settings';\r\nimport { StringHelper } from '../../helpers/string.helper';\r\n\r\n@Injectable()\r\nexport class ErrorHandlerHttpInterceptor extends BaseHttpInterceptor {\r\n\r\n constructor(logService: LogService,\r\n private _apiSettings: ApiSettings,\r\n ) {\r\n super(\r\n logService.getLogger('ErrorHandlerHttpInterceptor'),\r\n {\r\n whitelistedDomains: [null, /localhost(:\\d+)/i],\r\n blacklistedRoutes: [\r\n /// (?!\\/(api|api-internal)\\/)/i // on bypass tout ce qui n'est pas API\r\n RegExp(`^(?!${StringHelper.escapeRegExp(_apiSettings.apiUrl)})`, 'gi')\r\n ]\r\n }\r\n );\r\n }\r\n\r\n protected handleInterception(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request)\r\n .pipe(\r\n catchError((errorResponse) => {\r\n return this.handleError(errorResponse, request);\r\n })\r\n );\r\n }\r\n\r\n\r\n private handleError(response: HttpErrorResponse, request: HttpRequest): Observable> {\r\n if (response.status === HttpStatus.BAD_REQUEST) {\r\n // les BAD_REQUEST sont à gérer manuellement\r\n // TODO voir s'il n'y aurait pas une convention pour définir un modèle d'erreur générique sur les BAD_REQUEST\r\n const errorModel = ErrorApiModel.FromHttpErrorResponse(response);\r\n if (errorModel) {\r\n return this.throwErrorFromModel(errorModel);\r\n } else {\r\n return observableThrowError(response); // rethrow\r\n }\r\n } else if (response.status === HttpStatus.UNAUTHORIZED) { // 401 (Unauthorized)\r\n const errorModel = ErrorApiModel.FromHttpErrorResponse(response);\r\n if (errorModel) {\r\n return this.throwErrorFromModel(errorModel);\r\n } else {\r\n // catché par AuthHttpInterceptor\r\n return observableThrowError(response); // rethrow\r\n }\r\n } else if (response.status === HttpStatus.FORBIDDEN) { // 403 (Forbidden)\r\n // erreur générique => Accès refusé\r\n return this.throwError('Accès refusé, veuillez vous réauthentifier ou contacter un administrateur.');\r\n } else if (response.status === 0\r\n || response.status === HttpStatus.GATEWAY_TIMEOUT) { // net::ERR_CONNECTION_REFUSED\r\n // erreur générique => serveur injoignable\r\n return this.throwError('Le serveur n\\'est pas joignable, veuillez réessayer dans quelques instants.', { error: response.error, message: response.message });\r\n } else {\r\n // check if blob readable content\r\n let responseContent: any;\r\n responseContent = response.error || response.message; // TODO à vérifier\r\n\r\n // // Client Side Error //see http://www.advancesharp.com/blog/1234/global-error-handling-in-angular-6-with-httpclient-interceptor\r\n // if (error.error instanceof ErrorEvent) {\r\n // errMsg = `Error: ${error.error.message}`;\r\n // }\r\n\r\n // fallback to throw generic error from http status\r\n if (responseContent === undefined) {\r\n responseContent = `${response.status}-${response.statusText}`;\r\n }\r\n // response can be a blob if fetch has been done using \"responseType: ResponseContentType.Blob\"\r\n if ((responseContent instanceof Blob)\r\n && (responseContent as Blob).type === 'application/json') {\r\n\r\n return new Observable((obs: Subscriber>) => {\r\n // extract blob Content\r\n const reader: FileReader = new FileReader();\r\n reader.onloadend = (e) => {\r\n const errorModel = JSON.parse(reader.result as string) as ErrorApiModel;\r\n this._log.error(JSON.stringify(errorModel));\r\n obs.error(errorModel);\r\n };\r\n reader.onerror = (e) => {\r\n const errorContent = JSON.stringify(reader.error);\r\n const errorModel: ErrorApiModel = {\r\n Code: 0,\r\n Message: errorContent\r\n };\r\n this._log.error(errorContent);\r\n obs.error(errorModel);\r\n };\r\n reader.readAsText(responseContent);\r\n });\r\n\r\n } else {\r\n // si la réponse est déjà un error model on la retourne\r\n if (CheckIsErrorApiModel(responseContent)) {\r\n return this.throwErrorFromModel(responseContent);\r\n }\r\n // else Erreur générique\r\n const errorContent = JSON.stringify(responseContent);\r\n const errorMessage = 'Incident technique, veuillez réessayer dans quelques instants. ' + (errorContent ? `\\n(${errorContent})` : '');\r\n return this.throwError(errorMessage,\r\n {\r\n request: request && request.toString(),\r\n responseStatus: response.status,\r\n responseStatusText: response.statusText\r\n });\r\n }\r\n }\r\n }\r\n\r\n private throwError(error: string, extraInfo: any = null): Observable {\r\n const errorModel: ErrorApiModel = {\r\n Code: 0,\r\n Message: error,\r\n Content: extraInfo\r\n };\r\n return this.throwErrorFromModel(errorModel);\r\n\r\n }\r\n private throwErrorFromModel(errorModel: ErrorApiModel): Observable {\r\n this._log.error(JSON.stringify(errorModel));\r\n return observableThrowError(errorModel);\r\n }\r\n\r\n}\r\n","\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { FileHelper } from 'src/app/shared/helpers/file.helper';\r\nimport { DateHelper } from '../../../shared/helpers/date.helper';\r\nimport { ApiSettings } from '../../../shared/models/api/api-settings';\r\nimport { PostCommandeRepasWarningApiResponse } from '../../../shared/models/api/warning/post-commande-repas-warning.apiresponse';\r\nimport { FileResultModel } from '../../../shared/models/fileresult.model';\r\nimport { LogService } from '../../../shared/services/log.service';\r\nimport { ExportBilanRepasRequest } from '../../models/api/requests/export-bilan-repas-request.apirequest';\r\nimport { ExportEcartsRequest } from '../../models/api/requests/export-ecarts-request.apirequest';\r\nimport { PostCommandeRepasApiRequest } from '../../models/api/requests/post-commande-repas.apirequest';\r\nimport { GetCommandeRepasApiResponse } from '../../models/api/responses/get-commande-repas.apiresponse';\r\nimport { GetDailyMenuApiResponse } from '../../models/api/responses/get-daily-menu.apiresponse';\r\nimport { ExportCommandeValoriseeRequest } from '../../models/api/requests/export-commande-valorisee-request.apirequest';\r\n\r\n@Injectable()\r\nexport class CommandeRepasApiService {\r\n private controllerUrl: string = 'commanderepas';\r\n\r\n constructor(private apiSettings: ApiSettings, private http: HttpClient, private logService: LogService) {\r\n }\r\n\r\n getCommandeRepas(isPiqueNique: boolean, cuisineId: number, restaurantId: number, conviveId: number, lieuCommandeId: number, date: Date): Observable {\r\n let httpParams = new HttpParams()\r\n .set('cuisineCentraleId', cuisineId.toString())\r\n .set('restaurantId', restaurantId.toString());\r\n if (date) {\r\n httpParams = httpParams.set('date', DateHelper.toISODateString(date));\r\n }\r\n if (isPiqueNique) {\r\n httpParams = httpParams.set('isPiqueNique', isPiqueNique.toString());\r\n }\r\n if (conviveId) {\r\n httpParams = httpParams.set('conviveId', conviveId.toString());\r\n }\r\n if (lieuCommandeId) {\r\n httpParams = httpParams.set('lieuCommandeId', lieuCommandeId.toString());\r\n }\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/get`;\r\n return this.http.get(url, { params: httpParams });\r\n }\r\n\r\n postCommandeRepas(commandeRepasUpdate: PostCommandeRepasApiRequest.CommandeRepasUpdate): Observable {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/post`;\r\n return this.http.post(url, commandeRepasUpdate);\r\n }\r\n\r\n getMenu(cuisineId: number, restId: number, date: Date): Observable {\r\n const httpParams = new HttpParams()\r\n .set('cuisineCentraleId', cuisineId.toString())\r\n .set('restaurantId', restId.toString())\r\n .set('date', DateHelper.toISODateString(date));\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/dailyMenu`;\r\n return this.http.get(url, { params: httpParams });\r\n }\r\n\r\n exportEcarts(request: ExportEcartsRequest): Observable {\r\n let httpParams = new HttpParams();\r\n if (request.cuisineCentraleId) {\r\n httpParams = httpParams.set('cuisineCentraleId', String(request.cuisineCentraleId));\r\n }\r\n if (request.grandCompteId) {\r\n httpParams = httpParams.set('grandCompteId', String(request.grandCompteId));\r\n }\r\n if (request.contratId) {\r\n httpParams = httpParams.set('contratId', String(request.contratId));\r\n }\r\n if (request.date) {\r\n httpParams = httpParams.set('date', DateHelper.toISODateString(request.date));\r\n }\r\n\r\n const url = `${this.apiSettings.apiUrl}/commanderepas/exportEcarts`;\r\n return FileHelper.getFile(this.http, url, httpParams);\r\n }\r\n\r\n exportBilanRepas(request: ExportBilanRepasRequest): Observable {\r\n let httpParams = new HttpParams();\r\n\r\n if (request.cuisineCentraleId) {\r\n httpParams = httpParams.set('cuisineCentraleId', String(request.cuisineCentraleId));\r\n }\r\n if (request.grandCompteId) {\r\n httpParams = httpParams.set('grandCompteId', String(request.grandCompteId));\r\n }\r\n if (request.contratId) {\r\n httpParams = httpParams.set('contratId', String(request.contratId));\r\n }\r\n if (request.dateDebut) {\r\n httpParams = httpParams.set('dateDebut', DateHelper.toISODateString(request.dateDebut));\r\n }\r\n if (request.dateFin) {\r\n httpParams = httpParams.set('dateFin', DateHelper.toISODateString(request.dateFin));\r\n }\r\n if (request.isPiqueNique !== null) {\r\n httpParams = httpParams.set('isPiqueNique', String(request.isPiqueNique));\r\n }\r\n\r\n const url = `${this.apiSettings.apiUrl}/commanderepas/exportBilanRepas`;\r\n return FileHelper.getFile(this.http, url, httpParams);\r\n }\r\n\r\n exportCommandeValorisee(request: ExportCommandeValoriseeRequest): Observable {\r\n let httpParams = new HttpParams();\r\n\r\n if (request.cuisineCentraleId) {\r\n httpParams = httpParams.set('cuisineCentraleId', String(request.cuisineCentraleId));\r\n }\r\n if (request.grandCompteId) {\r\n httpParams = httpParams.set('grandCompteId', String(request.grandCompteId));\r\n }\r\n if (request.contratId) {\r\n httpParams = httpParams.set('contratId', String(request.contratId));\r\n }\r\n if (request.dateDebut) {\r\n httpParams = httpParams.set('dateDebut', DateHelper.toISODateString(request.dateDebut));\r\n }\r\n if (request.dateFin) {\r\n httpParams = httpParams.set('dateFin', DateHelper.toISODateString(request.dateFin));\r\n }\r\n if (request.isPiqueNique !== null) {\r\n httpParams = httpParams.set('isPiqueNique', String(request.isPiqueNique));\r\n }\r\n\r\n const url = `${this.apiSettings.apiUrl}/commanderepas/exportCommandeValorisee`;\r\n return FileHelper.getFile(this.http, url, httpParams);\r\n }\r\n}\r\n","\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ApiSettings } from '../../../shared/models/api/api-settings';\r\nimport { GetContactsApiResponse } from '../../models/api/get-contacts.apiresponse';\r\n\r\n@Injectable()\r\nexport class ContactApiService {\r\n\r\n private controllerUrl: string = 'contacts';\r\n\r\n constructor(private apiSettings: ApiSettings, private http: HttpClient) {\r\n }\r\n\r\n getContacts(contratId: number, cuisineCentraleId: number): Observable {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}?contratId=${contratId}&cuisineCentraleId=${cuisineCentraleId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n}\r\n","\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { FileHelper } from 'src/app/shared/helpers/file.helper';\r\nimport { DateHelper } from '../../../shared/helpers/date.helper';\r\nimport { ApiSettings } from '../../../shared/models/api/api-settings';\r\nimport { FileResultModel } from '../../../shared/models/fileresult.model';\r\nimport { LogService } from '../../../shared/services/log.service';\r\nimport { ArticleApiModel } from '../../models/api/article.apimodel';\r\nimport { CommandeApiModel } from '../../models/api/commande.apimodel';\r\nimport { CreateCommandeApiModel } from '../../models/api/create-commande.apimodel';\r\nimport { CreateCommandeApiResponse } from '../../models/api/create-commande.apiresponse';\r\nimport { DateLivraisonApiModel } from '../../models/api/date-livraison.apimodel';\r\nimport { GetCommandesApiResponse } from '../../models/api/get-commandes.apiresponse';\r\nimport { TypeListeArticleApiModel, TypeListeArticlesApiModel } from '../../models/api/type-liste-articles.apimodel';\r\n\r\n@Injectable()\r\nexport class EpicerieInventaireApiService {\r\n private controllerUrl: string = 'epicerie';\r\n\r\n constructor(private apiSettings: ApiSettings, private http: HttpClient, private logService: LogService) {\r\n }\r\n\r\n getArticles(typeListeArticleId: number, cuisineCentraleId: number, restaurantId: number, contratId: number): Observable {\r\n const httpParams = new HttpParams()\r\n .set('typeListeArticleId', typeListeArticleId.toString())\r\n .set('cuisineCentraleId', cuisineCentraleId.toString())\r\n .set('restaurantId', restaurantId.toString())\r\n .set('contratId', contratId.toString());\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/articles`;\r\n return this.http.get(url, { params: httpParams });\r\n }\r\n\r\n getArticlePicture(id: string): string {\r\n return `${this.apiSettings.apiUrl}/${this.controllerUrl}/articles/picture?id=${id}`;\r\n }\r\n\r\n getTypeListeArticle(cuisineCentraleId: number, restaurantId: number, typeListeArticleId: number): Observable {\r\n const httpParams = new HttpParams()\r\n .set('cuisineCentraleId', cuisineCentraleId.toString())\r\n .set('restaurantId', restaurantId.toString())\r\n .set('typeListeArticleId', typeListeArticleId.toString());\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/articles/typeliste`;\r\n return this.http.get(url, { params: httpParams });\r\n }\r\n\r\n getTypeListeArticles(cuisineCentraleId: number, restaurantId: number, contratId: number, dateDebut?: Date, dateFin?: Date): Observable {\r\n let httpParams = new HttpParams()\r\n .set('cuisineCentraleId', cuisineCentraleId.toString())\r\n .set('restaurantId', restaurantId.toString())\r\n .set('contratId', contratId.toString());\r\n if (dateDebut) {\r\n httpParams = httpParams.set('dateDebut', DateHelper.toISODateString(dateDebut));\r\n }\r\n if (dateFin) {\r\n httpParams = httpParams.set('dateFin', DateHelper.toISODateString(dateFin));\r\n }\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/articles/typelistes`;\r\n return this.http.get(url, { params: httpParams });\r\n }\r\n\r\n getAvailableDateLivraison(cuisineCentraleId: number, restaurantId: number, contratId: number, typeListeArticleId: number, dateDuMois: Date): Observable {\r\n const httpParams = new HttpParams()\r\n .set('cuisineCentraleId', cuisineCentraleId.toString())\r\n .set('restaurantId', restaurantId.toString())\r\n .set('contratId', contratId.toString())\r\n .set('typeListeArticleId', typeListeArticleId.toString())\r\n .set('dateDuMois', DateHelper.toISODateString(dateDuMois));\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/datelivraisons`;\r\n return this.http.get(url, { params: httpParams });\r\n }\r\n\r\n getCommandes(estEnAttenteValidation: boolean, cuisineCentraleId: number, typeListeArticleId: number, restaurantId: number, contratId: number, startDate: Date = null, endDate: Date = null): Observable {\r\n let httpParams = new HttpParams()\r\n .set('cuisineCentraleId', cuisineCentraleId.toString())\r\n .set('restaurantId', restaurantId.toString())\r\n .set('estEnAttenteValidation', estEnAttenteValidation.toString())\r\n .set('contratId', contratId.toString())\r\n .set('typeListeArticleId', typeListeArticleId.toString());\r\n if (startDate) {\r\n httpParams = httpParams.set('dateDebut', DateHelper.toISODateString(startDate));\r\n }\r\n if (endDate) {\r\n httpParams = httpParams.set('dateFin', DateHelper.toISODateString(endDate));\r\n }\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/commandes`;\r\n return this.http.get(url, { params: httpParams });\r\n }\r\n\r\n getCommande(id: number): Observable {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/commandes/${id}`;\r\n return this.http.get(url);\r\n }\r\n\r\n saveCommande(commande: CreateCommandeApiModel): Observable {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/commandes`;\r\n return this.http.post(url, commande);\r\n }\r\n\r\n deleteCommande(id: number): Observable {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/commandes/${id}`;\r\n return this.http.delete(url)\r\n .pipe(\r\n map(res => true)\r\n );\r\n }\r\n\r\n imprimerCommande(commandeId: number): Observable {\r\n const httpParams = new HttpParams()\r\n .set('commandeId', commandeId.toString());\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/imprimercommande`;\r\n return FileHelper.getFile(this.http, url, httpParams);\r\n }\r\n}\r\n","\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { FileHelper } from 'src/app/shared/helpers/file.helper';\r\nimport { DateHelper } from '../../../shared/helpers/date.helper';\r\nimport { ApiSettings } from '../../../shared/models/api/api-settings';\r\nimport { FileResultModel } from '../../../shared/models/fileresult.model';\r\nimport { GetDiscussionMessagesApiResponse } from '../../models/api/get-discussion-messages.apiresponse';\r\nimport { GetDiscussionsApiResponse } from '../../models/api/get-discussions.apiresponse';\r\nimport { GetUnreadCountApiResponse } from '../../models/api/get-unread-count.apiresponse';\r\nimport { LireDiscussionApiRequest } from '../../models/api/lire-discussion.apirequest';\r\nimport { TypeInterventionApiResponse } from '../../models/api/type-intervention.apiresponse';\r\nimport { DiscussionStatusEnum } from '../../models/discussion-status.enum';\r\nimport { ExportSuiviQualiteRequest } from '../../models/export-suivi-qualite-request.model';\r\n\r\n@Injectable()\r\nexport class DiscussionApiService {\r\n\r\n private controllerUrl: string = 'discussion';\r\n\r\n constructor(private apiSettings: ApiSettings,\r\n private _http: HttpClient) {\r\n }\r\n\r\n /** Type Maintenance */\r\n public getTypeInterventionsForContrat(cuisineCentraleId: number, contratId: number): Observable {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/gettypeinterventions?contratId=${contratId}&cuisineCentraleId=${cuisineCentraleId}`;\r\n return this._http.get(url);\r\n }\r\n\r\n /** Discussion & Messages */\r\n public sendNewDiscussion(cuisineCentraleId: number, restaurantId: number, typeInterventionId: number, sujet: string, message: string, files: File[], typeMaintenanceId?: number): Observable {\r\n const formData = new FormData();\r\n formData.append('restaurantId', restaurantId.toString());\r\n formData.append('cuisineCentraleId', cuisineCentraleId.toString());\r\n formData.append('typeInterventionId', typeInterventionId.toString());\r\n if (typeMaintenanceId != null) {\r\n formData.append('typeMaintenanceId', typeMaintenanceId.toString());\r\n }\r\n formData.append('sujet', sujet);\r\n formData.append('message', message);\r\n for (const file of files) {\r\n formData.append(`documents`, file, file.name);\r\n }\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/nouvellediscussion`;\r\n return this._http.post(url, formData).pipe(map(r => true));\r\n }\r\n\r\n /** Discussion & Messages */\r\n public requalifierDiscussion(discussionId: number, typeInterventionId: number, typeMaintenanceId?: number): Observable {\r\n const formData = new FormData();\r\n formData.append('discussionId', discussionId.toString());\r\n formData.append('typeInterventionId', typeInterventionId.toString());\r\n if (typeMaintenanceId != null) {\r\n formData.append('typeMaintenanceId', typeMaintenanceId.toString());\r\n }\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/requalifierdiscussion`;\r\n return this._http.post(url, formData).pipe(map(r => true));\r\n }\r\n\r\n public getDiscussions(statut: DiscussionStatusEnum, cuisineCentraleId: number | null, contratId: number | null, restaurantId: number | null, dateDebut: Date, dateFin: Date, searchFilter: string)\r\n : Observable {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/getdiscussions`;\r\n let httpParams = new HttpParams()\r\n .set('statut', statut.toString());\r\n if (cuisineCentraleId) {\r\n httpParams = httpParams.set('cuisineCentraleId', cuisineCentraleId.toString());\r\n }\r\n if (contratId) {\r\n httpParams = httpParams.set('contratId', contratId.toString());\r\n }\r\n if (restaurantId) {\r\n httpParams = httpParams.set('restaurantId', restaurantId.toString());\r\n }\r\n httpParams = httpParams.set('dateDebut', DateHelper.toISODateString(dateDebut));\r\n httpParams = httpParams.set('dateFin', DateHelper.toISODateString(dateFin));\r\n if (searchFilter != null) {\r\n httpParams = httpParams.set('searchFilter', searchFilter);\r\n }\r\n\r\n return this._http.get(url, { params: httpParams });\r\n }\r\n\r\n public getDiscussionMessages(discussionId: number): Observable {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/getMessages?discussionId=${discussionId}`;\r\n return this._http.get(url);\r\n }\r\n\r\n public sendNewMessage(discussionId: number, texte: string, cloturerDiscussion: boolean, files: File[]): Observable {\r\n const formData = new FormData();\r\n formData.append('cloturerDiscussion', cloturerDiscussion.toString());\r\n formData.append('texte', texte);\r\n formData.append('discussionId', discussionId.toString());\r\n for (const file of files) {\r\n formData.append(`documents`, file, file.name);\r\n }\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/nouveaumessage`;\r\n return this._http.post(url, formData);\r\n }\r\n\r\n public lireDiscussion(discussionId: number): Observable {\r\n const payload: LireDiscussionApiRequest = {\r\n discussionId\r\n };\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/lireDiscussion?discussionId=${discussionId}`;\r\n return this._http.post(url, payload).pipe(map(res => {\r\n return true;\r\n }));\r\n }\r\n\r\n public getUnreadCount(): Observable {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/getunreadcount`;\r\n return this._http.get(url);\r\n }\r\n\r\n public getThumbnailSrc(documentId: number) {\r\n return `${this.apiSettings.apiUrl}/${this.controllerUrl}/getdocumentthumbnail/${documentId}`;\r\n }\r\n\r\n public getDocument(documentId: number): Observable {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/getDocument/${documentId}`;\r\n return FileHelper.getFile(this._http, url);\r\n }\r\n\r\n exportEnquetesSatisfaction(request: ExportSuiviQualiteRequest): Observable {\r\n let params = new HttpParams();\r\n if (request.grandCompteId) {\r\n params = params.append('grandCompteId', String(request.grandCompteId));\r\n }\r\n if (request.cuisineCentraleId) {\r\n params = params.append('cuisineCentraleId', String(request.cuisineCentraleId));\r\n }\r\n if (request.contratId) {\r\n params = params.append('contratId', String(request.contratId));\r\n }\r\n if (request.dateDebut) {\r\n params = params.append('dateDebut', DateHelper.toISODateString(request.dateDebut));\r\n }\r\n if (request.dateFin) {\r\n params = params.append('dateFin', DateHelper.toISODateString(request.dateFin));\r\n }\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/ExportSuiviQualite`;\r\n return FileHelper.getFile(this._http, url, params);\r\n }\r\n}\r\n","\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { FileHelper } from 'src/app/shared/helpers/file.helper';\r\nimport { DateHelper } from '../../../shared/helpers/date.helper';\r\nimport { ApiSettings } from '../../../shared/models/api/api-settings';\r\nimport { FileResultModel } from '../../../shared/models/fileresult.model';\r\nimport { BonLivraisonRequestModel } from '../../models/api/bon-livraison-request.model';\r\nimport { BonLivraisonResponseModel } from '../../models/api/bon-livraison-response.model';\r\n\r\n@Injectable()\r\nexport class BonLivraisonApiService {\r\n private controllerUrl: string = 'bonlivraison';\r\n constructor(private apiSettings: ApiSettings, private http: HttpClient) { }\r\n\r\n getBonsLivraisonListe(cuisineId: number, contratId: number, restaurantId: number, startDate: Date, endDate: Date)\r\n : Observable {\r\n\r\n const httpParams = new HttpParams()\r\n .set('cuisineId', cuisineId.toString())\r\n .set('contratId', contratId.toString())\r\n .set('restaurantId', restaurantId.toString())\r\n .set('dateConsoDebut', DateHelper.toISODateString(startDate))\r\n .set('dateConsoFin', DateHelper.toISODateString(endDate));\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/GetBonLivraisons`;\r\n return this.http.get(url, { params: httpParams });\r\n }\r\n\r\n getBonLivraison(codeBonLivraison: string): Observable {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/GetBonLivraison/${codeBonLivraison}`;\r\n return this.http.get(url);\r\n }\r\n\r\n declarerBonLivre(request: BonLivraisonRequestModel.LivraisonRequest) {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/LivrerBon`;\r\n return this.http.post(url, request);\r\n }\r\n\r\n receptionnerBon(request: BonLivraisonRequestModel.ReceptionRequest): Observable<{}> {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/reception`;\r\n return this.http.post(url, request);\r\n }\r\n\r\n miseEnConformiteBon(request: BonLivraisonRequestModel.MiseEnConformiteRequest): Observable<{}> {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/MiseEnConformite`;\r\n return this.http.post(url, request);\r\n }\r\n\r\n exportNonConformites(request: BonLivraisonRequestModel.ExportNonConformitesRequest): Observable {\r\n let httpParams = new HttpParams();\r\n if (request.grandCompteId) {\r\n httpParams = httpParams.set('grandCompteId', String(request.grandCompteId));\r\n }\r\n if (request.cuisineCentraleId) {\r\n httpParams = httpParams.set('cuisineCentraleId', String(request.cuisineCentraleId));\r\n }\r\n if (request.contratId) {\r\n httpParams = httpParams.set('contratId', String(request.contratId));\r\n }\r\n if (request.dateConsoDebut) {\r\n httpParams = httpParams.set('dateConsoDebut', DateHelper.toISODateString(request.dateConsoDebut));\r\n }\r\n if (request.dateConsoFin) {\r\n httpParams = httpParams.set('dateConsoFin', DateHelper.toISODateString(request.dateConsoFin));\r\n }\r\n\r\n const url = `${this.apiSettings.apiUrl}/bonlivraison/exportNonConformites`;\r\n return FileHelper.getFile(this.http, url, httpParams);\r\n }\r\n\r\n exportManques(request: BonLivraisonRequestModel.ExportManquesRequest): Observable {\r\n let httpParams = new HttpParams();\r\n if (request.grandCompteId) {\r\n httpParams = httpParams.set('grandCompteId', String(request.grandCompteId));\r\n }\r\n if (request.cuisineCentraleId) {\r\n httpParams = httpParams.set('cuisineCentraleId', String(request.cuisineCentraleId));\r\n }\r\n if (request.contratId) {\r\n httpParams = httpParams.set('contratId', String(request.contratId));\r\n }\r\n if (request.dateConsoDebut) {\r\n httpParams = httpParams.set('dateConsoDebut', DateHelper.toISODateString(request.dateConsoDebut));\r\n }\r\n if (request.dateConsoFin) {\r\n httpParams = httpParams.set('dateConsoFin', DateHelper.toISODateString(request.dateConsoFin));\r\n }\r\n\r\n const url = `${this.apiSettings.apiUrl}/bonlivraison/exportManques`;\r\n return FileHelper.getFile(this.http, url, httpParams);\r\n }\r\n}\r\n","\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { DateHelper } from '../../../shared/helpers/date.helper';\nimport { ApiSettings } from '../../../shared/models/api/api-settings';\nimport { LogService } from '../../../shared/services/log.service';\nimport { FileResultModel } from 'src/app/shared/models/fileresult.model';\nimport { ExportOdgRequest } from '../../models/api/requests/export-odg.apirequest';\nimport { FileHelper } from 'src/app/shared/helpers/file.helper';\nimport { OdgPrestationsConvivesRequest } from '../../models/api/requests/odg-prestations-convives.apirequest';\nimport { OdgPrestationsConvivesResponse } from '../../models/api/responses/odg-prestations-convives.apiresponse';\n\n@Injectable()\nexport class OdgReportingApiService {\n private _controllerUrl: string = 'odg';\n\n constructor(private apiSettings: ApiSettings, private http: HttpClient, private logService: LogService) { }\n\n exportRecapitulatifDesPlats(request: ExportOdgRequest): Observable {\n let httpParams = new HttpParams();\n\n if (request.cuisineCentraleId) {\n httpParams = httpParams.set('cuisineCentraleId', String(request.cuisineCentraleId));\n }\n if (request.grandCompteId) {\n httpParams = httpParams.set('grandCompteId', String(request.grandCompteId));\n }\n if (request.contratId) {\n httpParams = httpParams.set('contratId', String(request.contratId));\n }\n if (request.dateDebut) {\n httpParams = httpParams.set('dateDebut', DateHelper.toISODateString(request.dateDebut));\n }\n if (request.dateFin) {\n httpParams = httpParams.set('dateFin', DateHelper.toISODateString(request.dateFin));\n }\n if(request.odgPrestationIds){\n for (const prestationsId of request.odgPrestationIds) {\n httpParams = httpParams.append('odgPrestationIds', String(prestationsId));\n }\n }\n if(request.odgConviveIds){\n for (const convivesId of request.odgConviveIds) {\n httpParams = httpParams.append('odgConviveIds', String(convivesId));\n }\n }\n\n const url = `${this.apiSettings.apiUrl}/${this._controllerUrl}/ExportRecapPlats`;\n return FileHelper.getFile(this.http, url, httpParams);\n }\n\n exportSyntheseDetailleePlats(request: ExportOdgRequest): Observable {\n let httpParams = new HttpParams();\n\n if (request.cuisineCentraleId) {\n httpParams = httpParams.set('cuisineCentraleId', String(request.cuisineCentraleId));\n }\n if (request.grandCompteId) {\n httpParams = httpParams.set('grandCompteId', String(request.grandCompteId));\n }\n if (request.contratId) {\n httpParams = httpParams.set('contratId', String(request.contratId));\n }\n if (request.dateDebut) {\n httpParams = httpParams.set('dateDebut', DateHelper.toISODateString(request.dateDebut));\n }\n if (request.dateFin) {\n httpParams = httpParams.set('dateFin', DateHelper.toISODateString(request.dateFin));\n }\n if(request.odgPrestationIds){\n for (const prestationsId of request.odgPrestationIds) {\n httpParams = httpParams.append('odgPrestationIds', String(prestationsId));\n }\n }\n if(request.odgConviveIds){\n for (const convivesId of request.odgConviveIds) {\n httpParams = httpParams.append('odgConviveIds', String(convivesId));\n }\n }\n\n const url = `${this.apiSettings.apiUrl}/${this._controllerUrl}/ExportSyntheseDetailleePlats`;\n return FileHelper.getFile(this.http, url, httpParams);\n }\n\n exportSyntheseObservations(request: ExportOdgRequest): Observable {\n let httpParams = new HttpParams();\n\n if (request.cuisineCentraleId) {\n httpParams = httpParams.set('cuisineCentraleId', String(request.cuisineCentraleId));\n }\n if (request.grandCompteId) {\n httpParams = httpParams.set('grandCompteId', String(request.grandCompteId));\n }\n if (request.contratId) {\n httpParams = httpParams.set('contratId', String(request.contratId));\n }\n if (request.dateDebut) {\n httpParams = httpParams.set('dateDebut', DateHelper.toISODateString(request.dateDebut));\n }\n if (request.dateFin) {\n httpParams = httpParams.set('dateFin', DateHelper.toISODateString(request.dateFin));\n }\n if(request.odgPrestationIds){\n for (const prestationsId of request.odgPrestationIds) {\n httpParams = httpParams.append('odgPrestationIds', String(prestationsId));\n }\n }\n if(request.odgConviveIds){\n for (const convivesId of request.odgConviveIds) {\n httpParams = httpParams.append('odgConviveIds', String(convivesId));\n }\n }\n\n const url = `${this.apiSettings.apiUrl}/${this._controllerUrl}/ExportSyntheseObservations`;\n return FileHelper.getFile(this.http, url, httpParams);\n }\n\n\n getPrestationsConvives(request: OdgPrestationsConvivesRequest): Observable {\n let httpParams = new HttpParams();\n\n if (request.cuisineCentraleId) {\n httpParams = httpParams.set('cuisineCentraleId', String(request.cuisineCentraleId));\n }\n if (request.grandCompteId) {\n httpParams = httpParams.set('grandCompteId', String(request.grandCompteId));\n }\n if (request.contratId) {\n httpParams = httpParams.set('contratId', String(request.contratId));\n }\n if (request.dateDebut) {\n httpParams = httpParams.set('dateDebut', DateHelper.toISODateString(request.dateDebut));\n }\n if (request.dateFin) {\n httpParams = httpParams.set('dateFin', DateHelper.toISODateString(request.dateFin));\n }\n\n const url = `${this.apiSettings.apiUrl}/${this._controllerUrl}/prestations-convives`;\n\n return this.http.get(url, { params: httpParams });\n }\n\n}\n","\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { FileHelper } from 'src/app/shared/helpers/file.helper';\r\nimport { DateHelper } from '../../../shared/helpers/date.helper';\r\nimport { ApiSettings } from '../../../shared/models/api/api-settings';\r\nimport { FileResultModel } from '../../../shared/models/fileresult.model';\r\nimport { LogService } from '../../../shared/services/log.service';\r\nimport { PrestationApiModel } from '../../models/api/prestation.apimodel';\r\n\r\n@Injectable()\r\nexport class ReportingApiService {\r\n private controllerUrl: string = 'reporting';\r\n\r\n constructor(private apiSettings: ApiSettings,\r\n private http: HttpClient,\r\n private logService: LogService) {\r\n }\r\n\r\n getEtatCommandeInventaireReport(cuisineCentraleId: number, contratId: number, typeListeArticleId: number, startDate: Date, endDate: Date): Observable {\r\n const httpParams = new HttpParams()\r\n .set('cuisineCentraleId', cuisineCentraleId.toString())\r\n .set('contratId', contratId.toString())\r\n .set('typeListeArticleId', typeListeArticleId.toString())\r\n .set('dateDebut', DateHelper.toISODateString(startDate))\r\n .set('dateFin', DateHelper.toISODateString(endDate));\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/etatcommandesinventaire`;\r\n return FileHelper.getFile(this.http, url, httpParams);\r\n }\r\n\r\n getBilanCommandeRepasOuPiqueNiqueReport(cuisineCentraleId: number, contratId: number, restaurantIds: number[], startDate: Date, endDate: Date, isPiqueNique: boolean): Observable {\r\n let httpParams = new HttpParams()\r\n .set('cuisineCentraleId', cuisineCentraleId.toString())\r\n .set('contratId', contratId.toString())\r\n .set('dateDebut', DateHelper.toISODateString(startDate))\r\n .set('dateFin', DateHelper.toISODateString(endDate))\r\n .set('isPiqueNique', isPiqueNique.toString());\r\n\r\n for (const resId of restaurantIds) {\r\n httpParams = httpParams.append('restaurantIds', resId.toString());\r\n }\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/recapitulatifcommanderepas`;\r\n return FileHelper.getFile(this.http, url, httpParams);\r\n }\r\n\r\n\r\n getCommandeRepasMenu(cuisineCentraleId: number, restaurantId: number, lieuCommandeId: number, date: Date, isPiqueNique: boolean): Observable {\r\n const httpParams = new HttpParams()\r\n .set('cuisineCentraleId', cuisineCentraleId.toString())\r\n .set('restaurantId', restaurantId.toString())\r\n .set('lieuCommandeId', lieuCommandeId.toString())\r\n .set('date', DateHelper.toISODateString(date))\r\n .set('isPiqueNique', isPiqueNique.toString());\r\n\r\n const url = `${this.apiSettings.apiUrl}/commanderepas/ImprimerMenu`;\r\n return FileHelper.getFile(this.http, url, httpParams);\r\n }\r\n\r\n getCommandeRepasMatriceDeChoix(cuisineCentraleId: number, restaurantId: number, lieuCommandeId: number, date: Date, isPiqueNique: boolean): Observable {\r\n const httpParams = new HttpParams()\r\n .set('cuisineCentraleId', cuisineCentraleId.toString())\r\n .set('restaurantId', restaurantId.toString())\r\n .set('lieuCommandeId', lieuCommandeId.toString())\r\n .set('date', DateHelper.toISODateString(date))\r\n .set('isPiqueNique', isPiqueNique.toString());\r\n\r\n const url = `${this.apiSettings.apiUrl}/commanderepas/ExportMatriceDeChoix`;\r\n return FileHelper.getFile(this.http, url, httpParams);\r\n }\r\n\r\n getPrestations(cuisineCentraleId: number): Observable {\r\n const httpParams = new HttpParams()\r\n .set('cuisineCentraleId', cuisineCentraleId.toString());\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/prestations`;\r\n return this.http.get(url, { params: httpParams });\r\n }\r\n}\r\n","\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { DateHelper } from '../../../shared/helpers/date.helper';\nimport { ApiSettings } from '../../../shared/models/api/api-settings';\nimport { LogService } from '../../../shared/services/log.service';\nimport { PostOdgApiRequest } from '../../models/api/requests/post-odg.apirequest';\nimport { GetOdgApiResponse } from '../../models/api/responses/get-odg.apiresponse';\nimport { ExportFicheEvaluationsRequest } from '../../models/api/requests/export-fiche-evaluations.apirequest';\nimport { FileResultModel } from 'src/app/shared/models/fileresult.model';\nimport { FileHelper } from 'src/app/shared/helpers/file.helper';\n\n@Injectable()\nexport class OdgApiService {\n private _controllerUrl: string = 'odg';\n\n constructor(private apiSettings: ApiSettings, private http: HttpClient, private logService: LogService) { }\n\n getOdg(cuisineCentraleId: number, restaurantId: number, odgConviveId: number, date: Date): Observable {\n let httpParams = new HttpParams()\n .set('cuisineCentraleId', cuisineCentraleId.toString())\n .set('restaurantId', restaurantId.toString())\n .set('date', DateHelper.toISODateString(date));\n\n if (odgConviveId) { httpParams = httpParams.set('odgConviveId', odgConviveId.toString()); }\n\n const url = `${this.apiSettings.apiUrl}/${this._controllerUrl}/get` + (this.apiSettings.mockOdgService ? 'Mock' : '');\n return this.http.get(url, { params: httpParams });\n }\n\n postOdg(odg: PostOdgApiRequest.Odg): Observable {\n const url = `${this.apiSettings.apiUrl}/${this._controllerUrl}/post` + (this.apiSettings.mockOdgService ? 'Mock' : '');\n return this.http.post(url, odg).pipe(map(res => {\n return true;\n }));\n }\n\n exportFicheEvaluations(request: ExportFicheEvaluationsRequest): Observable {\n let httpParams = new HttpParams();\n\n if (request.cuisineCentraleId) {\n httpParams = httpParams.set('cuisineCentraleId', String(request.cuisineCentraleId));\n }\n if (request.restaurantId) {\n httpParams = httpParams.set('restaurantId', String(request.restaurantId));\n }\n if (request.weekDate) {\n httpParams = httpParams.set('weekDate', DateHelper.toISODateString(request.weekDate));\n }\n if (request.odgConviveId) {\n httpParams = httpParams.set('odgConviveId', String(request.odgConviveId));\n }\n if (request.odgPrestationId) {\n httpParams = httpParams.set('odgPrestationId', String(request.odgPrestationId));\n }\n\n const url = `${this.apiSettings.apiUrl}/${this._controllerUrl}/ExportFicheEvaluations`;\n return FileHelper.getFile(this.http, url, httpParams);\n }\n}\n","\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { FileHelper } from 'src/app/shared/helpers/file.helper';\r\nimport { ApiSettings } from '../../../shared/models/api/api-settings';\r\nimport { FileResultModel } from '../../../shared/models/fileresult.model';\r\nimport { DocumenthequeApiResponse } from '../../models/api/documentheque.apiresponse';\r\n\r\n@Injectable()\r\nexport class DocumenthequeApiService {\r\n private controllerUrl: string = 'documentheque';\r\n\r\n constructor(private apiSettings: ApiSettings, private http: HttpClient) { }\r\n\r\n getDocument(documentationId: number): Observable {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/download/${documentationId}`;\r\n return FileHelper.getFile(this.http, url, null);\r\n }\r\n\r\n getDocuments(cuisineCentraleId: number, contratId: number, searchWords: string[]): Observable {\r\n let httpParams = new HttpParams()\r\n .set('cuisineCentraleId', cuisineCentraleId.toString())\r\n .set('contratId', contratId.toString());\r\n\r\n if (searchWords && searchWords.length !== 0) {\r\n for (const w of searchWords) {\r\n httpParams = httpParams.append('words', w);\r\n }\r\n }\r\n\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/search`;\r\n return this.http.get(url, { params: httpParams });\r\n }\r\n}\r\n","export class AnalyticsDimensionMappings {\r\n [name: string]: string;\r\n}","import { AnalyticsDimensionMappings } from \"../models/analytics-dimension-mapping.model\";\r\nimport { AnalyticsDimensions } from \"../models/analytics-dimensions.model\";\r\nimport { AnalyticsService } from \"../analytics-service\";\r\nexport abstract class AnalyticsProviderBase {\r\n public dimensionPropertyMappings: AnalyticsDimensionMappings = new AnalyticsDimensionMappings();\r\n\r\n subscribeToMainService(analyticsService: AnalyticsService) {\r\n analyticsService.setUserId$.subscribe(userId => {\r\n this.setUserId_internal(userId);\r\n });\r\n\r\n analyticsService.eventTrack$.subscribe(payload => {\r\n this.eventTrack(payload.action, payload.properties, payload.dimensions);\r\n });\r\n\r\n analyticsService.pageTrack$.subscribe(payload => {\r\n this.pageTrack(payload.path, payload.dimensions);\r\n });\r\n }\r\n\r\n protected abstract pageTrack_internal(path: string, dimensions: AnalyticsDimensions): void;\r\n protected abstract eventTrack_internal(action: string, properties: any, dimensions: AnalyticsDimensions): void;\r\n protected abstract setUserId_internal(userId: string): void;\r\n\r\n\r\n protected pageTrack(path: string, dimensions: AnalyticsDimensions) {\r\n const mappedDimensions = this.mapDimensionProperties(dimensions);\r\n this.pageTrack_internal(path, mappedDimensions);\r\n }\r\n\r\n protected eventTrack(action: string, properties: any, dimensions: AnalyticsDimensions) {\r\n const mappedDimensions = this.mapDimensionProperties(dimensions);\r\n this.eventTrack_internal(action, properties, mappedDimensions);\r\n }\r\n\r\n protected mapDimensionProperties(dimensions: AnalyticsDimensions): AnalyticsDimensions {\r\n const mappedDimensions: AnalyticsDimensions = Object.assign({}, dimensions);\r\n const mappings = this.dimensionPropertyMappings;\r\n\r\n if (mappings) {\r\n for (const fromProp in mappings) {\r\n if (mappedDimensions[fromProp]) {\r\n const toProp = mappings[fromProp];\r\n mappedDimensions[toProp] = mappedDimensions[fromProp];\r\n delete mappedDimensions[fromProp];\r\n }\r\n }\r\n }\r\n\r\n return mappedDimensions;\r\n }\r\n}\r\n","\r\nimport { filter } from 'rxjs/operators';\r\n\r\nimport { AnalyticsDimensions } from \"../models/analytics-dimensions.model\";\r\nimport { AnalyticsProviderBase } from \"./analytics-provider-base\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\nimport { AppInsights } from \"applicationinsights-js\"\r\n\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { Router, NavigationEnd, NavigationStart, NavigationError } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class AppInsightsAnalyticsProvider extends AnalyticsProviderBase {\r\n loadStartTime: number = null;\r\n loadTime: number = null;\r\n\r\n constructor(\r\n private title: Title,\r\n private router: Router) {\r\n super();\r\n\r\n this.router.events.pipe(\r\n filter(event => event instanceof NavigationStart))\r\n .subscribe(event => this.startTimer());\r\n\r\n this.router.events.pipe(\r\n filter(event =>\r\n (event instanceof NavigationError) ||\r\n (event instanceof NavigationEnd)\r\n ))\r\n .subscribe(error => this.stopTimer());\r\n }\r\n\r\n startTimer() {\r\n this.loadStartTime = Date.now();\r\n this.loadTime = null;\r\n }\r\n\r\n stopTimer() {\r\n this.loadTime = Date.now() - this.loadStartTime;\r\n this.loadStartTime = null;\r\n }\r\n\r\n pageTrack_internal(path: string, dimensions: AnalyticsDimensions) {\r\n AppInsights.trackPageView(\r\n this.title.getTitle(),\r\n path,\r\n dimensions,\r\n null, // metrics\r\n this.loadTime // DDJ : j'ai un doute sur ce paramètre : load time ou temps resté sur la vue ?\r\n );\r\n }\r\n\r\n eventTrack_internal(action: string, properties: any, dimensions: AnalyticsDimensions) {\r\n AppInsights.trackEvent(action, Object.assign({}, properties, dimensions));\r\n }\r\n\r\n setUserId_internal(userId: string) {\r\n AppInsights.setAuthenticatedUserContext(userId);\r\n }\r\n\r\n clear() {\r\n AppInsights.clearAuthenticatedUserContext();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AppSettings } from '../models/app-settings.model';\r\nimport { environment } from '../../../environments/environment';\r\n@Injectable()\r\nexport class AppSettingsService {\r\n\r\n appSettings: AppSettings;\r\n\r\n constructor() {\r\n // console.log(\"constructing config service\");\r\n }\r\n\r\n /**\r\n * Charge la configuration à partir d'un fichier sur le serveur\r\n */\r\n public load(): Promise {\r\n const url = 'client-settings.json';\r\n // On utilise un XmlHttpRequest (ou fetch) plutôt que HttpClient pour éviter l'injection des dépendances des interceptors\r\n // see: https://sebastienollivier.fr/blog/angular/pourquoi-il-ne-faut-pas-utiliser-httpclient-dans-appinitializer\r\n return new Promise((resolve, reject) => {\r\n const xhr = new XMLHttpRequest();\r\n xhr.open('GET', url);\r\n\r\n xhr.addEventListener('readystatechange', () => {\r\n if (xhr.readyState === XMLHttpRequest.DONE) {\r\n if (xhr.status === 200) {\r\n this.appSettings = this.appSettings || new AppSettings();\r\n Object.assign(this.appSettings, JSON.parse(xhr.responseText));\r\n resolve(this.appSettings);\r\n } else if (environment.FallBackAppSettings) {\r\n const err = xhr.statusText;\r\n console.log(`appsettings endpoint not reachable (${err}) => fallback to local environnement settings`);\r\n this.appSettings = environment.FallBackAppSettings;\r\n resolve(this.appSettings);\r\n } else {\r\n const err = 'appsettings endpoint not reachable';\r\n console.log(err);\r\n reject(err);\r\n }\r\n }\r\n });\r\n\r\n xhr.send(null);\r\n });\r\n }\r\n\r\n}\r\n","\r\nimport { filter } from 'rxjs/operators';\r\nimport { AnalyticsDimensions } from \"../models/analytics-dimensions.model\";\r\nimport { AnalyticsProviderBase } from \"./analytics-provider-base\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\nimport { Router, NavigationEnd, NavigationStart, NavigationError } from \"@angular/router\";\r\n\r\nimport { AppSettings } from \"../../shared/models/app-settings.model\";\r\n\r\ndeclare var _gaq: any;\r\ndeclare var ga: any;\r\n\r\n@Injectable()\r\nexport class GoogleAnalyticsProvider extends AnalyticsProviderBase {\r\n loadStartTime: number = null;\r\n loadTime: number = null;\r\n\r\n\r\n constructor(\r\n private router: Router,\r\n private appSettings: AppSettings) {\r\n super();\r\n\r\n if (!appSettings.googleAnalyticsKey) {\r\n // Add proper log\r\n console.warn(\"Pas de googleAnalyticsKey\");\r\n return;\r\n }\r\n (function (i, s, o, g, r, a, m) {\r\n i[\"GoogleAnalyticsObject\"] = r; i[r] = i[r] || function () {\r\n (i[r].q = i[r].q || []).push(arguments)\r\n }, i[r].l = 1 * new Date().valueOf(); a = s.createElement(o),\r\n m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)\r\n })(window, document, \"script\", \"https://www.google-analytics.com/analytics.js\", \"ga\");\r\n\r\n ga(\"create\", appSettings.googleAnalyticsKey, \"auto\");\r\n\r\n this.router.events.pipe(\r\n filter(event => event instanceof NavigationStart))\r\n .subscribe(event => this.startTimer());\r\n\r\n this.router.events.pipe(\r\n filter(event =>\r\n (event instanceof NavigationError) ||\r\n (event instanceof NavigationEnd)\r\n ))\r\n .subscribe(error => this.stopTimer());\r\n }\r\n\r\n startTimer() {\r\n this.loadStartTime = Date.now();\r\n this.loadTime = null;\r\n }\r\n\r\n stopTimer() {\r\n this.loadTime = Date.now() - this.loadStartTime;\r\n this.loadStartTime = null;\r\n }\r\n\r\n pageTrack_internal(path: string, dimensions: AnalyticsDimensions) {\r\n if ((typeof _gaq !== \"undefined\") && _gaq) {\r\n _gaq.push([\"_trackPageview\", path]);\r\n }\r\n if ((typeof ga !== \"undefined\") && ga) {\r\n this.prepareDimensionsTracking(dimensions);\r\n\r\n ga(\"send\", \"pageview\", path);\r\n }\r\n }\r\n\r\n eventTrack_internal(action: string, properties: any, dimensions: AnalyticsDimensions) {\r\n\r\n // Google Analytics requires an Event Category\r\n if (!properties || !properties.category) {\r\n properties = properties || {};\r\n properties.category = \"Event\";\r\n }\r\n\r\n // GA requires that eventValue be an integer, see:\r\n // https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#eventValue\r\n // https://github.com/luisfarzati/angulartics/issues/81\r\n if (properties.value) {\r\n const parsed = parseInt(properties.value, 10);\r\n properties.value = isNaN(parsed) ? 0 : parsed;\r\n }\r\n\r\n if (typeof ga !== \"undefined\") {\r\n const eventOptions = {\r\n eventCategory: properties.category,\r\n eventAction: action,\r\n eventLabel: properties.label,\r\n eventValue: properties.value,\r\n nonInteraction: properties.noninteraction || false, // https://support.google.com/analytics/answer/1033068#NonInteractionEvents\r\n page: properties.page || location.hash.substring(1) || location.pathname,\r\n userId: dimensions.userId\r\n };\r\n\r\n this.prepareDimensionsTracking(dimensions);\r\n\r\n ga(\"send\", \"event\", eventOptions);\r\n\r\n } else if (typeof _gaq !== \"undefined\") {\r\n _gaq.push([\"_trackEvent\", properties.category, action, properties.label, properties.value, properties.noninteraction]);\r\n }\r\n }\r\n\r\n setUserId_internal(userId: string) {\r\n ga(\"set\", \"&uid\", userId);\r\n ga(\"set\", \"userId\", userId); // Définir l'ID utilisateur à partir du paramètre user_id de l'utilisateur connecté.\r\n }\r\n\r\n clear() {\r\n // Nothing specific here\r\n }\r\n\r\n private prepareDimensionsTracking(dimensions: any) {\r\n if (dimensions.userId) {\r\n this.setUserId_internal(dimensions.userId);\r\n }\r\n\r\n // tslint:disable-next-line:forin\r\n for (const dimensionProp in dimensions) {\r\n ga(\"set\", dimensionProp, dimensions[dimensionProp]);\r\n }\r\n }\r\n}\r\n","import { GoogleAnalyticsProvider } from './providers/google-analytics-provider';\r\nimport { SessionStorageService } from '../shared/services/browser-storage.service';\r\nimport { CorrelationTokenService } from '../shared/services/correlationToken.service';\r\nimport { AnalyticsService } from './analytics-service';\r\n\r\nimport {\r\n NgModule,\r\n ModuleWithProviders,\r\n Inject,\r\n Optional,\r\n SkipSelf\r\n} from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n// import { HttpClientModule } from '@angular/common/http';\r\nimport { CommonModule, Location } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { AppInsightsAnalyticsProvider } from './providers/appinsights-analytics-provider';\r\n\r\nexport function analyticsServiceFactory(\r\n location: Location,\r\n router: Router,\r\n appInsights: AppInsightsAnalyticsProvider,\r\n google: GoogleAnalyticsProvider) {\r\n google.dimensionPropertyMappings['cuisine'] = 'dimension1';\r\n google.dimensionPropertyMappings['contrat'] = 'dimension2';\r\n google.dimensionPropertyMappings['restaurant'] = 'dimension3';\r\n return new AnalyticsService(location, router, appInsights, google);\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n BrowserModule,\r\n // HttpClientModule\r\n ],\r\n providers: [\r\n {\r\n provide: AnalyticsService,\r\n useFactory: analyticsServiceFactory,\r\n deps: [Location, Router, AppInsightsAnalyticsProvider, GoogleAnalyticsProvider]\r\n },\r\n AppInsightsAnalyticsProvider,\r\n GoogleAnalyticsProvider\r\n ]\r\n})\r\nexport class AnalyticsModule {\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\r\nimport { map, first } from 'rxjs/operators';\r\nimport { ROUTE_URLS } from '../constants/route_urls';\r\nimport { AuthenticationService } from '../services/authentication/authentication.service';\r\nimport { LogService } from '../services/log.service';\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(\r\n private _authService: AuthenticationService,\r\n private router: Router,\r\n private logService: LogService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n\r\n return this._authService.currentUser$\r\n .pipe(\r\n first(),\r\n map((user) => {\r\n if (!user) {\r\n this.logService.Info('User not authenticated, redirecting to login', 'AuthGuard');\r\n this._authService.signOut(true, state.url);\r\n return false;\r\n } else if (route.url[0] != null && !user.hasAccessToFeature('/' + route.url[0].path)) {\r\n // --> 404 page ?\r\n this.router.navigate([ROUTE_URLS.Home]);\r\n return false;\r\n }\r\n this.logService.Info('[AuthGuard] User authenticated, navigation OK', 'AuthGuard');\r\n return true;\r\n }));\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanDeactivate, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { first } from 'rxjs/operators';\r\nimport { IPromptForNavigation } from '../interfaces/iprompt-for-navigation';\r\nimport { InteractionService } from '../services/interaction.service';\r\n\r\n@Injectable()\r\nexport class PromptForNavGuard implements CanDeactivate {\r\n\r\n constructor(private interactionService: InteractionService) { }\r\n\r\n canDeactivate(component: IPromptForNavigation, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot)\r\n : boolean | UrlTree | Observable | Promise {\r\n\r\n return new Observable((sub: Subscriber) => {\r\n if (component.checkIsDirty()) {\r\n this.interactionService.showConfirmNavigationDialog()\r\n .subscribe(canExit => {\r\n sub.next(canExit);\r\n },\r\n err => {\r\n sub.next(false);\r\n });\r\n } else {\r\n sub.next(true);\r\n }\r\n }).pipe(first()); // on doit compléter l'observable sinon le router va attendre indéfiniment\r\n\r\n }\r\n\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ApiSettings } from '../../../models/api/api-settings';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class ParametreApiService {\r\n private controllerUrl: string = 'parametre';\r\n\r\n constructor(private apiSettings: ApiSettings, private http: HttpClient) {\r\n }\r\n\r\n getParametre(code: string): Observable {\r\n const url = `${this.apiSettings.apiUrl}/${this.controllerUrl}/${code}`;\r\n return this.http.get(url, { responseType: 'text' });\r\n }\r\n}\r\n","import { LogService } from './services/log.service';\nimport { CorrelationTokenService } from './services/correlationToken.service';\nimport { PrettyPriceComponent } from '../pretty-price/pretty-price.component';\nimport { FileTagListComponent } from '../file-tag-list/file-tag-list.component';\nimport { RepasJourVignetteDirective } from './directives/repas-jour-vignette.directive';\nimport { LoadingOverlayComponent } from '../loading-overlay/loading-overlay.component';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\nimport { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { SwiperModule } from 'ngx-swiper-wrapper';\n\nimport { LegalInfoComponent } from '../legal-info/legal-info.component';\nimport { ErrorPopupComponent } from '../popup/error-popup/error-popup.component';\nimport { WarningPopupComponent } from '../popup/warning-popup/warning-popup.component';\nimport { DateInputComponent } from '../date-input/date-input.component';\nimport { ContratNotificationPopupComponent } from '../popup/contrat-notification-popup/contrat-notification-popup.component';\nimport { DateSelectorComponent } from '../date-selector/date-selector.component';\nimport { ItemSelectorComponent } from '../item-selector/item-selector.component';\nimport { LoaderComponent } from '../loader/loader.component';\n\nimport { TranslateSliderDirective } from './directives/translate-slider.directive';\nimport { RestaurantTypeColorDirective } from './directives/restaurant-type-color.directive';\nimport { TranslateYSliderDirective } from './directives/translateY-slider.directive';\nimport { PaginationColorDirective } from './directives/pagination-color.directive';\nimport { SelectAllOnFocusDirective } from './directives/select-all-on-focus.directive';\nimport { InputNumberRangeDirective } from './directives/input-number-range.directive';\nimport { StickyBlockDirective } from './directives/sticky-block.directive';\nimport { TakePhotoDirective } from './directives/takePhoto.directive';\n\nimport { CurrencyEuroPipe } from './pipes/currency-euro.pipe';\nimport { ErrorPrettyDatePipe } from './pipes/error-pretty-date.pipe';\nimport { DateFormatPipe } from './pipes/dateFormat.pipe';\nimport { TruncatePipe } from './pipes/truncate.pipe';\nimport { DocumentThumbnailComponent } from '../document-thumbnail/document-thumbnail.component';\nimport { CircleLoaderComponent } from '../circle-loader/circle-loader.component';\nimport { SwiperRestaurantThemeDirective } from './directives/swiper-restaurant-theme.directive';\nimport { ObjToArrayPipe } from './pipes/obj-to-array.pipe';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SwiperModule,\n NgSelectModule,\n ],\n declarations: [\n // directives\n PaginationColorDirective,\n RestaurantTypeColorDirective,\n TranslateSliderDirective,\n TranslateYSliderDirective,\n SelectAllOnFocusDirective,\n InputNumberRangeDirective,\n StickyBlockDirective,\n RepasJourVignetteDirective,\n TakePhotoDirective,\n // pipes\n ErrorPrettyDatePipe,\n CurrencyEuroPipe,\n DateFormatPipe,\n TruncatePipe,\n ObjToArrayPipe,\n // component\n // PopupComponent,\n ContratNotificationPopupComponent,\n DropdownComponent,\n ErrorPopupComponent,\n WarningPopupComponent,\n DateInputComponent,\n LegalInfoComponent,\n DateSelectorComponent,\n LoaderComponent,\n ItemSelectorComponent,\n LoadingOverlayComponent,\n FileTagListComponent,\n DocumentThumbnailComponent,\n CircleLoaderComponent,\n PrettyPriceComponent,\n SwiperRestaurantThemeDirective\n ],\n exports: [\n // modules\n CommonModule,\n FormsModule,\n SwiperModule,\n NgSelectModule,\n // directives\n PaginationColorDirective,\n RepasJourVignetteDirective,\n RestaurantTypeColorDirective,\n TranslateSliderDirective,\n TranslateYSliderDirective,\n SelectAllOnFocusDirective,\n InputNumberRangeDirective,\n StickyBlockDirective,\n TakePhotoDirective,\n // pipes\n ErrorPrettyDatePipe,\n CurrencyEuroPipe,\n DateFormatPipe,\n TruncatePipe,\n ObjToArrayPipe,\n // component\n ContratNotificationPopupComponent, // TODO pourquoi exporter des composants qui ne sont pas dans le module shared?\n DropdownComponent,\n ErrorPopupComponent,\n WarningPopupComponent,\n LegalInfoComponent,\n DateInputComponent,\n DateSelectorComponent,\n LoaderComponent,\n ItemSelectorComponent,\n LoadingOverlayComponent,\n FileTagListComponent,\n DocumentThumbnailComponent,\n CircleLoaderComponent,\n PrettyPriceComponent,\n SwiperRestaurantThemeDirective,\n ],\n entryComponents: [\n LegalInfoComponent,\n ContratNotificationPopupComponent,\n ErrorPopupComponent,\n WarningPopupComponent\n ],\n})\nexport class SharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: SharedModule,\n providers: [\n CorrelationTokenService,\n LogService\n ]\n };\n }\n\n constructor( @Optional() @SkipSelf() parentModule: SharedModule) {\n // https://angular.io/guide/singleton-services#prevent-reimport-of-the-greetingmodule\n if (parentModule) {\n throw new Error('SharedModule is already loaded. Import it in the AppModule only');\n }\n }\n}\n","import { ErrorHandler, Injectable } from '@angular/core';\r\nimport { LogService } from './services/log.service';\r\n\r\n@Injectable()\r\nexport class EliorErrorHandler extends ErrorHandler {\r\n constructor(private logService: LogService) {\r\n super();\r\n }\r\n\r\n handleError(error) {\r\n try {\r\n this.logService.Fatal(error, 'ErrorHandler');\r\n } catch (err) {\r\n // on loggue le problème de log\r\n this.logService.Fatal(err, 'ErrorHandlerError');\r\n // fallback vers la méthode générique\r\n super.handleError(error);\r\n }\r\n }\r\n}\r\n","import { Routes } from '@angular/router';\nimport { RepasComponent } from '../repas/repas.component';\nimport { AuthGuard } from '../shared/guards/auth-guard';\nimport { PromptForNavGuard } from '../shared/guards/prompt-for-nav-guard';\nconst ɵ0 = { title: 'Repas' }, ɵ1 = { title: 'Pique-nique', isPiqueNique: true };\nconst reportingRoutes = [\n {\n path: 'repas',\n component: RepasComponent,\n canActivate: [AuthGuard],\n canDeactivate: [PromptForNavGuard],\n data: ɵ0\n },\n // On utilise le composant Repas pour le piquenique, il sait qu'il est en piquenique grâce à l'url (voir le ngOnInit du repas.component)\n {\n path: 'piquenique',\n component: RepasComponent,\n canActivate: [AuthGuard],\n canDeactivate: [PromptForNavGuard],\n data: ɵ1\n },\n];\nexport class RepasRoutingModule {\n}\nexport { ɵ0, ɵ1 };\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { RepasComponent } from '../repas/repas.component';\r\nimport { AuthGuard } from '../shared/guards/auth-guard';\r\nimport { PromptForNavGuard } from '../shared/guards/prompt-for-nav-guard';\r\n\r\nconst reportingRoutes: Routes = [\r\n {\r\n path: 'repas',\r\n component: RepasComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [PromptForNavGuard],\r\n data: { title: 'Repas' }\r\n },\r\n // On utilise le composant Repas pour le piquenique, il sait qu'il est en piquenique grâce à l'url (voir le ngOnInit du repas.component)\r\n {\r\n path: 'piquenique',\r\n component: RepasComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [PromptForNavGuard],\r\n data: { title: 'Pique-nique', isPiqueNique: true }\r\n },\r\n];\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(reportingRoutes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\n\r\nexport class RepasRoutingModule { }\r\n","import { Routes } from '@angular/router';\nimport { AuthGuard } from '../shared/guards/auth-guard';\nimport { ContactComponent } from './contact.component';\nconst ɵ0 = { title: 'Contacts' };\nconst contactRoutes = [\n {\n path: 'contact',\n component: ContactComponent,\n canActivate: [AuthGuard],\n data: ɵ0\n }\n];\nexport class ContactRoutingModule {\n}\nexport { ɵ0 };\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard } from '../shared/guards/auth-guard';\r\nimport { ContactComponent } from './contact.component';\r\n\r\nconst contactRoutes: Routes = [\r\n {\r\n path: 'contact',\r\n component: ContactComponent,\r\n canActivate: [AuthGuard],\r\n data: { title: 'Contacts' }\r\n }\r\n];\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(contactRoutes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\n\r\nexport class ContactRoutingModule { }\r\n","import { PromptForNavGuard } from \"../shared/guards/prompt-for-nav-guard\";\nimport { Routes } from \"@angular/router\";\nimport { AuthGuard } from \"../shared/guards/auth-guard\";\nimport { EpicerieInventaireCreateComponent } from \"./create/epicerie-inventaire-create.component\";\nimport { EpicerieInventaireComponent } from \"./epicerie-inventaire.component\";\nconst ɵ0 = { title: \"Épicerie & inventaire\" }, ɵ1 = { title: \"Épicerie & inventaire - création/édition\" };\nconst epicerieInventaireRoutes = [\n {\n path: \"epicerieinventaire\",\n component: EpicerieInventaireComponent,\n canActivate: [AuthGuard],\n data: ɵ0\n },\n {\n path: \"epicerieinventaire/create\",\n component: EpicerieInventaireCreateComponent,\n canActivate: [AuthGuard],\n canDeactivate: [PromptForNavGuard],\n data: ɵ1\n }\n];\nexport class EpicerieInventaireRoutingModule {\n}\nexport { ɵ0, ɵ1 };\n","import { PromptForNavGuard } from \"../shared/guards/prompt-for-nav-guard\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\n\r\nimport { AuthGuard } from \"../shared/guards/auth-guard\";\r\n\r\nimport { EpicerieInventaireCreateComponent } from \"./create/epicerie-inventaire-create.component\";\r\nimport { EpicerieInventaireComponent } from \"./epicerie-inventaire.component\";\r\n\r\nconst epicerieInventaireRoutes: Routes = [\r\n {\r\n path: \"epicerieinventaire\",\r\n component: EpicerieInventaireComponent,\r\n canActivate: [AuthGuard],\r\n data: { title: \"Épicerie & inventaire\" }\r\n },\r\n {\r\n path: \"epicerieinventaire/create\",\r\n component: EpicerieInventaireCreateComponent,\r\n canActivate: [AuthGuard],\r\n canDeactivate: [PromptForNavGuard],\r\n data: { title: \"Épicerie & inventaire - création/édition\" }\r\n }\r\n];\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(epicerieInventaireRoutes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\n\r\nexport class EpicerieInventaireRoutingModule { }\r\n","import { Routes } from '@angular/router';\nimport { AuthGuard } from '../shared/guards/auth-guard';\nimport { ReportingComponent } from './reporting.component';\nconst ɵ0 = { title: \"Reporting\" };\nconst reportingRoutes = [\n {\n path: 'reporting',\n component: ReportingComponent,\n canActivate: [AuthGuard],\n data: ɵ0\n }\n];\nexport class ReportingRouteModule {\n}\nexport { ɵ0 };\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { AuthGuard } from '../shared/guards/auth-guard';\r\n\r\nimport { ReportingComponent } from './reporting.component';\r\n\r\nconst reportingRoutes: Routes = [\r\n {\r\n path: 'reporting',\r\n component: ReportingComponent,\r\n canActivate: [AuthGuard],\r\n data: { title: \"Reporting\" }\r\n\r\n }\r\n];\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(reportingRoutes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\n\r\nexport class ReportingRouteModule { }\r\n","import { Routes } from '@angular/router';\nimport { BonLivraisonComponent } from './bon-livraison.component';\nimport { AuthGuard } from '../shared/guards/auth-guard';\nimport { DetailsBonLivraisonComponent } from './details-bon-livraison/details-bon-livraison.component';\nimport { LivraisonBonLivraisonComponent } from './livraison-bon-livraison/livraison-bon-livraison.component';\nconst ɵ0 = { title: 'Réceptions' }, ɵ1 = { title: 'Livraison' }, ɵ2 = { title: 'Réception' };\nconst routes = [\n {\n path: 'bonlivraison',\n component: BonLivraisonComponent,\n canActivate: [AuthGuard],\n data: ɵ0\n },\n {\n path: 'bonlivraison/livraison/:codeBonLivraison',\n component: LivraisonBonLivraisonComponent,\n canActivate: [AuthGuard],\n data: ɵ1\n },\n {\n path: 'bonlivraison/details/:codeBonLivraison',\n redirectTo: 'bonlivraison/reception/:codeBonLivraison',\n },\n {\n path: 'bonlivraison/reception/:codeBonLivraison',\n component: DetailsBonLivraisonComponent,\n canActivate: [AuthGuard],\n data: ɵ2\n }\n];\nexport class BonLivraisonRoutingModule {\n}\nexport { ɵ0, ɵ1, ɵ2 };\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { BonLivraisonComponent } from './bon-livraison.component';\r\nimport { AuthGuard } from '../shared/guards/auth-guard';\r\nimport { DetailsBonLivraisonComponent } from './details-bon-livraison/details-bon-livraison.component';\r\nimport { LivraisonBonLivraisonComponent } from './livraison-bon-livraison/livraison-bon-livraison.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'bonlivraison',\r\n component: BonLivraisonComponent,\r\n canActivate: [AuthGuard],\r\n data: { title: 'Réceptions' }\r\n },\r\n {\r\n path: 'bonlivraison/livraison/:codeBonLivraison',\r\n component: LivraisonBonLivraisonComponent,\r\n canActivate: [AuthGuard],\r\n data: { title: 'Livraison' }\r\n },\r\n {\r\n path: 'bonlivraison/details/:codeBonLivraison',\r\n redirectTo: 'bonlivraison/reception/:codeBonLivraison',\r\n },\r\n {\r\n path: 'bonlivraison/reception/:codeBonLivraison',\r\n component: DetailsBonLivraisonComponent,\r\n canActivate: [AuthGuard],\r\n data: { title: 'Réception' }\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(routes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class BonLivraisonRoutingModule { }\r\n","import { Routes } from '@angular/router';\nimport { AuthGuard } from '../shared/guards/auth-guard';\nimport { DiscussionComponent } from './discussion.component';\nconst ɵ0 = { title: 'Demande / Réclamation' };\nconst DiscussionRoutes = [\n {\n path: 'demande',\n component: DiscussionComponent,\n canActivate: [AuthGuard],\n data: ɵ0\n }\n];\nexport class DiscussionRoutingModule {\n}\nexport { ɵ0 };\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard } from '../shared/guards/auth-guard';\r\nimport { DiscussionComponent } from './discussion.component';\r\n\r\nconst DiscussionRoutes: Routes = [\r\n {\r\n path: 'demande',\r\n component: DiscussionComponent,\r\n canActivate: [AuthGuard],\r\n data: { title: 'Demande / Réclamation' }\r\n }\r\n];\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(DiscussionRoutes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\n\r\nexport class DiscussionRoutingModule { }\r\n","import { OdgComponent } from './odg.component';\nimport { Routes } from '@angular/router';\nimport { AuthGuard } from '../shared/guards/auth-guard';\nconst ɵ0 = { title: \"Observatoire du goût\" };\nconst odgRoutes = [\n {\n path: 'observatoire',\n component: OdgComponent,\n canActivate: [AuthGuard],\n data: ɵ0\n }\n];\nexport class OdgRoutingModule {\n}\nexport { ɵ0 };\n","import { OdgComponent } from './odg.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { AuthGuard } from '../shared/guards/auth-guard';\r\n\r\n\r\nconst odgRoutes: Routes = [\r\n {\r\n path: 'observatoire',\r\n component: OdgComponent,\r\n canActivate: [AuthGuard],\r\n data: { title: \"Observatoire du goût\" }\r\n }\r\n];\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(odgRoutes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\n\r\nexport class OdgRoutingModule { }\r\n","import { DocumenthequeComponent } from './documentheque.component';\nimport { Routes } from '@angular/router';\nimport { AuthGuard } from '../shared/guards/auth-guard';\nconst ɵ0 = { title: \"Documenthèque\" };\nconst documenthequeRoutes = [\n {\n path: 'documentheque',\n component: DocumenthequeComponent,\n canActivate: [AuthGuard],\n data: ɵ0\n }\n];\nexport class DocumenthequeRoutingModule {\n}\nexport { ɵ0 };\n","import { DocumenthequeComponent } from './documentheque.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { AuthGuard } from '../shared/guards/auth-guard';\r\n\r\n\r\nconst documenthequeRoutes: Routes = [\r\n {\r\n path: 'documentheque',\r\n component: DocumenthequeComponent,\r\n canActivate: [AuthGuard],\r\n data: { title: \"Documenthèque\" }\r\n }\r\n];\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(documenthequeRoutes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\n\r\nexport class DocumenthequeRoutingModule { }\r\n","import { RouterModule } from '@angular/router';\nimport { HomeComponent } from './home/home.component';\nimport { LoginComponent } from './login/login.component';\nimport { SandboxComponent } from './sandbox/sandbox.component';\nimport { AuthGuard } from './shared/guards/auth-guard';\nconst ɵ0 = { title: 'Connexion' }, ɵ1 = { title: 'Bienvenue' }, ɵ2 = { title: 'Sandbox' };\nconst routes = [\n {\n path: '',\n redirectTo: '/home',\n pathMatch: 'full',\n canActivate: [AuthGuard],\n },\n {\n path: 'login',\n component: LoginComponent,\n data: ɵ0\n },\n {\n path: 'home',\n component: HomeComponent,\n canActivate: [AuthGuard],\n data: ɵ1\n },\n {\n path: 'sandbox',\n component: SandboxComponent,\n data: ɵ2\n },\n];\nexport const routing = RouterModule.forRoot(routes);\nexport { ɵ0, ɵ1, ɵ2 };\n","import { ModuleWithProviders } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { SandboxComponent } from './sandbox/sandbox.component';\r\nimport { AuthGuard } from './shared/guards/auth-guard';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: '/home',\r\n pathMatch: 'full',\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: 'login',\r\n component: LoginComponent,\r\n data: { title: 'Connexion' }\r\n },\r\n {\r\n path: 'home',\r\n component: HomeComponent,\r\n canActivate: [AuthGuard],\r\n data: { title: 'Bienvenue' }\r\n },\r\n {\r\n path: 'sandbox',\r\n component: SandboxComponent,\r\n data: { title: 'Sandbox' }\r\n },\r\n // {\r\n // path: 'bonlivraison',\r\n // loadChildren: () => import('./bon-livraison/bon-livraison.module').then(mod => mod.BonLivraisonModule)\r\n // },\r\n];\r\n\r\nexport const routing: ModuleWithProviders = RouterModule.forRoot(routes);\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopupNotificationsComponent } from './components/popup-notifications/popup-notifications.component';\r\nimport { AlerteComponent } from './components/alerte/alerte.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { EnqueteComponent } from './components/enquete/enquete.component';\r\nimport { RatingComponent } from './components/rating/rating.component';\r\nimport { AlertesTileComponent } from './components/alertes-tile/alertes-tile.component';\r\nimport { ExportEnquetesComponent } from './components/export-enquetes/export-enquetes.component';\r\n\r\n@NgModule({\r\n declarations: [PopupNotificationsComponent, AlerteComponent, EnqueteComponent, RatingComponent, AlertesTileComponent, ExportEnquetesComponent],\r\n imports: [\r\n CommonModule,\r\n SharedModule\r\n ],\r\n exports: [\r\n AlertesTileComponent,\r\n ExportEnquetesComponent\r\n ],\r\n entryComponents: [PopupNotificationsComponent]\r\n})\r\nexport class AlertesModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { LinkFormControlDirective } from '../shared/directives/link-form-control.directive';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { ExportBilanRepasComponent } from './export-bilan-repas/export-bilan-repas.component';\r\nimport { ExportEcartsComponent } from './export-ecarts/export-ecarts.component';\r\nimport { PrestationComponent } from './prestation/prestation.component';\r\nimport { RepasRoutingModule } from './repas-routing.module';\r\nimport { RepasComponent } from './repas.component';\r\nimport { CommandeRepasApiService } from './services/api/commande-repas.apiservice';\r\nimport { CommandeRepasService } from './services/commande-repas.service';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n CommonModule,\r\n ReactiveFormsModule,\r\n RepasRoutingModule\r\n ],\r\n declarations: [\r\n // Components\r\n RepasComponent,\r\n PrestationComponent,\r\n ExportEcartsComponent,\r\n ExportBilanRepasComponent,\r\n // directives\r\n LinkFormControlDirective,\r\n ],\r\n exports: [\r\n ExportEcartsComponent,\r\n ExportBilanRepasComponent,\r\n ],\r\n providers: [\r\n CommandeRepasService,\r\n CommandeRepasApiService\r\n ]\r\n})\r\nexport class RepasModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { ContactCardComponent } from './contact-card/contact-card.component';\r\nimport { ContactListComponent } from './contact-list/contact-list/contact-list.component';\r\nimport { ContactRoutingModule } from './contact-routing.module';\r\nimport { ContactComponent } from './contact.component';\r\nimport { ContactApiService } from './services/api/contact.apiservice';\r\nimport { ContactService } from './services/contact.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n ContactRoutingModule\r\n ],\r\n declarations: [ContactComponent, ContactListComponent, ContactCardComponent],\r\n providers: [\r\n ContactApiService,\r\n ContactService,\r\n ]\r\n})\r\nexport class ContactModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { CartComponent } from './cart/cart.component';\r\nimport { ArticleComponent } from './create/article/article.component';\r\nimport { EpicerieInventaireCreateComponent } from './create/epicerie-inventaire-create.component';\r\nimport { EpicerieInventaireRoutingModule } from './epicerie-inventaire-routing.module';\r\nimport { EpicerieInventaireComponent } from './epicerie-inventaire.component';\r\nimport { EpicerieInventaireApiService } from './services/api/epicerie-inventaire.apiservice';\r\nimport { EpicerieInventaireService } from './services/epicerie-inventaire.service';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n CommonModule,\r\n FormsModule,\r\n EpicerieInventaireRoutingModule\r\n ],\r\n providers: [\r\n EpicerieInventaireApiService,\r\n EpicerieInventaireService,\r\n ],\r\n declarations: [\r\n EpicerieInventaireComponent,\r\n EpicerieInventaireCreateComponent,\r\n ArticleComponent,\r\n CartComponent]\r\n})\r\nexport class EpicerieInventaireModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { DiscussionDetailsComponent } from './discussion-details/discussion-details.component';\r\nimport { DiscussionRoutingModule } from './discussion-routing.module';\r\nimport { DiscussionComponent } from './discussion.component';\r\nimport { ExportSuiviQualiteComponent } from './export-suivi-qualite/export-suivi-qualite.component';\r\nimport { NewDiscussionComponent } from './new-discussion/new-discussion.component';\r\nimport { DiscussionApiService } from './services/api/discussion.apiservice';\r\nimport { DiscussionService } from './services/discussion.service';\r\nimport { RequalifierDiscussionComponent } from './requalifier-discussion/requalifier-discussion.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n DiscussionRoutingModule,\r\n FormsModule,\r\n FileUploadModule\r\n ],\r\n declarations:\r\n [\r\n DiscussionComponent,\r\n NewDiscussionComponent,\r\n DiscussionDetailsComponent,\r\n ExportSuiviQualiteComponent,\r\n RequalifierDiscussionComponent\r\n ],\r\n entryComponents: [\r\n RequalifierDiscussionComponent\r\n ],\r\n providers:\r\n [\r\n DiscussionService,\r\n DiscussionApiService\r\n ],\r\n exports: [ExportSuiviQualiteComponent]\r\n})\r\nexport class DiscussionModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { BonLivraisonRoutingModule } from './bon-livraison-routing.module';\r\nimport { BonLivraisonComponent } from './bon-livraison.component';\r\nimport { BonLivraisonService } from './services/bon-livraison.service';\r\nimport { BonLivraisonApiService } from './services/api/bon-livraison-api.service';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { DetailsBonLivraisonComponent } from './details-bon-livraison/details-bon-livraison.component';\r\nimport { ComposantsLivresComponent } from './details-bon-livraison/composants-livres/composants-livres.component';\r\nimport { FormatBonLivraisonStatutPipe } from './pipes/format-bon-livraison-statut.pipe';\r\nimport { FormatReceptionStatutPipe } from './pipes/format-reception-statut.pipe';\r\nimport { FormatMiseEnConformiteStatutPipe } from './pipes/format-mise-en-conformite-statut.pipe';\r\nimport { PopupValidationComponent } from './details-bon-livraison/popup-validation/popup-validation.component';\r\nimport { PopupSearchCodeBarreComponent } from './popup-search-code-barre/popup-search-code-barre.component';\r\nimport { ExportNonConformitesComponent } from './export-non-conformites/export-non-conformites.component';\r\nimport { ExportManquesComponent } from './export-manques/export-manques.component';\r\nimport { DiscussionModule } from '../discussion/discussion.module';\r\nimport { BonLivraisonInfoHeaderComponent } from './bon-livraison-info-header/bon-livraison-info-header.component';\r\nimport { LivraisonBonLivraisonComponent } from './livraison-bon-livraison/livraison-bon-livraison.component';\r\nimport { LivraisonTemperatureComponent } from './livraison-bon-livraison/livraison-temperature/livraison-temperature.component';\r\nimport { LivraisonDlcComponent } from './livraison-bon-livraison/livraison-dlc/livraison-dlc.component';\r\nimport { LivraisonPopupValidationComponent } from './livraison-bon-livraison/livraison-popup-validation/livraison-popup-validation.component';\r\nimport { LivraisonSignatureComponent } from './livraison-bon-livraison/livraison-signature/livraison-signature.component';\r\nimport { FormatTemperaturePipe } from './pipes/format-temperature.pipe';\r\nimport { FormatLivraisonStatutPipe } from './pipes/format-livraison-statut.pipe';\r\nimport { BonlivraisonInfoPanelComponent } from './bonlivraison-info-panel/bonlivraison-info-panel.component';\r\nimport { FilterAllowedFamillePlatPipe } from './pipes/filter-allowed-famille-plat.pipe';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n BonLivraisonRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DiscussionModule\r\n ],\r\n declarations: [\r\n BonLivraisonComponent,\r\n DetailsBonLivraisonComponent,\r\n ComposantsLivresComponent,\r\n ExportNonConformitesComponent,\r\n ExportManquesComponent,\r\n // Pipes\r\n FormatBonLivraisonStatutPipe,\r\n FormatReceptionStatutPipe,\r\n FormatMiseEnConformiteStatutPipe,\r\n FormatTemperaturePipe,\r\n FormatLivraisonStatutPipe,\r\n // Popups\r\n PopupSearchCodeBarreComponent,\r\n PopupValidationComponent,\r\n BonLivraisonInfoHeaderComponent,\r\n LivraisonBonLivraisonComponent,\r\n LivraisonTemperatureComponent,\r\n LivraisonDlcComponent,\r\n LivraisonPopupValidationComponent,\r\n LivraisonSignatureComponent,\r\n BonlivraisonInfoPanelComponent,\r\n FilterAllowedFamillePlatPipe\r\n ],\r\n entryComponents: [\r\n // Composants créés dynamiquement (les popup custom)\r\n PopupSearchCodeBarreComponent,\r\n PopupValidationComponent,\r\n LivraisonPopupValidationComponent\r\n ],\r\n providers: [\r\n BonLivraisonService,\r\n BonLivraisonApiService\r\n ],\r\n exports: [\r\n ExportNonConformitesComponent,\r\n ExportManquesComponent\r\n ]\r\n})\r\nexport class BonLivraisonModule { }\r\n","\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SharedModule } from '../shared/shared.module';\nimport { OdgReportingService } from './services/odgReporting.service';\nimport { OdgReportingApiService } from './services/api/odg-reporting.apiservice';\nimport { ExportsOdgComponent } from './exports-odg/exports-odg.component';\n// import { OdgApiService } from './services/api/odg.apiservice';\n// import { OdgService } from './services/odg.service';\n\n@NgModule({\n imports: [\n CommonModule,\n SharedModule,\n FormsModule\n ],\n declarations:\n [\n ExportsOdgComponent\n ],\n exports: [\n ExportsOdgComponent\n ],\n providers: [\n OdgReportingApiService,\n OdgReportingService\n ]\n})\nexport class OdgReportingModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AlertesModule } from '../alertes/alertes.module';\nimport { BonLivraisonModule } from '../bon-livraison/bon-livraison.module';\nimport { DiscussionModule } from '../discussion/discussion.module';\nimport { RepasModule } from '../repas/repas.module';\nimport { SharedModule } from '../shared/shared.module';\nimport { ReportingRouteModule } from './reporting-routing.module';\nimport { ReportingComponent } from './reporting.component';\nimport { ReportingApiService } from './services/api/reporting.apiservice';\nimport { ReportingService } from './services/reporting.service';\nimport { OdgReportingModule } from '../odg-reporting/odg-reporting.module';\n\n@NgModule({\n imports: [\n SharedModule,\n CommonModule,\n FormsModule,\n ReportingRouteModule,\n BonLivraisonModule,\n RepasModule,\n AlertesModule,\n DiscussionModule,\n OdgReportingModule\n ],\n providers: [\n ReportingService,\n ReportingApiService\n ],\n declarations: [\n ReportingComponent\n ]\n})\nexport class ReportingModule { }\n","\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SharedModule } from '../shared/shared.module';\nimport { OdgBadEvaluationComponent } from './odg-bad-evaluation/odg-bad-evaluation.component';\nimport { OdgEvaluationComponent } from './odg-evaluation/odg-evaluation.component';\nimport { OdgPrestationComponent } from './odg-prestation/odg-prestation.component';\nimport { OdgRoutingModule } from './odg-routing.module';\nimport { OdgComponent } from './odg.component';\nimport { OdgApiService } from './services/api/odg.apiservice';\nimport { OdgService } from './services/odg.service';\nimport { OdgSmileyPlutotBienConsommeComponent } from './smileys/odg-smiley-pbc.component';\nimport { OdgSmileyPasConsommeComponent } from './smileys/odg-smiley-pc.component';\nimport { OdgSmileyPasConsommeDuToutComponent } from './smileys/odg-smiley-pcdt.component';\nimport { OdgSmileyTresBienConsommeComponent } from './smileys/odg-smiley-tbc.component';\nimport { OdgExportFichesEvalutationsComponent } from './odg-export-fiches-evalutations/odg-export-fiches-evalutations.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SharedModule,\n OdgRoutingModule,\n FormsModule\n ],\n declarations:\n [\n OdgComponent,\n OdgPrestationComponent,\n OdgSmileyPlutotBienConsommeComponent,\n OdgSmileyPasConsommeComponent,\n OdgSmileyTresBienConsommeComponent,\n OdgSmileyPasConsommeDuToutComponent,\n OdgEvaluationComponent,\n OdgBadEvaluationComponent,\n OdgExportFichesEvalutationsComponent\n ],\n entryComponents: [\n OdgExportFichesEvalutationsComponent\n ],\n exports: [\n OdgBadEvaluationComponent\n ],\n providers: [\n OdgApiService,\n OdgService\n ]\n})\nexport class OdgModule { }\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { DocumenthequeRoutingModule } from './documentheque-routing.module';\r\nimport { DocumenthequeComponent } from './documentheque.component';\r\nimport { DocumenthequeApiService } from './services/api/documentheque.apiservice';\r\nimport { DocumenthequeService } from './services/documentheque.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n DocumenthequeRoutingModule,\r\n FormsModule\r\n ],\r\n declarations:\r\n [\r\n DocumenthequeComponent\r\n ],\r\n providers:\r\n [\r\n DocumenthequeApiService,\r\n DocumenthequeService\r\n ]\r\n})\r\nexport class DocumenthequeModule { }\r\n","/**\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n *\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes}\n * tslint:disable\n */ \nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./app.module\";\nimport * as i2 from \"./app.component\";\nimport * as i3 from \"../../node_modules/@ngui/auto-complete/dist/auto-complete.component.ngfactory\";\nimport * as i4 from \"./legal-info/legal-info.component.ngfactory\";\nimport * as i5 from \"./popup/contrat-notification-popup/contrat-notification-popup.component.ngfactory\";\nimport * as i6 from \"./popup/error-popup/error-popup.component.ngfactory\";\nimport * as i7 from \"./popup/warning-popup/warning-popup.component.ngfactory\";\nimport * as i8 from \"../../node_modules/@angular/router/router.ngfactory\";\nimport * as i9 from \"./alertes/components/popup-notifications/popup-notifications.component.ngfactory\";\nimport * as i10 from \"./repas/repas.component.ngfactory\";\nimport * as i11 from \"./contact/contact.component.ngfactory\";\nimport * as i12 from \"./epicerie-inventaire/epicerie-inventaire.component.ngfactory\";\nimport * as i13 from \"./epicerie-inventaire/create/epicerie-inventaire-create.component.ngfactory\";\nimport * as i14 from \"./reporting/reporting.component.ngfactory\";\nimport * as i15 from \"./bon-livraison/bon-livraison.component.ngfactory\";\nimport * as i16 from \"./bon-livraison/livraison-bon-livraison/livraison-bon-livraison.component.ngfactory\";\nimport * as i17 from \"./bon-livraison/details-bon-livraison/details-bon-livraison.component.ngfactory\";\nimport * as i18 from \"./discussion/discussion.component.ngfactory\";\nimport * as i19 from \"./discussion/requalifier-discussion/requalifier-discussion.component.ngfactory\";\nimport * as i20 from \"./bon-livraison/popup-search-code-barre/popup-search-code-barre.component.ngfactory\";\nimport * as i21 from \"./bon-livraison/details-bon-livraison/popup-validation/popup-validation.component.ngfactory\";\nimport * as i22 from \"./bon-livraison/livraison-bon-livraison/livraison-popup-validation/livraison-popup-validation.component.ngfactory\";\nimport * as i23 from \"./odg/odg.component.ngfactory\";\nimport * as i24 from \"./odg/odg-export-fiches-evalutations/odg-export-fiches-evalutations.component.ngfactory\";\nimport * as i25 from \"./documentheque/documentheque.component.ngfactory\";\nimport * as i26 from \"../../node_modules/ngx-toastr/ngx-toastr.ngfactory\";\nimport * as i27 from \"./login/login.component.ngfactory\";\nimport * as i28 from \"./home/home.component.ngfactory\";\nimport * as i29 from \"./sandbox/sandbox.component.ngfactory\";\nimport * as i30 from \"./app.component.ngfactory\";\nimport * as i31 from \"@angular/common\";\nimport * as i32 from \"@angular/forms\";\nimport * as i33 from \"@angular/platform-browser\";\nimport * as i34 from \"@angular/animations/browser\";\nimport * as i35 from \"@angular/platform-browser/animations\";\nimport * as i36 from \"@angular/animations\";\nimport * as i37 from \"@angular/common/http\";\nimport * as i38 from \"./shared/services/browser-storage.service\";\nimport * as i39 from \"./shared/services/log.service\";\nimport * as i40 from \"./shared/services/correlationToken.service\";\nimport * as i41 from \"./shared/services/api/authentication/authentication.apiservice\";\nimport * as i42 from \"./shared/models/api/api-settings\";\nimport * as i43 from \"./shared/services/authentication/authentication.service\";\nimport * as i44 from \"@angular/router\";\nimport * as i45 from \"./shared/services/http/app-http-interceptor\";\nimport * as i46 from \"./shared/services/http/auth-http-interceptor\";\nimport * as i47 from \"./shared/services/http/error-handler-http-interceptor\";\nimport * as i48 from \"./repas/services/api/commande-repas.apiservice\";\nimport * as i49 from \"./repas/services/commande-repas.service\";\nimport * as i50 from \"./contact/services/api/contact.apiservice\";\nimport * as i51 from \"./contact/services/contact.service\";\nimport * as i52 from \"./epicerie-inventaire/services/api/epicerie-inventaire.apiservice\";\nimport * as i53 from \"./epicerie-inventaire/services/epicerie-inventaire.service\";\nimport * as i54 from \"ngx-toastr\";\nimport * as i55 from \"./discussion/services/api/discussion.apiservice\";\nimport * as i56 from \"./discussion/services/discussion.service\";\nimport * as i57 from \"./bon-livraison/services/api/bon-livraison-api.service\";\nimport * as i58 from \"./bon-livraison/services/bon-livraison.service\";\nimport * as i59 from \"./odg-reporting/services/api/odg-reporting.apiservice\";\nimport * as i60 from \"./odg-reporting/services/odgReporting.service\";\nimport * as i61 from \"./reporting/services/api/reporting.apiservice\";\nimport * as i62 from \"./shared/services/interaction.service\";\nimport * as i63 from \"./reporting/services/reporting.service\";\nimport * as i64 from \"./odg/services/api/odg.apiservice\";\nimport * as i65 from \"./odg/services/odg.service\";\nimport * as i66 from \"./documentheque/services/api/documentheque.apiservice\";\nimport * as i67 from \"./documentheque/services/documentheque.service\";\nimport * as i68 from \"./analytics/providers/appinsights-analytics-provider\";\nimport * as i69 from \"./shared/models/app-settings.model\";\nimport * as i70 from \"./shared/services/app-settings.service\";\nimport * as i71 from \"./analytics/providers/google-analytics-provider\";\nimport * as i72 from \"./analytics/analytics-service\";\nimport * as i73 from \"./analytics/analytics.module\";\nimport * as i74 from \"@angular/service-worker\";\nimport * as i75 from \"./shared/guards/auth-guard\";\nimport * as i76 from \"./shared/guards/prompt-for-nav-guard\";\nimport * as i77 from \"./shared/services/api/parametre/parametre.apiservice\";\nimport * as i78 from \"./shared/services/api/logo/logo-route.service\";\nimport * as i79 from \"./shared/services/navigation.service\";\nimport * as i80 from \"./shared/services/application-data.service\";\nimport * as i81 from \"./shared/services/parametre.service\";\nimport * as i82 from \"@ngui/auto-complete/dist/auto-complete.module\";\nimport * as i83 from \"ngx-swiper-wrapper\";\nimport * as i84 from \"@ng-select/ng-select\";\nimport * as i85 from \"./shared/shared.module\";\nimport * as i86 from \"./shared/elior-error-handler\";\nimport * as i87 from \"./repas/repas.component\";\nimport * as i88 from \"./repas/repas-routing.module\";\nimport * as i89 from \"./contact/contact.component\";\nimport * as i90 from \"./contact/contact-routing.module\";\nimport * as i91 from \"./epicerie-inventaire/epicerie-inventaire.component\";\nimport * as i92 from \"./epicerie-inventaire/epicerie-inventaire-routing.module\";\nimport * as i93 from \"./epicerie-inventaire/create/epicerie-inventaire-create.component\";\nimport * as i94 from \"./reporting/reporting.component\";\nimport * as i95 from \"./reporting/reporting-routing.module\";\nimport * as i96 from \"./bon-livraison/bon-livraison.component\";\nimport * as i97 from \"./bon-livraison/bon-livraison-routing.module\";\nimport * as i98 from \"./bon-livraison/livraison-bon-livraison/livraison-bon-livraison.component\";\nimport * as i99 from \"./bon-livraison/details-bon-livraison/details-bon-livraison.component\";\nimport * as i100 from \"./discussion/discussion.component\";\nimport * as i101 from \"./discussion/discussion-routing.module\";\nimport * as i102 from \"./odg/odg.component\";\nimport * as i103 from \"./odg/odg-routing.module\";\nimport * as i104 from \"./documentheque/documentheque.component\";\nimport * as i105 from \"./documentheque/documentheque-routing.module\";\nimport * as i106 from \"./login/login.component\";\nimport * as i107 from \"./app-routing.module\";\nimport * as i108 from \"./home/home.component\";\nimport * as i109 from \"./sandbox/sandbox.component\";\nimport * as i110 from \"./alertes/alertes.module\";\nimport * as i111 from \"./repas/repas.module\";\nimport * as i112 from \"./contact/contact.module\";\nimport * as i113 from \"./epicerie-inventaire/epicerie-inventaire.module\";\nimport * as i114 from \"ng2-file-upload/file-upload/file-upload.module\";\nimport * as i115 from \"./discussion/discussion.module\";\nimport * as i116 from \"./bon-livraison/bon-livraison.module\";\nimport * as i117 from \"./odg-reporting/odg-reporting.module\";\nimport * as i118 from \"./reporting/reporting.module\";\nimport * as i119 from \"./odg/odg.module\";\nimport * as i120 from \"./documentheque/documentheque.module\";\nvar AppModuleNgFactory = i0.ɵcmf(i1.AppModule, [i2.AppComponent], function (_l) { return i0.ɵmod([i0.ɵmpd(512, i0.ComponentFactoryResolver, i0.ɵCodegenComponentFactoryResolver, [[8, [i3.NguiAutoCompleteComponentNgFactory, i4.LegalInfoComponentNgFactory, i5.ContratNotificationPopupComponentNgFactory, i6.ErrorPopupComponentNgFactory, i7.WarningPopupComponentNgFactory, i8.ɵangular_packages_router_router_lNgFactory, i9.PopupNotificationsComponentNgFactory, i10.RepasComponentNgFactory, i11.ContactComponentNgFactory, i12.EpicerieInventaireComponentNgFactory, i13.EpicerieInventaireCreateComponentNgFactory, i14.ReportingComponentNgFactory, i15.BonLivraisonComponentNgFactory, i16.LivraisonBonLivraisonComponentNgFactory, i17.DetailsBonLivraisonComponentNgFactory, i18.DiscussionComponentNgFactory, i19.RequalifierDiscussionComponentNgFactory, i20.PopupSearchCodeBarreComponentNgFactory, i21.PopupValidationComponentNgFactory, i22.LivraisonPopupValidationComponentNgFactory, i23.OdgComponentNgFactory, i24.OdgExportFichesEvalutationsComponentNgFactory, i25.DocumenthequeComponentNgFactory, i26.ToastNgFactory, i27.LoginComponentNgFactory, i28.HomeComponentNgFactory, i29.SandboxComponentNgFactory, i30.AppComponentNgFactory]], [3, i0.ComponentFactoryResolver], i0.NgModuleRef]), i0.ɵmpd(5120, i0.LOCALE_ID, i0.ɵangular_packages_core_core_p, [[3, i0.LOCALE_ID]]), i0.ɵmpd(4608, i31.NgLocalization, i31.NgLocaleLocalization, [i0.LOCALE_ID, [2, i31.ɵangular_packages_common_common_a]]), i0.ɵmpd(4608, i32.ɵangular_packages_forms_forms_o, i32.ɵangular_packages_forms_forms_o, []), i0.ɵmpd(5120, i0.ɵangular_packages_core_core_ba, i0.ɵangular_packages_core_core_r, [i0.NgZone]), i0.ɵmpd(5120, i0.APP_ID, i0.ɵangular_packages_core_core_f, []), i0.ɵmpd(5120, i0.IterableDiffers, i0.ɵangular_packages_core_core_n, []), i0.ɵmpd(5120, i0.KeyValueDiffers, i0.ɵangular_packages_core_core_o, []), i0.ɵmpd(4608, i33.DomSanitizer, i33.ɵDomSanitizerImpl, [i31.DOCUMENT]), i0.ɵmpd(6144, i0.Sanitizer, null, [i33.DomSanitizer]), i0.ɵmpd(4608, i33.HAMMER_GESTURE_CONFIG, i33.HammerGestureConfig, []), i0.ɵmpd(5120, i33.EVENT_MANAGER_PLUGINS, function (p0_0, p0_1, p0_2, p1_0, p2_0, p2_1, p2_2, p2_3) { return [new i33.ɵDomEventsPlugin(p0_0, p0_1, p0_2), new i33.ɵKeyEventsPlugin(p1_0), new i33.ɵHammerGesturesPlugin(p2_0, p2_1, p2_2, p2_3)]; }, [i31.DOCUMENT, i0.NgZone, i0.PLATFORM_ID, i31.DOCUMENT, i31.DOCUMENT, i33.HAMMER_GESTURE_CONFIG, i0.ɵConsole, [2, i33.HAMMER_LOADER]]), i0.ɵmpd(4608, i33.EventManager, i33.EventManager, [i33.EVENT_MANAGER_PLUGINS, i0.NgZone]), i0.ɵmpd(135680, i33.ɵDomSharedStylesHost, i33.ɵDomSharedStylesHost, [i31.DOCUMENT]), i0.ɵmpd(4608, i33.ɵDomRendererFactory2, i33.ɵDomRendererFactory2, [i33.EventManager, i33.ɵDomSharedStylesHost, i0.APP_ID]), i0.ɵmpd(5120, i34.AnimationDriver, i35.ɵangular_packages_platform_browser_animations_animations_a, []), i0.ɵmpd(5120, i34.ɵAnimationStyleNormalizer, i35.ɵangular_packages_platform_browser_animations_animations_b, []), i0.ɵmpd(4608, i34.ɵAnimationEngine, i35.ɵInjectableAnimationEngine, [i31.DOCUMENT, i34.AnimationDriver, i34.ɵAnimationStyleNormalizer]), i0.ɵmpd(5120, i0.RendererFactory2, i35.ɵangular_packages_platform_browser_animations_animations_c, [i33.ɵDomRendererFactory2, i34.ɵAnimationEngine, i0.NgZone]), i0.ɵmpd(6144, i33.ɵSharedStylesHost, null, [i33.ɵDomSharedStylesHost]), i0.ɵmpd(4608, i0.Testability, i0.Testability, [i0.NgZone]), i0.ɵmpd(4608, i36.AnimationBuilder, i35.ɵBrowserAnimationBuilder, [i0.RendererFactory2, i31.DOCUMENT]), i0.ɵmpd(4608, i32.FormBuilder, i32.FormBuilder, []), i0.ɵmpd(4608, i37.HttpXsrfTokenExtractor, i37.ɵangular_packages_common_http_http_g, [i31.DOCUMENT, i0.PLATFORM_ID, i37.ɵangular_packages_common_http_http_e]), i0.ɵmpd(4608, i37.ɵangular_packages_common_http_http_h, i37.ɵangular_packages_common_http_http_h, [i37.HttpXsrfTokenExtractor, i37.ɵangular_packages_common_http_http_f]), i0.ɵmpd(4608, i38.SessionStorageService, i38.SessionStorageService, [i39.LogService]), i0.ɵmpd(4608, i40.CorrelationTokenService, i40.CorrelationTokenService, [i38.SessionStorageService]), i0.ɵmpd(4608, i37.ɵangular_packages_common_http_http_d, i37.ɵangular_packages_common_http_http_d, []), i0.ɵmpd(6144, i37.XhrFactory, null, [i37.ɵangular_packages_common_http_http_d]), i0.ɵmpd(4608, i37.HttpXhrBackend, i37.HttpXhrBackend, [i37.XhrFactory]), i0.ɵmpd(6144, i37.HttpBackend, null, [i37.HttpXhrBackend]), i0.ɵmpd(4608, i37.HttpHandler, i37.ɵHttpInterceptingHandler, [i37.HttpBackend, i0.Injector]), i0.ɵmpd(4608, i37.HttpClient, i37.HttpClient, [i37.HttpHandler]), i0.ɵmpd(4608, i41.AuthenticationApiService, i41.AuthenticationApiService, [i42.ApiSettings, i37.HttpClient, i39.LogService]), i0.ɵmpd(4608, i38.LocalStorageService, i38.LocalStorageService, [i39.LogService]), i0.ɵmpd(4608, i43.AuthenticationService, i43.AuthenticationService, [i41.AuthenticationApiService, i44.Router, i38.SessionStorageService, i38.LocalStorageService, i39.LogService]), i0.ɵmpd(5120, i37.HTTP_INTERCEPTORS, function (p0_0, p1_0, p1_1, p1_2, p2_0, p2_1, p2_2, p2_3, p3_0, p3_1) { return [p0_0, new i45.AppHttpInterceptor(p1_0, p1_1, p1_2), new i46.AuthHttpInterceptor(p2_0, p2_1, p2_2, p2_3), new i47.ErrorHandlerHttpInterceptor(p3_0, p3_1)]; }, [i37.ɵangular_packages_common_http_http_h, i40.CorrelationTokenService, i42.ApiSettings, i39.LogService, i37.HttpClient, i43.AuthenticationService, i42.ApiSettings, i39.LogService, i39.LogService, i42.ApiSettings]), i0.ɵmpd(4608, i48.CommandeRepasApiService, i48.CommandeRepasApiService, [i42.ApiSettings, i37.HttpClient, i39.LogService]), i0.ɵmpd(4608, i49.CommandeRepasService, i49.CommandeRepasService, [i48.CommandeRepasApiService, i38.SessionStorageService]), i0.ɵmpd(4608, i50.ContactApiService, i50.ContactApiService, [i42.ApiSettings, i37.HttpClient]), i0.ɵmpd(4608, i51.ContactService, i51.ContactService, [i50.ContactApiService]), i0.ɵmpd(4608, i52.EpicerieInventaireApiService, i52.EpicerieInventaireApiService, [i42.ApiSettings, i37.HttpClient, i39.LogService]), i0.ɵmpd(4608, i53.EpicerieInventaireService, i53.EpicerieInventaireService, [i52.EpicerieInventaireApiService, i54.ToastrService]), i0.ɵmpd(4608, i55.DiscussionApiService, i55.DiscussionApiService, [i42.ApiSettings, i37.HttpClient]), i0.ɵmpd(4608, i56.DiscussionService, i56.DiscussionService, [i55.DiscussionApiService]), i0.ɵmpd(4608, i57.BonLivraisonApiService, i57.BonLivraisonApiService, [i42.ApiSettings, i37.HttpClient]), i0.ɵmpd(4608, i58.BonLivraisonService, i58.BonLivraisonService, [i57.BonLivraisonApiService]), i0.ɵmpd(4608, i59.OdgReportingApiService, i59.OdgReportingApiService, [i42.ApiSettings, i37.HttpClient, i39.LogService]), i0.ɵmpd(4608, i60.OdgReportingService, i60.OdgReportingService, [i59.OdgReportingApiService]), i0.ɵmpd(4608, i61.ReportingApiService, i61.ReportingApiService, [i42.ApiSettings, i37.HttpClient, i39.LogService]), i0.ɵmpd(4608, i62.InteractionService, i62.InteractionService, [i39.LogService]), i0.ɵmpd(4608, i63.ReportingService, i63.ReportingService, [i61.ReportingApiService, i62.InteractionService, i39.LogService]), i0.ɵmpd(4608, i64.OdgApiService, i64.OdgApiService, [i42.ApiSettings, i37.HttpClient, i39.LogService]), i0.ɵmpd(4608, i65.OdgService, i65.OdgService, [i64.OdgApiService]), i0.ɵmpd(4608, i66.DocumenthequeApiService, i66.DocumenthequeApiService, [i42.ApiSettings, i37.HttpClient]), i0.ɵmpd(4608, i67.DocumenthequeService, i67.DocumenthequeService, [i66.DocumenthequeApiService]), i0.ɵmpd(4608, i68.AppInsightsAnalyticsProvider, i68.AppInsightsAnalyticsProvider, [i33.Title, i44.Router]), i0.ɵmpd(5120, i69.AppSettings, i1.appSettingsFactory, [i70.AppSettingsService]), i0.ɵmpd(4608, i71.GoogleAnalyticsProvider, i71.GoogleAnalyticsProvider, [i44.Router, i69.AppSettings]), i0.ɵmpd(5120, i72.AnalyticsService, i73.analyticsServiceFactory, [i31.Location, i44.Router, i68.AppInsightsAnalyticsProvider, i71.GoogleAnalyticsProvider]), i0.ɵmpd(5120, i74.ɵangular_packages_service_worker_service_worker_a, i74.ɵangular_packages_service_worker_service_worker_d, [i74.SwRegistrationOptions, i0.PLATFORM_ID]), i0.ɵmpd(4608, i74.SwPush, i74.SwPush, [i74.ɵangular_packages_service_worker_service_worker_a]), i0.ɵmpd(4608, i74.SwUpdate, i74.SwUpdate, [i74.ɵangular_packages_service_worker_service_worker_a]), i0.ɵmpd(5120, i44.ActivatedRoute, i44.ɵangular_packages_router_router_g, [i44.Router]), i0.ɵmpd(4608, i44.NoPreloading, i44.NoPreloading, []), i0.ɵmpd(6144, i44.PreloadingStrategy, null, [i44.NoPreloading]), i0.ɵmpd(135680, i44.RouterPreloader, i44.RouterPreloader, [i44.Router, i0.NgModuleFactoryLoader, i0.Compiler, i0.Injector, i44.PreloadingStrategy]), i0.ɵmpd(4608, i44.PreloadAllModules, i44.PreloadAllModules, []), i0.ɵmpd(5120, i44.ɵangular_packages_router_router_o, i44.ɵangular_packages_router_router_c, [i44.Router, i31.ViewportScroller, i44.ROUTER_CONFIGURATION]), i0.ɵmpd(5120, i44.ROUTER_INITIALIZER, i44.ɵangular_packages_router_router_j, [i44.ɵangular_packages_router_router_h]), i0.ɵmpd(5120, i0.APP_BOOTSTRAP_LISTENER, function (p0_0) { return [p0_0]; }, [i44.ROUTER_INITIALIZER]), i0.ɵmpd(4608, i75.AuthGuard, i75.AuthGuard, [i43.AuthenticationService, i44.Router, i39.LogService]), i0.ɵmpd(4608, i76.PromptForNavGuard, i76.PromptForNavGuard, [i62.InteractionService]), i0.ɵmpd(4608, i77.ParametreApiService, i77.ParametreApiService, [i42.ApiSettings, i37.HttpClient]), i0.ɵmpd(4608, i78.LogoRouteService, i78.LogoRouteService, [i42.ApiSettings]), i0.ɵmpd(4608, i79.NavigationService, i79.NavigationService, [i62.InteractionService]), i0.ɵmpd(4608, i80.ApplicationDataService, i80.ApplicationDataService, [i39.LogService, i79.NavigationService, i62.InteractionService, i33.Title]), i0.ɵmpd(4608, i81.ParametreService, i81.ParametreService, [i77.ParametreApiService]), i0.ɵmpd(1073742336, i31.CommonModule, i31.CommonModule, []), i0.ɵmpd(1073742336, i32.ɵangular_packages_forms_forms_d, i32.ɵangular_packages_forms_forms_d, []), i0.ɵmpd(1073742336, i32.FormsModule, i32.FormsModule, []), i0.ɵmpd(1073742336, i82.NguiAutoCompleteModule, i82.NguiAutoCompleteModule, []), i0.ɵmpd(1073742336, i83.SwiperModule, i83.SwiperModule, []), i0.ɵmpd(1073742336, i84.NgSelectModule, i84.NgSelectModule, []), i0.ɵmpd(1073742336, i85.SharedModule, i85.SharedModule, [[3, i85.SharedModule]]), i0.ɵmpd(512, i42.ApiSettings, i42.ApiSettings, []), i0.ɵmpd(512, i39.LogService, i39.LogService, [i42.ApiSettings, i0.NgZone]), i0.ɵmpd(512, i0.ErrorHandler, i86.EliorErrorHandler, [i39.LogService]), i0.ɵmpd(1024, i0.NgProbeToken, function () { return [i44.ɵangular_packages_router_router_b()]; }, []), i0.ɵmpd(512, i44.ɵangular_packages_router_router_h, i44.ɵangular_packages_router_router_h, [i0.Injector]), i0.ɵmpd(256, i74.ɵangular_packages_service_worker_service_worker_b, \"ngsw-worker.js\", []), i0.ɵmpd(256, i74.SwRegistrationOptions, { enabled: true }, []), i0.ɵmpd(512, i70.AppSettingsService, i70.AppSettingsService, []), i0.ɵmpd(1024, i0.APP_INITIALIZER, function (p0_0, p1_0, p2_0, p2_1, p2_2, p2_3, p3_0, p3_1) { return [i33.ɵangular_packages_platform_browser_platform_browser_j(p0_0), i44.ɵangular_packages_router_router_i(p1_0), i74.ɵangular_packages_service_worker_service_worker_c(p2_0, p2_1, p2_2, p2_3), i1.onAppInit(p3_0, p3_1)]; }, [[2, i0.NgProbeToken], i44.ɵangular_packages_router_router_h, i0.Injector, i74.ɵangular_packages_service_worker_service_worker_b, i74.SwRegistrationOptions, i0.PLATFORM_ID, i70.AppSettingsService, i42.ApiSettings]), i0.ɵmpd(512, i0.ApplicationInitStatus, i0.ApplicationInitStatus, [[2, i0.APP_INITIALIZER]]), i0.ɵmpd(131584, i0.ApplicationRef, i0.ApplicationRef, [i0.NgZone, i0.ɵConsole, i0.Injector, i0.ErrorHandler, i0.ComponentFactoryResolver, i0.ApplicationInitStatus]), i0.ɵmpd(1073742336, i0.ApplicationModule, i0.ApplicationModule, [i0.ApplicationRef]), i0.ɵmpd(1073742336, i33.BrowserModule, i33.BrowserModule, [[3, i33.BrowserModule]]), i0.ɵmpd(1073742336, i35.BrowserAnimationsModule, i35.BrowserAnimationsModule, []), i0.ɵmpd(1073742336, i32.ReactiveFormsModule, i32.ReactiveFormsModule, []), i0.ɵmpd(1073742336, i37.HttpClientXsrfModule, i37.HttpClientXsrfModule, []), i0.ɵmpd(1073742336, i37.HttpClientModule, i37.HttpClientModule, []), i0.ɵmpd(1024, i44.ɵangular_packages_router_router_a, i44.ɵangular_packages_router_router_e, [[3, i44.Router]]), i0.ɵmpd(512, i44.UrlSerializer, i44.DefaultUrlSerializer, []), i0.ɵmpd(512, i44.ChildrenOutletContexts, i44.ChildrenOutletContexts, []), i0.ɵmpd(256, i44.ROUTER_CONFIGURATION, {}, []), i0.ɵmpd(1024, i31.LocationStrategy, i44.ɵangular_packages_router_router_d, [i31.PlatformLocation, [2, i31.APP_BASE_HREF], i44.ROUTER_CONFIGURATION]), i0.ɵmpd(512, i31.Location, i31.Location, [i31.LocationStrategy, i31.PlatformLocation]), i0.ɵmpd(512, i0.Compiler, i0.Compiler, []), i0.ɵmpd(512, i0.NgModuleFactoryLoader, i0.SystemJsNgModuleLoader, [i0.Compiler, [2, i0.SystemJsNgModuleLoaderConfig]]), i0.ɵmpd(1024, i44.ROUTES, function () { return [[{ path: \"repas\", component: i87.RepasComponent, canActivate: [i75.AuthGuard], canDeactivate: [i76.PromptForNavGuard], data: i88.ɵ0 }, { path: \"piquenique\", component: i87.RepasComponent, canActivate: [i75.AuthGuard], canDeactivate: [i76.PromptForNavGuard], data: i88.ɵ1 }], [{ path: \"contact\", component: i89.ContactComponent, canActivate: [i75.AuthGuard], data: i90.ɵ0 }], [{ path: \"epicerieinventaire\", component: i91.EpicerieInventaireComponent, canActivate: [i75.AuthGuard], data: i92.ɵ0 }, { path: \"epicerieinventaire/create\", component: i93.EpicerieInventaireCreateComponent, canActivate: [i75.AuthGuard], canDeactivate: [i76.PromptForNavGuard], data: i92.ɵ1 }], [{ path: \"reporting\", component: i94.ReportingComponent, canActivate: [i75.AuthGuard], data: i95.ɵ0 }], [{ path: \"bonlivraison\", component: i96.BonLivraisonComponent, canActivate: [i75.AuthGuard], data: i97.ɵ0 }, { path: \"bonlivraison/livraison/:codeBonLivraison\", component: i98.LivraisonBonLivraisonComponent, canActivate: [i75.AuthGuard], data: i97.ɵ1 }, { path: \"bonlivraison/details/:codeBonLivraison\", redirectTo: \"bonlivraison/reception/:codeBonLivraison\" }, { path: \"bonlivraison/reception/:codeBonLivraison\", component: i99.DetailsBonLivraisonComponent, canActivate: [i75.AuthGuard], data: i97.ɵ2 }], [{ path: \"demande\", component: i100.DiscussionComponent, canActivate: [i75.AuthGuard], data: i101.ɵ0 }], [{ path: \"repas\", component: i87.RepasComponent, canActivate: [i75.AuthGuard], canDeactivate: [i76.PromptForNavGuard], data: i88.ɵ0 }, { path: \"piquenique\", component: i87.RepasComponent, canActivate: [i75.AuthGuard], canDeactivate: [i76.PromptForNavGuard], data: i88.ɵ1 }], [{ path: \"observatoire\", component: i102.OdgComponent, canActivate: [i75.AuthGuard], data: i103.ɵ0 }], [{ path: \"documentheque\", component: i104.DocumenthequeComponent, canActivate: [i75.AuthGuard], data: i105.ɵ0 }], [{ path: \"\", redirectTo: \"/home\", pathMatch: \"full\", canActivate: [i75.AuthGuard] }, { path: \"login\", component: i106.LoginComponent, data: i107.ɵ0 }, { path: \"home\", component: i108.HomeComponent, canActivate: [i75.AuthGuard], data: i107.ɵ1 }, { path: \"sandbox\", component: i109.SandboxComponent, data: i107.ɵ2 }]]; }, []), i0.ɵmpd(1024, i44.Router, i44.ɵangular_packages_router_router_f, [i0.ApplicationRef, i44.UrlSerializer, i44.ChildrenOutletContexts, i31.Location, i0.Injector, i0.NgModuleFactoryLoader, i0.Compiler, i44.ROUTES, i44.ROUTER_CONFIGURATION, [2, i44.UrlHandlingStrategy], [2, i44.RouteReuseStrategy]]), i0.ɵmpd(1073742336, i44.RouterModule, i44.RouterModule, [[2, i44.ɵangular_packages_router_router_a], [2, i44.Router]]), i0.ɵmpd(1073742336, i110.AlertesModule, i110.AlertesModule, []), i0.ɵmpd(1073742336, i88.RepasRoutingModule, i88.RepasRoutingModule, []), i0.ɵmpd(1073742336, i111.RepasModule, i111.RepasModule, []), i0.ɵmpd(1073742336, i90.ContactRoutingModule, i90.ContactRoutingModule, []), i0.ɵmpd(1073742336, i112.ContactModule, i112.ContactModule, []), i0.ɵmpd(1073742336, i92.EpicerieInventaireRoutingModule, i92.EpicerieInventaireRoutingModule, []), i0.ɵmpd(1073742336, i113.EpicerieInventaireModule, i113.EpicerieInventaireModule, []), i0.ɵmpd(1073742336, i95.ReportingRouteModule, i95.ReportingRouteModule, []), i0.ɵmpd(1073742336, i97.BonLivraisonRoutingModule, i97.BonLivraisonRoutingModule, []), i0.ɵmpd(1073742336, i101.DiscussionRoutingModule, i101.DiscussionRoutingModule, []), i0.ɵmpd(1073742336, i114.FileUploadModule, i114.FileUploadModule, []), i0.ɵmpd(1073742336, i115.DiscussionModule, i115.DiscussionModule, []), i0.ɵmpd(1073742336, i116.BonLivraisonModule, i116.BonLivraisonModule, []), i0.ɵmpd(1073742336, i117.OdgReportingModule, i117.OdgReportingModule, []), i0.ɵmpd(1073742336, i118.ReportingModule, i118.ReportingModule, []), i0.ɵmpd(1073742336, i103.OdgRoutingModule, i103.OdgRoutingModule, []), i0.ɵmpd(1073742336, i119.OdgModule, i119.OdgModule, []), i0.ɵmpd(1073742336, i105.DocumenthequeRoutingModule, i105.DocumenthequeRoutingModule, []), i0.ɵmpd(1073742336, i120.DocumenthequeModule, i120.DocumenthequeModule, []), i0.ɵmpd(1073742336, i73.AnalyticsModule, i73.AnalyticsModule, []), i0.ɵmpd(1073742336, i74.ServiceWorkerModule, i74.ServiceWorkerModule, []), i0.ɵmpd(1073742336, i54.ToastrModule, i54.ToastrModule, []), i0.ɵmpd(1073742336, i1.AppModule, i1.AppModule, []), i0.ɵmpd(256, i84.SELECTION_MODEL_FACTORY, i84.ɵb, []), i0.ɵmpd(256, i0.ɵAPP_ROOT, true, []), i0.ɵmpd(256, i35.ANIMATION_MODULE_TYPE, \"BrowserAnimations\", []), i0.ɵmpd(256, i37.ɵangular_packages_common_http_http_e, \"XSRF-TOKEN\", []), i0.ɵmpd(256, i37.ɵangular_packages_common_http_http_f, \"X-XSRF-TOKEN\", []), i0.ɵmpd(256, i54.TOAST_CONFIG, { default: i54.DefaultGlobalConfig, config: { maxOpened: 4, closeButton: true, tapToDismiss: true, countDuplicates: true, positionClass: \"toast-bottom-center\", disableTimeOut: false, onActivateTick: true, enableHtml: true, preventDuplicates: true } }, [])]); });\nexport { AppModuleNgFactory as AppModuleNgFactory };\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { environment } from './environments/environment';\r\nimport { AppModule } from './app/app.module';\r\nimport 'hammerjs';\r\n\r\n// HACK pour cordova: le plugin cordova-plugin-file écrase window.File, ce qui empeche d'instancier un File natif\r\n// du coup on redirige le File natif dans une autre variable avant l'injection de cordova\r\nwindow.NativeFile = File;\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"]}